diff --git a/examples/rln-js/src/hooks/useStore.ts b/examples/rln-js/src/hooks/useStore.ts index 0a14faa..b092ffb 100644 --- a/examples/rln-js/src/hooks/useStore.ts +++ b/examples/rln-js/src/hooks/useStore.ts @@ -3,23 +3,47 @@ import { create } from "zustand"; type StoreResult = { appStatus: string; setAppStatus: (v: string) => void; + keystoreStatus: string; setKeystoreStatus: (v: string) => void; + activeCredential: string; + keystoreCredentials: string[]; + setKeystoreCredentials: (v: string[]) => void; + setActiveCredential: (v: string) => void; + wakuStatus: string; setWakuStatus: (v: string) => void; }; const DEFAULT_VALUE = "none"; -export const useStore = create((set) => ({ - appStatus: DEFAULT_VALUE, - setAppStatus: (v: string) => set((state) => ({ ...state, appStatus: v })), +export const useStore = create((set) => { + const generalModule = { + appStatus: DEFAULT_VALUE, + setAppStatus: (v: string) => set((state) => ({ ...state, appStatus: v })), + }; - keystoreStatus: DEFAULT_VALUE, - setKeystoreStatus: (v: string) => - set((state) => ({ ...state, keystoreStatus: v })), + const wakuModule = { + wakuStatus: DEFAULT_VALUE, + setWakuStatus: (v: string) => + set((state) => ({ ...state, keystoreStatus: v })), + }; - wakuStatus: DEFAULT_VALUE, - setWakuStatus: (v: string) => - set((state) => ({ ...state, keystoreStatus: v })), -})); + const keystoreModule = { + keystoreStatus: DEFAULT_VALUE, + setKeystoreStatus: (v: string) => + set((state) => ({ ...state, keystoreStatus: v })), + activeCredential: DEFAULT_VALUE, + keystoreCredentials: [], + setActiveCredential: (v: string) => + set((state) => ({ ...state, activeCredential: v })), + setKeystoreCredentials: (v: string[]) => + set((state) => ({ ...state, keystoreCredentials: v })), + }; + + return { + ...generalModule, + ...wakuModule, + ...keystoreModule, + }; +});