soulsync/webui/static
BoulderBadgeDad 5012f44cfa Video: deep-link every sidebar page (URL parity with the music side)
Only the detail page produced a real URL before; top-level video pages (search,
library, discover, calendar, watchlist, wishlist, …) pushed nothing and even
cleared the URL to '/'. Now each page deep-links to '/' + pageId (e.g.
/video-search), mirroring music's '/<page>' and the existing /video-detail/ scheme:

- navigate() pushes/replaces { videoPage } history state; parsePagePath/buildPagePath
  added alongside parseDetailPath/buildDetailPath.
- popstate restores a page URL (and hands the side back to music when Back crosses
  out of /video-*); boot restores a page deep link, re-asserting the URL against
  music's boot clobber (same tactic the detail boot already uses).
- applySide() is now chrome-only; switchSide()/boot drive navigation explicitly.
- Nav anchors carry the real href=/video-<page> (was '#') and the click handler
  lets ⌘/Ctrl/middle-click open a new tab — full parity with the music nav + cards.

Server already serves /video-* via the SPA catch-all; music side untouched
(isolated IIFE). Reload / Back / Forward / new-tab now work for every page.
2026-06-17 16:52:58 -07:00
..
docs
vendor
video Video: deep-link every sidebar page (URL parity with the music side) 2026-06-17 16:52:58 -07:00
amazon.svg
api-monitor.js
artists.png
audiodb.png
auto-sync.js
automation.png
basic-search-v2.css
beatport-ui.js
blocklist.js
core.js
dashboard.png
discover-section-controller.js
discover.js
discover.png
docs-images-needed.md
docs.js
downloads.js
enrichment-manager.js
enrichment.js
explorer.png
favicon.png
help.png
helper.js
hydrabase.png
import.png
init.js
library.js
library.png
manifest.json
media-player.js
mobile.css
my-accounts.js
origin-history.js
pages-extra.js
particles.js
placeholder-album.png
pwa-icon-192.png
pwa-icon-512.png
search.js
search.png
service-switch.js
settings.js fix: video side can configure server connections again, without changing music 2026-06-15 14:59:36 -07:00
settings.png
setup-wizard.css
setup-wizard.js
shared-helpers.js
shell-bridge.js
stats-automations.js
style.css
sw.js
sync-lastfm.js
sync-listenbrainz.js
sync-services.js
sync-soulsync-discovery.js
sync-spotify.js
sync.png
track-detail.js
trans.png
trans2.png
watchlist-history.js
whisoul.png
wishlist-tools.js
worker-orbs.js