diff --git a/web-player/src/lib/components/player/Queue.svelte b/web-player/src/lib/components/player/Queue.svelte index 26964d8..384aff5 100644 --- a/web-player/src/lib/components/player/Queue.svelte +++ b/web-player/src/lib/components/player/Queue.svelte @@ -6,8 +6,6 @@ import IconButton from '$lib/components/ui/primitives/IconButton.svelte'; import { fmtTime } from '$lib/utils/format'; import X from '@lucide/svelte/icons/x'; - import { fly } from 'svelte/transition'; - import { expoOut } from 'svelte/easing'; const upcoming = $derived.by(() => { const idx = player.tracks.findIndex((t) => t.id === player.currentId); @@ -15,10 +13,13 @@ }); -{#if queuePanel.open} +
-{/if} +
diff --git a/web-player/src/routes/layout.css b/web-player/src/routes/layout.css index caba038..90f8b79 100644 --- a/web-player/src/routes/layout.css +++ b/web-player/src/routes/layout.css @@ -191,6 +191,22 @@ transparent 62% ); } +@utility queue-shell { + display: flex; + justify-content: flex-end; + flex-shrink: 0; + overflow: hidden; + width: 0; + visibility: hidden; + transition: + width var(--mf-motion-slow) ease-in-out, + visibility var(--mf-motion-slow); + + &[data-open] { + width: var(--mf-queue-w); + visibility: visible; + } +} @utility app-main { --mf-dock-h: 0px; padding-bottom: calc(var(--mf-nav-h) + var(--mf-safe-b) + var(--mf-dock-h));