From 723293110d2b0c29eb2bba3ef9b17f04544d02ba Mon Sep 17 00:00:00 2001 From: Bryan Van Deusen Date: Wed, 22 Jul 2026 21:24:29 -0400 Subject: [PATCH] =?UTF-8?q?feat(player):=20scroll=20web=20queue=20to=20now?= =?UTF-8?q?-playing=20track=20on=20open=20(Android=20parity)=20=E2=80=94?= =?UTF-8?q?=20#1931?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit QueueList gains an `active` prop; when it flips true (drawer opens) or on mount (now-playing panel) it centers the current row in view. Index/length are read untracked so it positions once per open rather than following auto-advance, matching the Android queue. QueueDrawer passes active={queueDrawerOpen} since its aside is always mounted. Co-Authored-By: Claude Opus 4.8 (1M context) --- web/src/lib/components/QueueDrawer.svelte | 6 +++++- web/src/lib/components/QueueList.svelte | 26 +++++++++++++++++++++-- 2 files changed, 29 insertions(+), 3 deletions(-) diff --git a/web/src/lib/components/QueueDrawer.svelte b/web/src/lib/components/QueueDrawer.svelte index 075c52f4..fbf6d78b 100644 --- a/web/src/lib/components/QueueDrawer.svelte +++ b/web/src/lib/components/QueueDrawer.svelte @@ -35,5 +35,9 @@ transition-transform duration-200 {player.queueDrawerOpen ? 'translate-x-0' : 'translate-x-full'}" > - closeQueueDrawer()} bind:closeButtonRef={closeButton} /> + closeQueueDrawer()} + active={player.queueDrawerOpen} + bind:closeButtonRef={closeButton} + /> diff --git a/web/src/lib/components/QueueList.svelte b/web/src/lib/components/QueueList.svelte index 4f5ab7e9..1fb2dd48 100644 --- a/web/src/lib/components/QueueList.svelte +++ b/web/src/lib/components/QueueList.svelte @@ -1,4 +1,5 @@