diff --git a/webui/static/pages-extra.js b/webui/static/pages-extra.js
index 1cf966a5..f59ceccc 100644
--- a/webui/static/pages-extra.js
+++ b/webui/static/pages-extra.js
@@ -2870,16 +2870,16 @@ function _adlRenderBatchHistory() {
youtube: '255, 0, 0', tidal: '0, 255, 255', deezer: '162, 73, 255',
beatport: '148, 252, 19', listenbrainz: '255, 134, 0'
};
- const dotColor = sourceColors[h.source] || sourceColors[h.source_page] || '255, 255, 255';
- const histDot = ``;
-
- // Optional thumbnail
- const thumb = h.thumb_url
- ? `
`
- : '';Source = h.source || h.source_page || '';
+ const dotSource = h.source || h.source_page || '';
const dotColor = sourceColors[dotSource] || '255, 255, 255';
const dotTip = dotSource ? `Source: ${dotSource}` : 'Unknown source';
- const histDot = ``;
+
+ // Thumbnail with placeholder fallback
+ const thumb = h.thumb_url
+ ? `
`
+ : ``;
+
// Server push status indicator
let pushBadge = '';
if (h.server_push_status) {
diff --git a/webui/static/style.css b/webui/static/style.css
index e73755da..017a1ec1 100644
--- a/webui/static/style.css
+++ b/webui/static/style.css
@@ -57200,6 +57200,20 @@ body.reduce-effects *::after {
flex-shrink: 0;
}
+.adl-batch-history-thumb-placeholder {
+ display: inline-flex;
+ align-items: center;
+ justify-content: center;
+ background: rgba(255, 255, 255, 0.06);
+ border: 1px solid rgba(255, 255, 255, 0.06);
+}
+
+.adl-batch-history-thumb-placeholder::after {
+ content: '♫';
+ font-size: 12px;
+ color: rgba(255, 255, 255, 0.2);
+}
+
.adl-batch-history-content {
flex: 1;
min-width: 0;