soulsync/webui/static/video
BoulderBadgeDad 4287385af6 Video watchlist page: server-paged + search bar (like the library)
The page rendered every follow + airing-default show at once (DOM + all posters)
— slow once the watchlist grows. Now it pages like the library:

- /api/video/watchlist?kind=&search=&page=&limit= returns {items, pagination,
  counts}; query_watchlist() filters by title + slices (effective list is
  bounded, so compute-then-slice, not heavier UNION SQL).
- Page reworked to a single grid: Shows/People tabs each load their own page;
  debounced search box; Prev/Next pager; tab badges show totals from counts.
- Only a page of cards (and lazy posters) render at a time.

4 tests added (DB paginate/search + endpoint). 82 video tests green.
2026-06-16 09:40:41 -07:00
..
video-calendar.js Video Calendar: EPG-style guide with a shared time axis + premium polish 2026-06-16 00:35:35 -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: trailer billboard reveals with a left→right wipe + fade 2026-06-15 16:55:00 -07:00
video-enrichment-manager.js video: coverage-card click re-queues failed matches (match music manager) 2026-06-15 14:27:25 -07:00
video-enrichment.js Video side: own server connection (Plex/Jellyfin), music-style picker, isolated 2026-06-15 16:42:22 -07:00
video-library.js Video watchlist (shows + people): DB + endpoints + button + page (v1, no scan yet) 2026-06-16 01:06:24 -07:00
video-person.js video: person page — photos gallery + lightbox + 'also known as' 2026-06-15 11:49:43 -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-search.js video: card hover shows an info badge, not a misleading play button 2026-06-15 11:42:32 -07:00
video-settings.js Video side: own server connection (Plex/Jellyfin), music-style picker, isolated 2026-06-15 16:42:22 -07:00
video-side.css Video watchlist page: server-paged + search bar (like the library) 2026-06-16 09:40:41 -07:00
video-side.js video: fix back-button loop when a 'More Like This' item is owned 2026-06-15 12:18:05 -07:00
video-watchlist-btn.js Watchlist eye: confirm before removing (the standard yes/no dialog) 2026-06-16 09:29:31 -07:00
video-watchlist.js Video watchlist page: server-paged + search bar (like the library) 2026-06-16 09:40:41 -07:00
video-worker-orbs.js video: promote OMDb to a full 3rd enrichment worker (parity with TMDB/TVDB) 2026-06-14 23:07:35 -07:00