From 3a0c0fc9a73ad6104b24dd2dcc738e41565936ce Mon Sep 17 00:00:00 2001 From: florianfederspiel Date: Sat, 8 Nov 2025 18:56:21 +0100 Subject: [PATCH] Added Tempstore Saving --- stores/auth.ts | 4 ++++ stores/temp.js | 39 ++++++++++++++++++++++++++++++++++++++- 2 files changed, 42 insertions(+), 1 deletion(-) diff --git a/stores/auth.ts b/stores/auth.ts index d3fd5a6..7f6a38a 100644 --- a/stores/auth.ts +++ b/stores/auth.ts @@ -17,6 +17,10 @@ export const useAuthStore = defineStore("auth", { async init(token) { await this.fetchMe(token) + const tempStore = useTempStore() + + if(this.profile.temp_config) tempStore.setStoredTempConfig(this.profile.temp_config) + if(useCapacitor().getIsNative()) { navigateTo("/mobile") } else { diff --git a/stores/temp.js b/stores/temp.js index c62e4fa..25c58f5 100644 --- a/stores/temp.js +++ b/stores/temp.js @@ -3,33 +3,68 @@ import {defineStore} from 'pinia' // @ts-ignore export const useTempStore = defineStore('temp', () => { + const auth = useAuthStore() + const searchStrings = ref({}) const filters = ref({}) const columns = ref({}) const pages = ref({}) + const settings = ref({}) + + const storeTempConfig = async () => { + const config = { + searchStrings: searchStrings.value, + columns: columns.value, + pages: pages.value, + settings: settings.value, + } + + await useNuxtApp().$api(`/api/profiles/${auth.profile.id}`,{ + method: 'PUT', + body: {temp_config: config} + }) + } + + function setStoredTempConfig (config) { + searchStrings.value = config.searchStrings + columns.value = config.columns + pages.value = config.pages + settings.value = config.settings + } function modifySearchString(type,input) { searchStrings.value[type] = input + storeTempConfig() } function clearSearchString(type) { searchStrings.value[type] = "" + storeTempConfig() } function modifyFilter(type,input) { filters.value[type] = input + storeTempConfig() } function modifyColumns(type,input) { columns.value[type] = input + storeTempConfig() } function modifyPages(type,input) { pages.value[type] = input + storeTempConfig() + } + + function modifySettings(type,input) { + settings.value[type] = input + storeTempConfig() } return { + setStoredTempConfig, searchStrings, modifySearchString, clearSearchString, @@ -38,7 +73,9 @@ export const useTempStore = defineStore('temp', () => { columns, modifyColumns, modifyPages, - pages + pages, + modifySettings, + settings }