soulsync/webui/static/video
BoulderBadgeDad 5a2113bd03 video: TV-show detail page (hero + season/episode tree), isolated
Drill-in from a show card: full-bleed backdrop + poster + title/badges/overview +
stat tiles, then seasons->episodes as collapsible accordions with owned/missing
state and per-season coverage bars (season = album, episode = track — inspired by
the music artist page, premium vibe).

- video-detail.js (isolated IIFE) renders from /api/video/detail/show/<id>;
  backdrop/poster via the proxy.
- Show cards dispatch soulsync:video-open-detail; video-side.js navigates to the
  (non-nav) detail subpage; back button reuses data-video-goto.
- Movies stay non-clickable until the movie-detail page lands next.
- .vd-* CSS scoped to the detail page; music untouched. Shell + isolation tests.
2026-06-14 15:59:29 -07:00
..
video-dashboard.js video dashboard: Library card is a live scan tool (parity with music) 2026-06-14 09:28:14 -07:00
video-detail.js video: TV-show detail page (hero + season/episode tree), isolated 2026-06-14 15:59:29 -07:00
video-enrichment-manager.js video enrichment: distinguish transient 'error' from 'not_found' (match music) 2026-06-14 15:34:45 -07:00
video-enrichment.js video: isolated worker-orbs idle animation on the video dashboard 2026-06-14 13:34:10 -07:00
video-library.js video: TV-show detail page (hero + season/episode tree), isolated 2026-06-14 15:59:29 -07:00
video-scan.js video Tools: rehydrate scan state on page refresh (parity with music) 2026-06-14 07:59:44 -07:00
video-settings.js video settings: per-connection Test button (mirrors music's testConnection) 2026-06-14 12:26:15 -07:00
video-side.css video: TV-show detail page (hero + season/episode tree), isolated 2026-06-14 15:59:29 -07:00
video-side.js video: TV-show detail page (hero + season/episode tree), isolated 2026-06-14 15:59:29 -07:00
video-worker-orbs.js video: isolated worker-orbs idle animation on the video dashboard 2026-06-14 13:34:10 -07:00