diff --git a/web/src/lib/components/alias-filter-select.svelte b/web/src/lib/components/alias-filter-select.svelte index 62dbbc7..ce2c4aa 100644 --- a/web/src/lib/components/alias-filter-select.svelte +++ b/web/src/lib/components/alias-filter-select.svelte @@ -13,12 +13,26 @@ allLabel?: string; } = $props(); - let selectedLabel = $derived(value === "all" ? allLabel : value); + let internalValue = $state(value ?? "all"); + + $effect(() => { + const next = value ?? "all"; + if (internalValue !== next) internalValue = next; + }); + + $effect(() => { + if (internalValue !== "all" && !availableAliases.includes(internalValue)) { + internalValue = "all"; + } + if (value !== internalValue) value = internalValue; + }); + + let selectedLabel = $derived(internalValue === "all" ? allLabel : internalValue);