SetupStore.ts raw
1 import { SetupNodeInfo } from "src/types";
2 import { create } from "zustand";
3
4 interface SetupStore {
5 readonly nodeInfo: SetupNodeInfo;
6 readonly unlockPassword: string;
7 readonly hasImportedMnemonic: boolean;
8 updateNodeInfo(nodeInfo: SetupNodeInfo): void;
9 setUnlockPassword(unlockPassword: string): void;
10 setHasImportedMnemonic(hasImportedMnemonic: boolean): void;
11 }
12
13 const useSetupStore = create<SetupStore>((set) => ({
14 nodeInfo: {},
15 unlockPassword: "",
16 hasImportedMnemonic: false,
17 updateNodeInfo: (nodeInfo) =>
18 set((state) => ({
19 nodeInfo: { ...state.nodeInfo, ...nodeInfo },
20 })),
21 setUnlockPassword: (unlockPassword) => set({ unlockPassword }),
22 setHasImportedMnemonic: (hasImportedMnemonic) => set({ hasImportedMnemonic }),
23 }));
24
25 export default useSetupStore;
26