diff --git a/src/components/search/SearchFilters.svelte b/src/components/search/SearchFilters.svelte index 6a2517e7..565abb8d 100644 --- a/src/components/search/SearchFilters.svelte +++ b/src/components/search/SearchFilters.svelte @@ -12,32 +12,24 @@ Integrated with searchStore for state management and URL synchronization import SearchButton from "./SearchButton.svelte"; import SearchInput from "./SearchInput.svelte"; import { t } from "../../i18n/store"; - import { searchStore, searchFilters } from "../../stores/searchStore"; + import { searchStore, searchFilters, type SearchFilters } from "../../stores/searchStore"; import FilterIcon from "../../svgs/FilterIcon.svelte"; import DropdownMenu from "../library/Dropdown/DropdownMenu.svelte"; interface Props { - initialFilters?: { - title?: string; - status?: string; - "categories[]"?: string[]; - }; + initialFilters?: SearchFilters; } let { initialFilters }: Props = $props(); // Filter visibility (collapsed by default on all devices) - let filtersOpen = $state(false); + let filtersOpen = $state(true); // Initialize locale and filters when component mounts onMount(() => { // Initialize with server-provided filters if available (without triggering search) if (initialFilters) { - searchStore.initializeFilters({ - title: initialFilters.title || "", - status: initialFilters.status || "", - "categories[]": initialFilters["categories[]"] || [], - }); + searchStore.initializeFilters(initialFilters); } }); @@ -117,7 +109,7 @@ Integrated with searchStore for state management and URL synchronization {#if filtersOpen} -
+