From 7fed057e591a2f2f6cd4d939112821dce10fd5dd Mon Sep 17 00:00:00 2001 From: Marcel Date: Mon, 6 Apr 2026 22:56:44 +0200 Subject: [PATCH] fix(ui): prevent hero flicker when clearing sender input MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Only navigate (applyFilters) when a person is actually selected, not when the sender input is cleared. Combined with showHero checking data.filters.senderId, the user stays in the search bar view after clearing — no jump back to the hero. Refs: #179 Co-Authored-By: Claude Sonnet 4.6 --- frontend/src/routes/briefwechsel/+page.svelte | 6 ++++-- .../src/routes/briefwechsel/CorrespondenzPersonBar.svelte | 2 +- 2 files changed, 5 insertions(+), 3 deletions(-) diff --git a/frontend/src/routes/briefwechsel/+page.svelte b/frontend/src/routes/briefwechsel/+page.svelte index 7587aa58..38bf1f61 100644 --- a/frontend/src/routes/briefwechsel/+page.svelte +++ b/frontend/src/routes/briefwechsel/+page.svelte @@ -28,6 +28,8 @@ $effect(() => { }); const isSinglePerson = $derived(!!senderId && !receiverId); +const showHero = $derived(!senderId && !data.filters.senderId); + let showAdvanced = $state(false); const RECENT_STORAGE_KEY = 'korrespondenz_recent_persons'; @@ -94,8 +96,8 @@ function selectPerson(id: string) { } -{#if !senderId} - +{#if showHero} +
diff --git a/frontend/src/routes/briefwechsel/CorrespondenzPersonBar.svelte b/frontend/src/routes/briefwechsel/CorrespondenzPersonBar.svelte index e1e69ede..6d2fa29a 100644 --- a/frontend/src/routes/briefwechsel/CorrespondenzPersonBar.svelte +++ b/frontend/src/routes/briefwechsel/CorrespondenzPersonBar.svelte @@ -76,7 +76,7 @@ function handleSuggestionSelect(id: string) { bind:value={senderId} initialName={initialSenderName} restrictToCorrespondentsOf={receiverId || undefined} - onchange={() => onapplyFilters()} + onchange={(id) => { if (id) onapplyFilters(); }} />