(1);
@@ -94,6 +96,8 @@
);
// ── URL sync ────────────────────────────────────────────────────────────────
+ // Use history.replaceState directly — goto() triggers a SvelteKit navigation
+ // which re-renders the page and steals focus from the input on every keystroke.
$effect(() => {
if (!browser) return;
const params = new URLSearchParams();
@@ -104,7 +108,7 @@
}
const next = params.toString();
if (next !== window.location.search.slice(1)) {
- goto(`?${next}`, { replaceState: true, noScroll: true });
+ history.replaceState(history.state, '', `?${next}`);
}
});
@@ -176,7 +180,10 @@
@@ -198,17 +205,24 @@