soulsync/webui/static/video
BoulderBadgeDad c450fa1f9a video detail: 4 season-nav views + view toggle, real Watchlist, Missing filter
Season selection is now switchable via a view toggle (persisted): poster RAIL
(scrollable season cards w/ coverage), TIMELINE band (segments sized by episode
count, filled by owned), TABS (pills), and the LIST dropdown. All drive the same
selection; episodes fade in on change.

- Watchlist button is now REAL: toggles shows.monitored via POST /api/video/monitor
  (set_monitored), reflects 'In Watchlist' state. show_detail returns monitored.
- 'Get Missing' + a 'Missing only' toolbar toggle filter the episode list to
  unowned episodes (actual downloading is the future acquisition subsystem).

Seam tests for the monitor endpoint + bad-input guards; shell hooks updated.
2026-06-14 17:05:51 -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 detail: 4 season-nav views + view toggle, real Watchlist, Missing filter 2026-06-14 17:05:51 -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 detail: 4 season-nav views + view toggle, real Watchlist, Missing filter 2026-06-14 17:05:51 -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