fix(#221): reset parent/color/delete state when navigating between tag edit pages

SvelteKit reuses the same +page.svelte instance on client-side navigation,
so $state() initialisations only run on mount. Add an $effect keyed on
data.tag.id to reset parentId, selectedColor and deleteConfirmName whenever
the user switches to a different tag in the admin sidebar.

Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
This commit is contained in:
Marcel
2026-04-16 19:14:28 +02:00
parent 89949977c7
commit 171f06da22

View File

@@ -21,6 +21,16 @@ function getInitialColor() {
let parentId = $state(getInitialParentId());
let selectedColor = $state(getInitialColor());
// SvelteKit reuses the same component instance when navigating between tags client-side.
// $state() only initialises on mount, so we need an effect to reset local form state
// whenever the server switches to a different tag.
$effect(() => {
void data.tag.id; // declare dependency
parentId = data.tag.parentId ?? '';
selectedColor = data.tag.color ?? '';
deleteConfirmName = '';
});
const colors = [
'sage',
'sienna',