soulsync/webui/static/video
BoulderBadgeDad 8392de9207 video downloads (phase 1): video-specific download + transfer folders
Foundation for the isolated video download settings. The Downloads tab is almost
entirely music-specific, so on the video side the music download sections are hidden
(video-side.css) and a data-video-only 'Video Download Folders' section takes their
place — an input (download) and output (transfer/library) folder, stored SEPARATELY
from the music soulseek.* paths in video.db's video_settings KV table.

- api/video/downloads.py: GET/POST /api/video/downloads/config (download_path,
  transfer_path), registered in the video blueprint. Imports nothing from music.
- video-settings.js: loadDownloads/saveDownloads wired into onPageShown + the
  video save-button chain.
- The shared 'Indexers & Downloaders' tab is left untouched (identical for both).

2 tests (round-trip + the isolation guard). Quality profile, video hybrid, and the
shared slskd block are the next phases.
2026-06-19 00:04:27 -07:00
..
video-calendar.js Calendar: keep hero side panels >=10% wide + make Compact the default view 2026-06-17 00:03:49 -07:00
video-dashboard.js video dashboard: live system stats (memory + uptime) from the shared endpoint 2026-06-18 21:24:59 -07:00
video-detail.js video enrichment: add Wikidata (official website link) — full parity, completes the batch 2026-06-18 23:13:22 -07:00
video-discover.js Discover: fix grid pagination + session cache + responsive pass 2026-06-16 15:44:36 -07:00
video-enrichment-manager.js video enrichment: keyless workers read 'Disabled' (not 'Not configured') when off 2026-06-18 23:29:22 -07:00
video-enrichment.js video enrichment: keyless workers read 'Disabled' (not 'Not configured') when off 2026-06-18 23:29:22 -07:00
video-get-modal.js Wishlist: episode synopsis + clickable cards + FIFO/newest sort 2026-06-16 18:21:26 -07:00
video-library.js Video: airing shows get BOTH the watchlist eye AND the get/download button 2026-06-16 11:07:53 -07:00
video-person.js Video: wire the eye/get button onto every card surface 2026-06-16 10:41:07 -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 Playlist search result: standard 'Add to Watchlist' button (not 'Follow') 2026-06-17 20:42:30 -07:00
video-settings.js video downloads (phase 1): video-specific download + transfer folders 2026-06-19 00:04:27 -07:00
video-side.css video downloads (phase 1): video-specific download + transfer folders 2026-06-19 00:04:27 -07:00
video-side.js YouTube playlists on the watchlist — frontend (search, detail, watchlist) 2026-06-17 20:33:31 -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 Watchlist cards: show the channel/playlist video count, not '0 videos' 2026-06-17 21:13:33 -07:00
video-wishlist.js YouTube: proxy channel/video images so avatars + thumbnails always load 2026-06-17 08:40:33 -07:00
video-worker-orbs.js video enrichment: show the 5 new workers in the dashboard-header orbs too 2026-06-18 23:22:32 -07:00
video-youtube.js Watchlist cards: show the channel/playlist video count, not '0 videos' 2026-06-17 21:13:33 -07:00