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