From 1c2d925c0515b0322bb81a75eb57dc20086f4045 Mon Sep 17 00:00:00 2001 From: Julien Maille Date: Fri, 2 Jan 2026 00:10:29 +0100 Subject: [PATCH] NEW: collage cover for custom playlists --- js/ui.js | 35 ++++++++++++++++++++++++++++++++++- styles.css | 26 ++++++++++++++++++++++++++ 2 files changed, 60 insertions(+), 1 deletion(-) diff --git a/js/ui.js b/js/ui.js index 2f7f6e5..40ca9fc 100644 --- a/js/ui.js +++ b/js/ui.js @@ -219,10 +219,43 @@ export class UIRenderer { } createUserPlaylistCardHTML(playlist) { + let imageHTML = ''; + + if (playlist.cover) { + imageHTML = `${playlist.name}`; + } else { + const tracks = playlist.tracks || []; + const uniqueCovers = []; + const seenCovers = new Set(); + + for (const track of tracks) { + const cover = track.album?.cover; + if (cover && !seenCovers.has(cover)) { + seenCovers.add(cover); + uniqueCovers.push(cover); + if (uniqueCovers.length >= 4) break; + } + } + + if (uniqueCovers.length >= 2) { + const count = uniqueCovers.length; + const itemsClass = count < 4 ? `items-${count}` : ''; + imageHTML = ` +
+ ${uniqueCovers.map(cover => ``).join('')} +
+ `; + } else if (uniqueCovers.length > 0) { + imageHTML = `${playlist.name}`; + } else { + imageHTML = `${playlist.name}`; + } + } + return `
- ${playlist.name} + ${imageHTML}