From eaad4e21e46b41df59d2fc1047644425fec72d55 Mon Sep 17 00:00:00 2001 From: vabene1111 Date: Sat, 26 Apr 2025 23:00:02 +0200 Subject: [PATCH] search page saves filters, tweaked reset --- vue3/src/pages/SearchPage.vue | 10 +++++++++- vue3/src/stores/UserPreferenceStore.ts | 1 + vue3/src/types/settings.ts | 1 + 3 files changed, 11 insertions(+), 1 deletion(-) diff --git a/vue3/src/pages/SearchPage.vue b/vue3/src/pages/SearchPage.vue index 133e3e472..3f66b9af3 100644 --- a/vue3/src/pages/SearchPage.vue +++ b/vue3/src/pages/SearchPage.vue @@ -173,10 +173,13 @@ const pageSize = useRouteQuery('pageSize', useUserPreferenceStore().deviceSettin */ const availableFilters = computed(() => { let f: Array<{ value: string, title: string }> = [] + useUserPreferenceStore().deviceSettings.search_visibleFilters = [] Object.entries(filters.value).forEach((entry) => { let [key, filter] = entry if (!filter.enabled) { f.push({value: filter.id, title: filter.label}) + } else { + useUserPreferenceStore().deviceSettings.search_visibleFilters.push(filter.id) } }) return f @@ -218,6 +221,11 @@ watch(() => query.value, () => { * perform initial search on mounted */ onMounted(() => { + // load filters that were previously enabled + useUserPreferenceStore().deviceSettings.search_visibleFilters.forEach(f => { + filters.value[f].enabled = true + }) + enableFiltersWithValues() searchRecipes({page: page.value}) }) @@ -260,7 +268,7 @@ function reset() { page.value = 1 query.value = '' Object.values(filters.value).forEach((filter) => { - filter.enabled = false + //filter.enabled = false filter.modelValue = filter.default }) selectedCustomFilter.value = null diff --git a/vue3/src/stores/UserPreferenceStore.ts b/vue3/src/stores/UserPreferenceStore.ts index 380b5c871..36a3d55bf 100644 --- a/vue3/src/stores/UserPreferenceStore.ts +++ b/vue3/src/stores/UserPreferenceStore.ts @@ -196,6 +196,7 @@ export const useUserPreferenceStore = defineStore('user_preference_store', () => search_itemsPerPage: 50, search_viewMode: 'grid', + search_visibleFilters: [], start_showMealPlan: true, diff --git a/vue3/src/types/settings.ts b/vue3/src/types/settings.ts index 1901db143..b1118010e 100644 --- a/vue3/src/types/settings.ts +++ b/vue3/src/types/settings.ts @@ -19,6 +19,7 @@ export type DeviceSettings = { search_itemsPerPage: number, search_viewMode: 'table'|'grid', + search_visibleFilters: String[], start_showMealPlan: boolean,