From 3f294df337976f4b44366f2ea632da930ea791e8 Mon Sep 17 00:00:00 2001 From: Stan Runge Date: Sun, 25 Oct 2026 13:21:28 +0000 Subject: [PATCH] music: hours tooltip opens on tap (focus no longer closes it straight away) --- src/routes/trackers/music/+page.svelte | 11 ++++++++--- 1 file changed, 8 insertions(+), 3 deletions(-) diff --git a/src/routes/trackers/music/+page.svelte b/src/routes/trackers/music/+page.svelte index e7114dc..7bd5d8f 100644 --- a/src/routes/trackers/music/+page.svelte +++ b/src/routes/trackers/music/+page.svelte @@ -30,6 +30,8 @@ // arrow keys move between days, Escape closes). let activeDay = $state(null); let focusDay = $state(null); + // Whether the tapped bar was already open before this tap (focus opens it first). + let wasOpen = false; let bars = $state([]); const tabDay = $derived(focusDay ?? s.daily.length - 1); const tipDay = $derived(activeDay === null ? null : s.daily[activeDay]); @@ -178,9 +180,12 @@ onpointerenter={(e) => { if (e.pointerType === 'mouse') activeDay = i; }} - onclick={(e) => { - const mouse = (e as PointerEvent).pointerType === 'mouse'; - activeDay = !mouse && activeDay === i ? null : i; + onpointerdown={(e) => { + wasOpen = e.pointerType !== 'mouse' && activeDay === i; + }} + onclick={() => { + activeDay = wasOpen ? null : i; + wasOpen = false; }} onfocus={() => { focusDay = i;