From e70d407ccbf924c34a2130e5c717c29d44802f23 Mon Sep 17 00:00:00 2001 From: a Date: Sun, 3 Jul 2022 11:05:10 -0500 Subject: [PATCH] working persistence in cookie world --- src/lib/storage.ts | 2 +- src/state/state.ts | 23 ++++++++++++++--------- 2 files changed, 15 insertions(+), 10 deletions(-) diff --git a/src/lib/storage.ts b/src/lib/storage.ts index f6d3eca..d68c664 100644 --- a/src/lib/storage.ts +++ b/src/lib/storage.ts @@ -43,7 +43,7 @@ export const StoreStrSet = { } export const StoreColSet = { - Murder: (s:ColumnSet):string=>Array.from(s).join(as), + Murder: (s:ColumnSet):string=>Array.from(s.s.values()).join(as), Revive: (s:string):ColumnSet=>new ColumnSet(s.split(as)) } diff --git a/src/state/state.ts b/src/state/state.ts index 4044f24..41a20c8 100644 --- a/src/state/state.ts +++ b/src/state/state.ts @@ -14,19 +14,24 @@ const _defaultColumn:(ColumnInfo| ColumnName)[] = [ ] export const useStore = defineStore('state', { state: ()=> { - const last_table = getCookie(nameCookie("last_table")) - const last_screen = getCookie(nameCookie("last_screen")) - const last_columns = getCookie(nameCookie("last_columns"))?.split(",") - const last_tags = getCookie(nameCookie("last_tags"))?.split(",") - return { + let store = { invs: new Map() as Map, accounts: new Set() as Set, - activeTable: last_table ? last_table: "none", - screen: last_screen ? last_screen : "default", - columns: last_columns ? new ColumnSet([..._defaultColumn,...last_columns]) : new ColumnSet(_defaultColumn), - tags: last_tags ? new ColumnSet(last_tags) : new ColumnSet(), + activeTable: "none", + screen: "default", + columns:new ColumnSet(_defaultColumn), + tags: new ColumnSet(), dirty: 0, } + for(const [k, v] of Object.entries(StoreReviver)){ + const coke = getCookie(nameCookie("last_"+k)) + if(coke){ + if((store[k as keyof StoreProps]) != undefined){ + (store[k as keyof StoreProps] as any) = v.Revive(coke) + } + } + } + return store } })