diff --git a/webui/static/video/video-automations.js b/webui/static/video/video-automations.js index 181c2212..3bef939e 100644 --- a/webui/static/video/video-automations.js +++ b/webui/static/video/video-automations.js @@ -44,10 +44,21 @@ else host.insertBefore(section, host.firstChild); } + // The hub's built-in tabs are MUSIC content (playlist pipelines, music recipes, + // music quick-start/tips). The video side will get its own content here; for now + // empty those four panes (Reference stays — it's generic automation reference). + var _HUB_EMPTY = { pipelines: 'pipelines', recipes: 'singles', guides: 'quick-start guides', tips: 'tips' }; + function renderHubOnce() { var host = document.querySelector('[data-vauto-list]'); if (!host) return; if (host.querySelector('#auto-section-hub')) return; // build it once; it's static - if (typeof window._buildAutomationHub === 'function') host.appendChild(window._buildAutomationHub()); + if (typeof window._buildAutomationHub !== 'function') return; + var hub = window._buildAutomationHub(); + Object.keys(_HUB_EMPTY).forEach(function (t) { + var pane = hub.querySelector('#auto-hub-pane-' + t); // scoped to the detached hub (no id clash) + if (pane) pane.innerHTML = '
Video ' + _HUB_EMPTY[t] + ' coming soon.
'; + }); + host.appendChild(hub); } function renderStats(sys) { diff --git a/webui/static/video/video-side.css b/webui/static/video/video-side.css index 11bb8ab5..ae7efde4 100644 --- a/webui/static/video/video-side.css +++ b/webui/static/video/video-side.css @@ -3350,3 +3350,7 @@ body[data-side="video"] #soulsync-toggle { display: none; } .vdpg-row-retry:disabled { opacity: 0.5 !important; pointer-events: none; } @media (hover: none) { .vdpg-row-retry { opacity: 1; pointer-events: auto; transform: none; } } + +/* Automation Hub panes that are music-specific — emptied on the video side for now. */ +.vauto-hub-soon { padding: 36px 20px; text-align: center; font-size: 13.5px; font-weight: 600; + color: rgba(255, 255, 255, 0.38); }