diff --git a/webui/static/video/video-get-modal.js b/webui/static/video/video-get-modal.js index bbfa7a98..70069722 100644 --- a/webui/static/video/video-get-modal.js +++ b/webui/static/video/video-get-modal.js @@ -18,6 +18,8 @@ .replace(/&/g, '&').replace(//g, '>').replace(/"/g, '"'); } function toast(msg, type) { if (typeof showToast === 'function') showToast(msg, type); } + // A stable per-title hue so each modal glows in its own colour (the "vibe"). + function hueOf(s) { var h = 0, t = String(s || ''); for (var i = 0; i < t.length; i++) h = (h * 31 + t.charCodeAt(i)) >>> 0; return h % 360; } // A show is "airing" (eye) unless its status says it's finished (get-symbol). function isAiring(status) { @@ -76,6 +78,7 @@ closeModal(); var ov = document.createElement('div'); ov.className = 'vgm-overlay'; + ov.style.setProperty('--vgm-h', hueOf(o.title || '')); // vibe colour (refined in fill) ov.innerHTML = '