From 97c4c1cd6b7f9cb396273bb2cc5f6f90a928244a Mon Sep 17 00:00:00 2001 From: Scott Idem Date: Tue, 9 Jun 2026 12:15:39 -0400 Subject: [PATCH] fix(badges): Remote First uncheck stuck visually checked e.preventDefault() was called for both enable and disable clicks. On disable, it reverted the DOM back to checked before Svelte could sync the store update, leaving it visually stuck. Only prevent default when enabling (to hold the unchecked state during confirmation). Co-Authored-By: Claude Sonnet 4.6 --- .../[event_id]/(badges)/badges/ae_comp__badge_search.svelte | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/src/routes/events/[event_id]/(badges)/badges/ae_comp__badge_search.svelte b/src/routes/events/[event_id]/(badges)/badges/ae_comp__badge_search.svelte index 44f1b15c..385d07a3 100644 --- a/src/routes/events/[event_id]/(badges)/badges/ae_comp__badge_search.svelte +++ b/src/routes/events/[event_id]/(badges)/badges/ae_comp__badge_search.svelte @@ -81,13 +81,13 @@ function handle_search_trigger() { let show_remote_first_confirm = $state(false); function handle_remote_first_click(e: MouseEvent) { - // Always manage state manually so the checkbox never flickers mid-handler. - e.preventDefault(); const checkbox = e.currentTarget as HTMLInputElement; if (checkbox.checked) { - // User wants to enable — show confirmation first. + // User is enabling — hold the checkbox visually unchecked until confirmed. + e.preventDefault(); show_remote_first_confirm = true; } else { + // User is disabling — browser already toggled the DOM to unchecked; just sync the store. badges_loc.current.qry__remote_first = false; show_remote_first_confirm = false; handle_search_trigger();