From a985ff4fb30377f42f2269da70e539e4334429ca Mon Sep 17 00:00:00 2001 From: XShine555 Date: Tue, 22 Sep 2026 14:09:36 +0200 Subject: [PATCH 01/50] Move rune-based state modules into lib/state --- web-player/src/lib/components/Sidebar.svelte | 4 +- web-player/src/lib/components/TabsBar.svelte | 2 +- web-player/src/lib/components/TopBar.svelte | 2 +- .../src/lib/components/ui/BackLink.svelte | 2 +- .../src/lib/player/queuePanel.svelte.ts | 2 +- web-player/src/lib/state/menus.svelte.ts | 25 +++++ web-player/src/lib/state/navigation.svelte.ts | 101 ++++++++++++++++++ web-player/src/lib/state/playlists.svelte.ts | 3 + web-player/src/lib/state/toggle.svelte.ts | 18 ++++ .../src/routes/(app)/explore/+page.svelte | 4 +- .../src/routes/(app)/mixes/[id]/+page.svelte | 2 +- .../src/routes/(app)/playlists/+page.svelte | 2 +- web-player/src/routes/+layout.svelte | 4 +- web-player/src/routes/+page.svelte | 2 +- 14 files changed, 160 insertions(+), 13 deletions(-) create mode 100644 web-player/src/lib/state/menus.svelte.ts create mode 100644 web-player/src/lib/state/navigation.svelte.ts create mode 100644 web-player/src/lib/state/playlists.svelte.ts create mode 100644 web-player/src/lib/state/toggle.svelte.ts diff --git a/web-player/src/lib/components/Sidebar.svelte b/web-player/src/lib/components/Sidebar.svelte index cc8e462..adfa974 100644 --- a/web-player/src/lib/components/Sidebar.svelte +++ b/web-player/src/lib/components/Sidebar.svelte @@ -1,8 +1,8 @@
diff --git a/web-player/src/routes/+layout.svelte b/web-player/src/routes/+layout.svelte index 530f756..ff77a72 100644 --- a/web-player/src/routes/+layout.svelte +++ b/web-player/src/routes/+layout.svelte @@ -9,8 +9,8 @@ import Sidebar from '$lib/components/layout/Sidebar.svelte'; import TopBar from '$lib/components/layout/TopBar.svelte'; import MobileHeader from '$lib/components/layout/MobileHeader.svelte'; - import Modal from '$lib/components/ui/Modal.svelte'; - import PlaylistForm from '$lib/components/ui/PlaylistForm.svelte'; + import Modal from '$lib/components/ui/overlay/Modal.svelte'; + import PlaylistForm from '$lib/components/ui/forms/PlaylistForm.svelte'; import { player } from '$lib/player/player.svelte'; import { queuePanel } from '$lib/player/queuePanel.svelte'; import { liked } from '$lib/player/liked.svelte'; diff --git a/web-player/src/routes/+page.svelte b/web-player/src/routes/+page.svelte index 1047400..686e113 100644 --- a/web-player/src/routes/+page.svelte +++ b/web-player/src/routes/+page.svelte @@ -16,15 +16,15 @@ import { mergeRecentlyPlayed } from '$lib/data/recentlyPlayed'; import { mixItemTrack } from '$lib/data/mixes'; import { fmtTime, fmtDurationLong, fmtPlays, plural } from '$lib/utils/format'; - import Page from '$lib/components/ui/Page.svelte'; - import Artwork from '$lib/components/ui/Artwork.svelte'; - import MediaCard from '$lib/components/ui/MediaCard.svelte'; - import EqBars from '$lib/components/ui/EqBars.svelte'; - import ListRow from '$lib/components/ui/ListRow.svelte'; - import SectionHeading from '$lib/components/ui/SectionHeading.svelte'; - import EmptyState from '$lib/components/ui/EmptyState.svelte'; - import Button from '$lib/components/ui/Button.svelte'; - import ContextMenu from '$lib/components/ui/ContextMenu.svelte'; + import Page from '$lib/components/ui/layout/Page.svelte'; + import Artwork from '$lib/components/ui/media/Artwork.svelte'; + import MediaCard from '$lib/components/ui/media/MediaCard.svelte'; + import EqBars from '$lib/components/ui/media/EqBars.svelte'; + import ListRow from '$lib/components/ui/media/ListRow.svelte'; + import SectionHeading from '$lib/components/ui/layout/SectionHeading.svelte'; + import EmptyState from '$lib/components/ui/primitives/EmptyState.svelte'; + import Button from '$lib/components/ui/primitives/Button.svelte'; + import ContextMenu from '$lib/components/ui/overlay/ContextMenu.svelte'; import ListPlus from '@lucide/svelte/icons/list-plus'; import { createTrackMenu } from '$lib/state/menus.svelte'; import { HOME_CONTINUE_LIMIT, HOME_POPULAR_MAX } from '$lib/config'; diff --git a/web-player/src/routes/login/+page.svelte b/web-player/src/routes/login/+page.svelte index 32427e4..26f0586 100644 --- a/web-player/src/routes/login/+page.svelte +++ b/web-player/src/routes/login/+page.svelte @@ -1,6 +1,6 @@ - + Musify diff --git a/web-player/src/routes/(app)/albums/[id]/+page.svelte b/web-player/src/routes/(app)/albums/[id]/+page.svelte index 4915104..4e65994 100644 --- a/web-player/src/routes/(app)/albums/[id]/+page.svelte +++ b/web-player/src/routes/(app)/albums/[id]/+page.svelte @@ -2,10 +2,6 @@ import { player, toQueueItems, isQueueCurrent, playAllOrToggle } from '$lib/player/player.svelte'; import X from '@lucide/svelte/icons/x'; import Plus from '@lucide/svelte/icons/plus'; - import Play from '@lucide/svelte/icons/play'; - import Pause from '@lucide/svelte/icons/pause'; - import SquarePencil from '@lucide/svelte/icons/square-pen'; - import Trash from '@lucide/svelte/icons/trash'; import Page from '$lib/components/ui/layout/Page.svelte'; import PageHeader from '$lib/components/ui/layout/PageHeader.svelte'; import Modal from '$lib/components/ui/overlay/Modal.svelte'; @@ -76,20 +72,16 @@ {#snippet actions()} {#if isOwner} {/if} diff --git a/web-player/src/routes/(app)/mixes/[id]/+page.svelte b/web-player/src/routes/(app)/mixes/[id]/+page.svelte index fc77fc9..6f1c7a2 100644 --- a/web-player/src/routes/(app)/mixes/[id]/+page.svelte +++ b/web-player/src/routes/(app)/mixes/[id]/+page.svelte @@ -1,6 +1,4 @@