mirror of
https://github.com/bitsocialnet/5chan.git
synced 2026-08-03 07:41:04 +02:00
persist anon mode state in store
This commit is contained in:
@@ -21,7 +21,10 @@ const useAnonModeStore = create<AnonModeState>((set, get) => ({
|
|||||||
anonMode: true,
|
anonMode: true,
|
||||||
threadSigners: {},
|
threadSigners: {},
|
||||||
addressSigners: {},
|
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) => {
|
setThreadSigner: (postCid: string, signer: any) => {
|
||||||
set((state) => ({
|
set((state) => ({
|
||||||
threadSigners: { ...state.threadSigners, [postCid]: signer },
|
threadSigners: { ...state.threadSigners, [postCid]: signer },
|
||||||
@@ -42,14 +45,20 @@ const initializeAnonModeStore = async () => {
|
|||||||
const entries: [string, any][] = await anonModeStore.entries();
|
const entries: [string, any][] = await anonModeStore.entries();
|
||||||
const threadSigners: { [key: string]: any } = {};
|
const threadSigners: { [key: string]: any } = {};
|
||||||
const addressSigners: { [key: string]: any } = {};
|
const addressSigners: { [key: string]: any } = {};
|
||||||
|
let anonMode = true; // Default value
|
||||||
|
|
||||||
entries.forEach(([key, value]) => {
|
entries.forEach(([key, value]) => {
|
||||||
if (value.address) {
|
if (key === 'anonMode') {
|
||||||
|
anonMode = value;
|
||||||
|
} else if (value.address) {
|
||||||
addressSigners[value.address] = value;
|
addressSigners[value.address] = value;
|
||||||
|
} else {
|
||||||
|
threadSigners[key] = value;
|
||||||
}
|
}
|
||||||
threadSigners[key] = value;
|
|
||||||
});
|
});
|
||||||
|
|
||||||
useAnonModeStore.setState((state) => ({
|
useAnonModeStore.setState((state) => ({
|
||||||
|
anonMode, // Set the retrieved anonMode state
|
||||||
threadSigners: { ...threadSigners, ...state.threadSigners },
|
threadSigners: { ...threadSigners, ...state.threadSigners },
|
||||||
addressSigners: { ...addressSigners, ...state.addressSigners },
|
addressSigners: { ...addressSigners, ...state.addressSigners },
|
||||||
}));
|
}));
|
||||||
@@ -57,4 +66,6 @@ const initializeAnonModeStore = async () => {
|
|||||||
|
|
||||||
initializeAnonModeStore();
|
initializeAnonModeStore();
|
||||||
|
|
||||||
|
initializeAnonModeStore();
|
||||||
|
|
||||||
export default useAnonModeStore;
|
export default useAnonModeStore;
|
||||||
|
|||||||
Reference in New Issue
Block a user