From 7faa7b4e1f22e8d0bbdc9c0090717e3130b365fc Mon Sep 17 00:00:00 2001 From: Bryan Van Deusen Date: Sun, 3 May 2026 14:08:29 -0400 Subject: [PATCH] fix(web): hide Play next / Add to queue on PlayerBar's track menu Those actions don't have meaningful semantics for the track you're already listening to. New TrackMenu prop hideQueueActions gates the pair; PlayerBar passes it true. Other mount sites (track rows in lists) keep the full 8-entry menu. --- web/src/lib/components/PlayerBar.svelte | 2 +- web/src/lib/components/TrackMenu.svelte | 15 +++++++++++---- 2 files changed, 12 insertions(+), 5 deletions(-) diff --git a/web/src/lib/components/PlayerBar.svelte b/web/src/lib/components/PlayerBar.svelte index 3834efe9..e488f51b 100644 --- a/web/src/lib/components/PlayerBar.svelte +++ b/web/src/lib/components/PlayerBar.svelte @@ -71,7 +71,7 @@ - + diff --git a/web/src/lib/components/TrackMenu.svelte b/web/src/lib/components/TrackMenu.svelte index 791d502a..71beab18 100644 --- a/web/src/lib/components/TrackMenu.svelte +++ b/web/src/lib/components/TrackMenu.svelte @@ -29,12 +29,17 @@ let { track, - direction = 'down' + direction = 'down', + hideQueueActions = false }: { track: TrackRef; /** Whether the dropdown opens above the trigger ('up') or below ('down'). Pass 'up' when used near the bottom of the viewport (e.g. PlayerBar). */ direction?: 'up' | 'down'; + /** Hide "Play next" / "Add to queue". Set true on the PlayerBar where + the menu's track IS the currently-playing one — those actions have + no meaningful semantics for the track you're already listening to. */ + hideQueueActions?: boolean; } = $props(); let menuOpen = $state(false); @@ -154,10 +159,12 @@ {direction === 'up' ? 'bottom-full mb-1' : 'top-full mt-1'}" onclick={(e) => e.stopPropagation()} > - - + {#if !hideQueueActions} + + - + + {/if}