From 8e02635560bdbdc15b201d614f5cfb698d3dfce0 Mon Sep 17 00:00:00 2001 From: Sasha Date: Thu, 26 Oct 2023 22:14:42 +0200 Subject: [PATCH] add store functions --- examples/rln-js/src/hooks/useStore.ts | 44 +++++++++++++++++++++------ 1 file changed, 34 insertions(+), 10 deletions(-) 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, + }; +});