@@ -627,67 +629,65 @@ export class UIRenderer {
}
}
-async renderPlaylistPage(playlistId) {
- this.showPage('playlist');
+ async renderPlaylistPage(playlistId) {
+ this.showPage('playlist');
- const imageEl = document.getElementById('playlist-detail-image');
- const titleEl = document.getElementById('playlist-detail-title');
- const metaEl = document.getElementById('playlist-detail-meta');
- const descEl = document.getElementById('playlist-detail-description');
- const tracklistContainer = document.getElementById('playlist-detail-tracklist');
+ const imageEl = document.getElementById('playlist-detail-image');
+ const titleEl = document.getElementById('playlist-detail-title');
+ const metaEl = document.getElementById('playlist-detail-meta');
+ const descEl = document.getElementById('playlist-detail-description');
+ const tracklistContainer = document.getElementById('playlist-detail-tracklist');
const playBtn = document.getElementById('play-playlist-btn');
if (playBtn) playBtn.innerHTML = `${SVG_PLAY}
Play`;
const dlBtn = document.getElementById('download-playlist-btn');
if (dlBtn) dlBtn.innerHTML = `${SVG_DOWNLOAD}
Download`;
imageEl.src = '';
- imageEl.style.backgroundColor = 'var(--muted)';
- titleEl.innerHTML = '
';
- metaEl.innerHTML = '
';
- descEl.innerHTML = '
';
- tracklistContainer.innerHTML = `
-
- ${this.createSkeletonTracks(10, true)}
- `;
-
- try {
- const { playlist, tracks } = await this.api.getPlaylist(playlistId);
-
- const imageId = playlist.squareImage || playlist.image;
- imageEl.src = this.api.getCoverUrl(imageId, '1080');
- imageEl.style.backgroundColor = '';
-
- titleEl.textContent = playlist.title;
-
- this.adjustTitleFontSize(titleEl, playlist.title);
-
- const totalDuration = calculateTotalDuration(tracks);
-
- metaEl.textContent = `${playlist.numberOfTracks} tracks • ${formatDuration(totalDuration)}`;
-
- descEl.textContent = playlist.description || '';
-
+ imageEl.style.backgroundColor = 'var(--muted)';
+ titleEl.innerHTML = '
';
+ metaEl.innerHTML = '
';
+ descEl.innerHTML = '
';
tracklistContainer.innerHTML = `
+ ${this.createSkeletonTracks(10, true)}
`;
- this.renderListWithTracks(tracklistContainer, tracks, true);
-
- recentActivityManager.addPlaylist(playlist);
-
- document.title = `${playlist.title || 'Artist Mix'} - Monochrome`; } catch (error) {
- console.error("Failed to load playlist:", error);
- tracklistContainer.innerHTML = createPlaceholder(`Could not load playlist details. ${error.message}`);
+ try {
+ const { playlist, tracks } = await this.api.getPlaylist(playlistId);
+
+ const imageId = playlist.squareImage || playlist.image;
+ imageEl.src = this.api.getCoverUrl(imageId, '1080');
+ imageEl.style.backgroundColor = '';
+
+ titleEl.textContent = playlist.title;
+ this.adjustTitleFontSize(titleEl, playlist.title);
+
+ const totalDuration = calculateTotalDuration(tracks);
+
+ metaEl.textContent = `${playlist.numberOfTracks} tracks • ${formatDuration(totalDuration)}`;
+ descEl.textContent = playlist.description || '';
+
+ tracklistContainer.innerHTML = `
+
+ `;
+
+ this.renderListWithTracks(tracklistContainer, tracks, true);
+ recentActivityManager.addPlaylist(playlist);
+
+ document.title = `${playlist.title || 'Artist Mix'} - Monochrome`;
+ } catch (error) {
+ console.error("Failed to load playlist:", error);
+ tracklistContainer.innerHTML = createPlaceholder(`Could not load playlist details. ${error.message}`);
+ }
}
-}
async renderArtistPage(artistId) {
this.showPage('artist');