From d02506e893cd63338b46d724d9d32e42a809b044 Mon Sep 17 00:00:00 2001 From: Rob Silverii Date: Sun, 15 Mar 2026 23:07:25 -0700 Subject: [PATCH] fix slider --- src/lib/components/common/Slider.svelte | 19 +++++++++++++++---- src/lib/stores/player.ts | 1 + 2 files changed, 16 insertions(+), 4 deletions(-) diff --git a/src/lib/components/common/Slider.svelte b/src/lib/components/common/Slider.svelte index 8100b9aa..2bbd19b9 100644 --- a/src/lib/components/common/Slider.svelte +++ b/src/lib/components/common/Slider.svelte @@ -37,16 +37,27 @@ return `background: linear-gradient(to right, var(--brand-primary) 0%, var(--brand-primary) ${percentage}%, var(--stroke) ${percentage}%, var(--stroke) 100%)` }) - function handleInput(e: Event) { + function applySnap(e: Event): void { if (snapToCenter !== undefined) { + const target = e.target as HTMLInputElement + const raw = parseFloat(target.value) const mid = (min + max) / 2 - if (Math.abs(value - mid) <= snapToCenter) { + if (Math.abs(raw - mid) <= snapToCenter) { value = mid - ;(e.target as HTMLInputElement).value = String(mid) + target.value = String(mid) } } + } + + function handleInput(e: Event) { + applySnap(e) oninput?.(e) } + + function handleChange(e: Event) { + applySnap(e) + onchange?.(e) + }