From 5cda7cb4c1402390311f2a042e7696aece605697 Mon Sep 17 00:00:00 2001 From: XShine555 Date: Thu, 24 Sep 2026 05:25:35 +0200 Subject: [PATCH] web-player: split player, navigation and accent state into focused modules --- .../src/lib/components/layout/Sidebar.svelte | 17 +- .../src/lib/components/layout/TabsBar.svelte | 9 +- .../src/lib/components/layout/TopBar.svelte | 2 +- .../src/lib/components/layout/navLinks.ts | 48 ++++++ .../lib/components/player/PlayerBar.svelte | 2 +- .../src/lib/components/player/Queue.svelte | 2 +- .../lib/components/ui/media/ArtistLink.svelte | 2 +- .../lib/components/ui/media/Artwork.svelte | 10 +- .../lib/components/ui/media/ListRow.svelte | 6 +- .../lib/components/ui/media/MediaCard.svelte | 2 +- .../components/ui/media/MediaIdentity.svelte | 6 +- .../components/ui/overlay/ContextMenu.svelte | 24 +-- .../components/ui/primitives/BackLink.svelte | 2 +- web-player/src/lib/data/search.test.ts | 16 +- web-player/src/lib/data/search.ts | 46 ++--- web-player/src/lib/player/actions.ts | 18 ++ web-player/src/lib/player/mediaSession.ts | 36 ++++ web-player/src/lib/player/player.svelte.ts | 163 ++++-------------- web-player/src/lib/player/progressClock.ts | 36 ++++ web-player/src/lib/player/queue.test.ts | 2 +- web-player/src/lib/player/queue.ts | 2 +- .../src/lib/player/queuePanel.svelte.ts | 3 - web-player/src/lib/player/stream.ts | 25 +++ web-player/src/lib/state/history.svelte.ts | 51 ++++++ web-player/src/lib/state/menus.svelte.ts | 6 +- web-player/src/lib/state/navigation.svelte.ts | 125 -------------- .../{playlists.svelte.ts => panels.svelte.ts} | 1 + web-player/src/lib/state/scroll.ts | 22 +++ web-player/src/lib/theme/accent.svelte.ts | 49 ++++++ web-player/src/lib/theme/color.ts | 4 - web-player/src/lib/theme/palette.ts | 13 +- .../lib/{data => utils}/collections.test.ts | 0 .../src/lib/{data => utils}/collections.ts | 0 web-player/src/lib/utils/hrefs.test.ts | 17 ++ web-player/src/lib/utils/hrefs.ts | 24 +++ web-player/src/lib/utils/menuPosition.ts | 15 ++ .../src/routes/(app)/albums/+page.svelte | 3 +- .../src/routes/(app)/albums/[id]/+page.svelte | 8 +- .../src/routes/(app)/explore/+page.svelte | 67 ++++--- .../src/routes/(app)/liked/+page.svelte | 3 +- .../src/routes/(app)/mixes/[id]/+page.svelte | 3 +- .../src/routes/(app)/playlists/+page.svelte | 7 +- .../routes/(app)/playlists/[id]/+page.svelte | 12 +- .../src/routes/(app)/user/[id]/+page.svelte | 5 +- .../user/[id]/[list=followList]/+page.svelte | 2 +- web-player/src/routes/+layout.svelte | 49 ++---- web-player/src/routes/+page.svelte | 12 +- 47 files changed, 520 insertions(+), 457 deletions(-) create mode 100644 web-player/src/lib/components/layout/navLinks.ts create mode 100644 web-player/src/lib/player/actions.ts create mode 100644 web-player/src/lib/player/mediaSession.ts create mode 100644 web-player/src/lib/player/progressClock.ts delete mode 100644 web-player/src/lib/player/queuePanel.svelte.ts create mode 100644 web-player/src/lib/player/stream.ts create mode 100644 web-player/src/lib/state/history.svelte.ts delete mode 100644 web-player/src/lib/state/navigation.svelte.ts rename web-player/src/lib/state/{playlists.svelte.ts => panels.svelte.ts} (70%) create mode 100644 web-player/src/lib/state/scroll.ts create mode 100644 web-player/src/lib/theme/accent.svelte.ts rename web-player/src/lib/{data => utils}/collections.test.ts (100%) rename web-player/src/lib/{data => utils}/collections.ts (100%) create mode 100644 web-player/src/lib/utils/hrefs.test.ts create mode 100644 web-player/src/lib/utils/hrefs.ts create mode 100644 web-player/src/lib/utils/menuPosition.ts diff --git a/web-player/src/lib/components/layout/Sidebar.svelte b/web-player/src/lib/components/layout/Sidebar.svelte index 144970c..86da1bb 100644 --- a/web-player/src/lib/components/layout/Sidebar.svelte +++ b/web-player/src/lib/components/layout/Sidebar.svelte @@ -1,8 +1,9 @@