From 9de545305a67db5d19fbfa1b2def31708b1e1c19 Mon Sep 17 00:00:00 2001
From: JohnBaumb <80135794+JohnBaumb@users.noreply.github.com>
Date: Thu, 23 Apr 2026 12:06:55 -0700
Subject: [PATCH] feat: playlist-type emoji icons as batch history thumbnails
Replace generic music note placeholder with discover-specific emojis
based on playlist name (Fresh Tape=note, Archives=books, Seasonal=leaf,
Popular=fire, Hidden Gems=gem, etc.) with source-based fallbacks
for mirrored/wishlist/album entries.
---
webui/static/pages-extra.js | 20 +++++++++++++++++---
webui/static/style.css | 3 ++-
2 files changed, 19 insertions(+), 4 deletions(-)
diff --git a/webui/static/pages-extra.js b/webui/static/pages-extra.js
index f59ceccc..6b5275f7 100644
--- a/webui/static/pages-extra.js
+++ b/webui/static/pages-extra.js
@@ -2875,10 +2875,24 @@ function _adlRenderBatchHistory() {
const dotTip = dotSource ? `Source: ${dotSource}` : 'Unknown source';
const histDot = ``;
- // Thumbnail with placeholder fallback
+ // Thumbnail with playlist-type icon fallback
+ let placeholderIcon = '♫';
+ const pName = (h.playlist_name || '').toLowerCase();
+ if (pName.includes('fresh tape') || pName.includes('release radar')) placeholderIcon = '🎵';
+ else if (pName.includes('archives') || pName.includes('discovery weekly')) placeholderIcon = '📚';
+ else if (pName.includes('seasonal')) placeholderIcon = '🌿';
+ else if (pName.includes('popular picks')) placeholderIcon = '🔥';
+ else if (pName.includes('hidden gems')) placeholderIcon = '💎';
+ else if (pName.includes('discovery shuffle')) placeholderIcon = '🔀';
+ else if (pName.includes('familiar fav')) placeholderIcon = '❤️';
+ else if (pName.includes('jam')) placeholderIcon = '🎸';
+ else if (pName.includes('explor')) placeholderIcon = '🔭';
+ else if (dotSource === 'mirrored' || dotSource === 'youtube') placeholderIcon = '🔗';
+ else if (dotSource === 'wishlist') placeholderIcon = '⭐';
+ else if (dotSource === 'album') placeholderIcon = '💿';
const thumb = h.thumb_url
- ? `
`
- : ``;
+ ? `
`
+ : `${placeholderIcon}`;
// Server push status indicator
let pushBadge = '';
diff --git a/webui/static/style.css b/webui/static/style.css
index 017a1ec1..13eb0790 100644
--- a/webui/static/style.css
+++ b/webui/static/style.css
@@ -57206,9 +57206,10 @@ body.reduce-effects *::after {
justify-content: center;
background: rgba(255, 255, 255, 0.06);
border: 1px solid rgba(255, 255, 255, 0.06);
+ font-size: 14px;
}
-.adl-batch-history-thumb-placeholder::after {
+.adl-batch-history-thumb-placeholder:empty::after {
content: '♫';
font-size: 12px;
color: rgba(255, 255, 255, 0.2);