diff --git a/js/downloads.js b/js/downloads.js index df5f4cf..559fb72 100644 --- a/js/downloads.js +++ b/js/downloads.js @@ -9,6 +9,7 @@ import { SVG_CLOSE, getCoverBlob, getExtensionFromBlob, + escapeHtml, } from './utils.js'; import { lyricsSettings, bulkDownloadSettings, playlistSettings } from './storage.js'; import { addMetadataToAudio } from './metadata.js'; @@ -45,11 +46,11 @@ export function showNotification(message) { const notifEl = document.createElement('div'); notifEl.className = 'download-task'; - notifEl.innerHTML = ` -
Unreleased Track
Artist: ${Array.isArray(item.artists) ? item.artists.map((a) => a.name || a).join(', ') : item.artists}
` : ''} - ${item.trackerInfo.artist ? `Tracked Artist: ${item.trackerInfo.artist}
` : ''} - ${item.trackerInfo.project ? `Project: ${item.trackerInfo.project}
` : ''} - ${item.trackerInfo.era ? `Era: ${item.trackerInfo.era}
` : ''} - ${item.trackerInfo.timeline ? `Timeline: ${item.trackerInfo.timeline}
` : ''} - ${item.trackerInfo.category ? `Category: ${item.trackerInfo.category}
` : ''} - ${item.trackerInfo.trackNumber ? `Track Number: ${item.trackerInfo.trackNumber}
` : ''} -Duration: ${formatTime(item.duration)}
- ${releaseDate !== 'Unknown' ? `Release Date: ${dateDisplay}
` : ''} - ${item.trackerInfo.addedDate ? `Added to Tracker: ${addedDate}
` : ''} - ${item.trackerInfo.leakedDate ? `Leak Date: ${new Date(item.trackerInfo.leakedDate).toLocaleDateString()}
` : ''} - ${item.trackerInfo.recordingDate ? `Recording Date: ${new Date(item.trackerInfo.recordingDate).toLocaleDateString()}
` : ''} + ${item.artists ? `Artist: ${escapeHtml(Array.isArray(item.artists) ? item.artists.map((a) => a.name || a).join(', ') : item.artists)}
` : ''} + ${item.trackerInfo.artist ? `Tracked Artist: ${escapeHtml(item.trackerInfo.artist)}
` : ''} + ${item.trackerInfo.project ? `Project: ${escapeHtml(item.trackerInfo.project)}
` : ''} + ${item.trackerInfo.era ? `Era: ${escapeHtml(item.trackerInfo.era)}
` : ''} + ${item.trackerInfo.timeline ? `Timeline: ${escapeHtml(item.trackerInfo.timeline)}
` : ''} + ${item.trackerInfo.category ? `Category: ${escapeHtml(item.trackerInfo.category)}
` : ''} + ${item.trackerInfo.trackNumber ? `Track Number: ${escapeHtml(String(item.trackerInfo.trackNumber))}
` : ''} +Duration: ${escapeHtml(formatTime(item.duration))}
+ ${releaseDate !== 'Unknown' ? `Release Date: ${escapeHtml(dateDisplay)}
` : ''} + ${item.trackerInfo.addedDate ? `Added to Tracker: ${escapeHtml(addedDate)}
` : ''} + ${item.trackerInfo.leakedDate ? `Leak Date: ${escapeHtml(new Date(item.trackerInfo.leakedDate).toLocaleDateString())}
` : ''} + ${item.trackerInfo.recordingDate ? `Recording Date: ${escapeHtml(new Date(item.trackerInfo.recordingDate).toLocaleDateString())}
` : ''}Description
-${item.trackerInfo.description}
+${escapeHtml(item.trackerInfo.description)}
Notes
-${item.trackerInfo.notes}
+${escapeHtml(item.trackerInfo.notes)}
Track ID: ${item.id}
` : ''} + ${item.id ? `Track ID: ${escapeHtml(item.id)}
` : ''}Artist: ${getTrackArtists(item)}
-Album: ${item.album?.title || 'Unknown'}
- ${item.album?.artist?.name ? `Album Artist: ${item.album.artist.name}
` : ''} -Release Date: ${dateDisplay}
-Duration: ${formatTime(item.duration)}
- ${item.trackNumber ? `Track Number: ${item.trackNumber}
` : ''} - ${item.discNumber ? `Disc Number: ${item.discNumber}
` : ''} - ${item.version ? `Version: ${item.version}
` : ''} +Artist: ${escapeHtml(getTrackArtists(item))}
+Album: ${escapeHtml(item.album?.title || 'Unknown')}
+ ${item.album?.artist?.name ? `Album Artist: ${escapeHtml(item.album.artist.name)}
` : ''} +Release Date: ${escapeHtml(dateDisplay)}
+Duration: ${escapeHtml(formatTime(item.duration))}
+ ${item.trackNumber ? `Track Number: ${escapeHtml(String(item.trackNumber))}
` : ''} + ${item.discNumber ? `Disc Number: ${escapeHtml(String(item.discNumber))}
` : ''} + ${item.version ? `Version: ${escapeHtml(item.version)}
` : ''} ${item.explicit ? `Explicit: Yes
` : ''} -Quality: ${quality} ${bitrate ? `(${bitrate})` : ''}
+Quality: ${escapeHtml(quality)} ${bitrate ? `(${escapeHtml(bitrate)})` : ''}
Credits
${c.type}: ${c.name}
`).join('')} + ${item.credits.map((c) => `${escapeHtml(c.type)}: ${escapeHtml(c.name)}
`).join('')}Composers: ${item.composers.map((c) => c.name).join(', ')}
+Composers: ${escapeHtml(item.composers.map((c) => c.name).join(', '))}
` : '' } @@ -1329,10 +1330,10 @@ export async function handleTrackAction( : '' } - ${item.id ? `Track ID: ${item.id}
` : ''} - ${item.album?.id ? `Album ID: ${item.album.id}
` : ''} + ${item.id ? `Track ID: ${escapeHtml(item.id)}
` : ''} + ${item.album?.id ? `Album ID: ${escapeHtml(item.album.id)}
` : ''}