From 7fcf0645dabbdc7aac895766e7bec61d82797ce4 Mon Sep 17 00:00:00 2001 From: XShine555 Date: Tue, 22 Sep 2026 14:16:25 +0200 Subject: [PATCH] Categorize components/ui into primitives, overlay, media, forms and layout Splits the flat 38-component ui/ folder into primitives/ (generic controls), overlay/ (menus/modals), media/ (music-domain display components), forms/ (composite entity forms) and layout/ (page scaffolding), and updates every import path accordingly. --- .../lib/components/layout/MobileHeader.svelte | 10 +++---- .../src/lib/components/layout/Sidebar.svelte | 6 ++--- .../src/lib/components/layout/TopBar.svelte | 8 +++--- .../lib/components/player/PlayerBar.svelte | 4 +-- .../lib/components/player/PlayerDock.svelte | 2 +- .../src/lib/components/player/Queue.svelte | 6 ++--- .../lib/components/player/TrackInfo.svelte | 8 +++--- .../player/TransportControls.svelte | 2 +- .../ui/{ => forms}/AlbumForm.svelte | 6 ++--- .../ui/{ => forms}/CoverForm.svelte | 6 ++--- .../ui/{ => forms}/ImageDropzone.svelte | 0 .../ui/{ => forms}/PlaylistForm.svelte | 8 +++--- .../components/ui/{ => layout}/Page.svelte | 0 .../ui/{ => layout}/PageHeader.svelte | 0 .../ui/{ => layout}/SectionHeading.svelte | 0 .../ui/{ => media}/ArtistLink.svelte | 0 .../components/ui/{ => media}/Artwork.svelte | 0 .../components/ui/{ => media}/Avatar.svelte | 0 .../components/ui/{ => media}/EqBars.svelte | 0 .../ui/{ => media}/ExplicitBadge.svelte | 0 .../components/ui/{ => media}/ListRow.svelte | 0 .../ui/{ => media}/MediaCard.svelte | 0 .../ui/{ => media}/MediaIdentity.svelte | 0 .../ui/{ => media}/PlayButton.svelte | 0 .../ui/{ => media}/TrackList.svelte | 2 +- .../ui/{ => overlay}/AccountMenu.svelte | 0 .../ui/{ => overlay}/ConfirmDialog.svelte | 2 +- .../ui/{ => overlay}/ContextMenu.svelte | 2 +- .../ui/{ => overlay}/GlassMenu.svelte | 0 .../ui/{ => overlay}/MenuItem.svelte | 0 .../components/ui/{ => overlay}/Modal.svelte | 2 +- .../ui/{ => primitives}/Alert.svelte | 0 .../ui/{ => primitives}/BackLink.svelte | 0 .../ui/{ => primitives}/Button.svelte | 0 .../ui/{ => primitives}/Checkbox.svelte | 0 .../ui/{ => primitives}/Chip.svelte | 0 .../ui/{ => primitives}/EmptyState.svelte | 0 .../ui/{ => primitives}/Field.svelte | 0 .../ui/{ => primitives}/IconButton.svelte | 0 .../ui/{ => primitives}/InfiniteScroll.svelte | 0 .../ui/{ => primitives}/Input.svelte | 0 .../ui/{ => primitives}/Logo.svelte | 0 .../{ => primitives}/SegmentedControl.svelte | 0 .../ui/{ => primitives}/Slider.svelte | 0 .../ui/{ => primitives}/Surface.svelte | 0 .../ui/{ => primitives}/Textarea.svelte | 0 web-player/src/lib/state/menus.svelte.ts | 2 +- .../src/routes/(app)/albums/+page.svelte | 14 +++++----- .../src/routes/(app)/albums/[id]/+page.svelte | 22 ++++++++-------- .../src/routes/(app)/explore/+page.svelte | 26 +++++++++---------- .../src/routes/(app)/library/+page.svelte | 10 +++---- .../src/routes/(app)/liked/+page.svelte | 10 +++---- .../src/routes/(app)/mixes/[id]/+page.svelte | 16 ++++++------ .../src/routes/(app)/playlists/+page.svelte | 10 +++---- .../routes/(app)/playlists/[id]/+page.svelte | 18 ++++++------- .../src/routes/(app)/u/[id]/+page.svelte | 14 +++++----- .../src/routes/(app)/upload/+page.svelte | 18 ++++++------- web-player/src/routes/+error.svelte | 2 +- web-player/src/routes/+layout.svelte | 4 +-- web-player/src/routes/+page.svelte | 18 ++++++------- web-player/src/routes/login/+page.svelte | 4 +-- 61 files changed, 131 insertions(+), 131 deletions(-) rename web-player/src/lib/components/ui/{ => forms}/AlbumForm.svelte (92%) rename web-player/src/lib/components/ui/{ => forms}/CoverForm.svelte (93%) rename web-player/src/lib/components/ui/{ => forms}/ImageDropzone.svelte (100%) rename web-player/src/lib/components/ui/{ => forms}/PlaylistForm.svelte (91%) rename web-player/src/lib/components/ui/{ => layout}/Page.svelte (100%) rename web-player/src/lib/components/ui/{ => layout}/PageHeader.svelte (100%) rename web-player/src/lib/components/ui/{ => layout}/SectionHeading.svelte (100%) rename web-player/src/lib/components/ui/{ => media}/ArtistLink.svelte (100%) rename web-player/src/lib/components/ui/{ => media}/Artwork.svelte (100%) rename web-player/src/lib/components/ui/{ => media}/Avatar.svelte (100%) rename web-player/src/lib/components/ui/{ => media}/EqBars.svelte (100%) rename web-player/src/lib/components/ui/{ => media}/ExplicitBadge.svelte (100%) rename web-player/src/lib/components/ui/{ => media}/ListRow.svelte (100%) rename web-player/src/lib/components/ui/{ => media}/MediaCard.svelte (100%) rename web-player/src/lib/components/ui/{ => media}/MediaIdentity.svelte (100%) rename web-player/src/lib/components/ui/{ => media}/PlayButton.svelte (100%) rename web-player/src/lib/components/ui/{ => media}/TrackList.svelte (98%) rename web-player/src/lib/components/ui/{ => overlay}/AccountMenu.svelte (100%) rename web-player/src/lib/components/ui/{ => overlay}/ConfirmDialog.svelte (93%) rename web-player/src/lib/components/ui/{ => overlay}/ContextMenu.svelte (98%) rename web-player/src/lib/components/ui/{ => overlay}/GlassMenu.svelte (100%) rename web-player/src/lib/components/ui/{ => overlay}/MenuItem.svelte (100%) rename web-player/src/lib/components/ui/{ => overlay}/Modal.svelte (97%) rename web-player/src/lib/components/ui/{ => primitives}/Alert.svelte (100%) rename web-player/src/lib/components/ui/{ => primitives}/BackLink.svelte (100%) rename web-player/src/lib/components/ui/{ => primitives}/Button.svelte (100%) rename web-player/src/lib/components/ui/{ => primitives}/Checkbox.svelte (100%) rename web-player/src/lib/components/ui/{ => primitives}/Chip.svelte (100%) rename web-player/src/lib/components/ui/{ => primitives}/EmptyState.svelte (100%) rename web-player/src/lib/components/ui/{ => primitives}/Field.svelte (100%) rename web-player/src/lib/components/ui/{ => primitives}/IconButton.svelte (100%) rename web-player/src/lib/components/ui/{ => primitives}/InfiniteScroll.svelte (100%) rename web-player/src/lib/components/ui/{ => primitives}/Input.svelte (100%) rename web-player/src/lib/components/ui/{ => primitives}/Logo.svelte (100%) rename web-player/src/lib/components/ui/{ => primitives}/SegmentedControl.svelte (100%) rename web-player/src/lib/components/ui/{ => primitives}/Slider.svelte (100%) rename web-player/src/lib/components/ui/{ => primitives}/Surface.svelte (100%) rename web-player/src/lib/components/ui/{ => primitives}/Textarea.svelte (100%) diff --git a/web-player/src/lib/components/layout/MobileHeader.svelte b/web-player/src/lib/components/layout/MobileHeader.svelte index 3629bba..e219c10 100644 --- a/web-player/src/lib/components/layout/MobileHeader.svelte +++ b/web-player/src/lib/components/layout/MobileHeader.svelte @@ -3,11 +3,11 @@ import Upload from '@lucide/svelte/icons/upload'; import Folder from '@lucide/svelte/icons/folder'; import LogIn from '@lucide/svelte/icons/log-in'; - import MenuItem from '../ui/MenuItem.svelte'; - import AccountMenu from '../ui/AccountMenu.svelte'; - import Avatar from '../ui/Avatar.svelte'; - import IconButton from '../ui/IconButton.svelte'; - import Logo from '../ui/Logo.svelte'; + import MenuItem from '../ui/overlay/MenuItem.svelte'; + import AccountMenu from '../ui/overlay/AccountMenu.svelte'; + import Avatar from '../ui/media/Avatar.svelte'; + import IconButton from '../ui/primitives/IconButton.svelte'; + import Logo from '../ui/primitives/Logo.svelte'; interface Props { user: SessionUser | null; diff --git a/web-player/src/lib/components/layout/Sidebar.svelte b/web-player/src/lib/components/layout/Sidebar.svelte index b66d032..d80d5d6 100644 --- a/web-player/src/lib/components/layout/Sidebar.svelte +++ b/web-player/src/lib/components/layout/Sidebar.svelte @@ -4,9 +4,9 @@ import { liked } from '$lib/player/liked.svelte'; import { createPlaylistModal } from '$lib/state/playlists.svelte'; import type { SessionUser } from '$lib/types'; - import ListRow from '../ui/ListRow.svelte'; - import IconButton from '../ui/IconButton.svelte'; - import Logo from '../ui/Logo.svelte'; + import ListRow from '../ui/media/ListRow.svelte'; + import IconButton from '../ui/primitives/IconButton.svelte'; + import Logo from '../ui/primitives/Logo.svelte'; import Plus from '@lucide/svelte/icons/plus'; interface SidebarPlaylist { diff --git a/web-player/src/lib/components/layout/TopBar.svelte b/web-player/src/lib/components/layout/TopBar.svelte index ed28306..667faac 100644 --- a/web-player/src/lib/components/layout/TopBar.svelte +++ b/web-player/src/lib/components/layout/TopBar.svelte @@ -7,10 +7,10 @@ import Search from '@lucide/svelte/icons/search'; import X from '@lucide/svelte/icons/x'; import ChevronLeft from '@lucide/svelte/icons/chevron-left'; - import AccountMenu from '../ui/AccountMenu.svelte'; - import Avatar from '../ui/Avatar.svelte'; - import IconButton from '../ui/IconButton.svelte'; - import Button from '../ui/Button.svelte'; + import AccountMenu from '../ui/overlay/AccountMenu.svelte'; + import Avatar from '../ui/media/Avatar.svelte'; + import IconButton from '../ui/primitives/IconButton.svelte'; + import Button from '../ui/primitives/Button.svelte'; interface Props { user: SessionUser | null; diff --git a/web-player/src/lib/components/player/PlayerBar.svelte b/web-player/src/lib/components/player/PlayerBar.svelte index 33e5152..6b85a1e 100644 --- a/web-player/src/lib/components/player/PlayerBar.svelte +++ b/web-player/src/lib/components/player/PlayerBar.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 @@