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));