From 82ae9261805a97562722d057e771a1ead19531ba Mon Sep 17 00:00:00 2001 From: "Tom (plebeius.eth)" Date: Wed, 7 Aug 2024 14:11:27 +0200 Subject: [PATCH] persist anon mode state in store --- src/stores/use-anon-mode-store.ts | 17 ++++++++++++++--- 1 file changed, 14 insertions(+), 3 deletions(-) diff --git a/src/stores/use-anon-mode-store.ts b/src/stores/use-anon-mode-store.ts index c64b1a3d..d20ea97a 100644 --- a/src/stores/use-anon-mode-store.ts +++ b/src/stores/use-anon-mode-store.ts @@ -21,7 +21,10 @@ const useAnonModeStore = create((set, get) => ({ anonMode: true, threadSigners: {}, addressSigners: {}, - setAnonMode: (mode: boolean) => set({ anonMode: mode }), + setAnonMode: (mode: boolean) => { + set({ anonMode: mode }); + anonModeStore.setItem('anonMode', mode); // Persist anonMode state + }, setThreadSigner: (postCid: string, signer: any) => { set((state) => ({ threadSigners: { ...state.threadSigners, [postCid]: signer }, @@ -42,14 +45,20 @@ const initializeAnonModeStore = async () => { const entries: [string, any][] = await anonModeStore.entries(); const threadSigners: { [key: string]: any } = {}; const addressSigners: { [key: string]: any } = {}; + let anonMode = true; // Default value + entries.forEach(([key, value]) => { - if (value.address) { + if (key === 'anonMode') { + anonMode = value; + } else if (value.address) { addressSigners[value.address] = value; + } else { + threadSigners[key] = value; } - threadSigners[key] = value; }); useAnonModeStore.setState((state) => ({ + anonMode, // Set the retrieved anonMode state threadSigners: { ...threadSigners, ...state.threadSigners }, addressSigners: { ...addressSigners, ...state.addressSigners }, })); @@ -57,4 +66,6 @@ const initializeAnonModeStore = async () => { initializeAnonModeStore(); +initializeAnonModeStore(); + export default useAnonModeStore;