From b205fedde6538ae7db4c2622097a4c4ba546d7a2 Mon Sep 17 00:00:00 2001 From: Thomas Richter Date: Sun, 1 Feb 2026 23:16:49 +0100 Subject: [PATCH] fix: remove deleted tags from filter automatically When a tag is deleted as orphaned, it's now automatically removed from the active filter selection. Co-Authored-By: Claude Opus 4.5 --- src/lib/components/FilterBar.svelte | 9 +++++++++ 1 file changed, 9 insertions(+) diff --git a/src/lib/components/FilterBar.svelte b/src/lib/components/FilterBar.svelte index 0634b28..247982e 100644 --- a/src/lib/components/FilterBar.svelte +++ b/src/lib/components/FilterBar.svelte @@ -13,6 +13,7 @@ // Transform tags to Svelecte format let tagOptions = $derived(availableTags.map((t) => ({ value: t.name, label: t.name }))); + let availableTagNames = $derived(new Set(availableTags.map((t) => t.name.toLowerCase()))); // Track selected tag names for Svelecte let selectedTagNames = $state(filters.tags); @@ -22,6 +23,14 @@ selectedTagNames = filters.tags; }); + // Remove deleted tags from filter when availableTags changes + $effect(() => { + const validTags = filters.tags.filter((t) => availableTagNames.has(t.toLowerCase())); + if (validTags.length !== filters.tags.length) { + onchange({ ...filters, tags: validTags }); + } + }); + function handleTypeChange(newType: 'task' | 'thought' | 'all') { onchange({ ...filters, type: newType }); }