43 lines
1.2 KiB
TypeScript
43 lines
1.2 KiB
TypeScript
/* eslint-disable @typescript-eslint/no-explicit-any */
|
|
// src/stores/useUserStore.ts
|
|
import { create } from "zustand";
|
|
|
|
type AppState = {
|
|
isAutoChecking: boolean;
|
|
isCountDown: boolean;
|
|
refreshLog: boolean;
|
|
refreshUsers: boolean;
|
|
captureRegisterImage: any;
|
|
videoRef: any;
|
|
canvasRef: any;
|
|
|
|
// actions
|
|
setIsAutoChecking: (data: boolean) => void;
|
|
setIsCountDown: (data: boolean) => void;
|
|
setRefreshLog: (data: boolean) => void;
|
|
setRefreshUsers: (data: boolean) => void;
|
|
setVideoRef: (data: any) => void;
|
|
setCanvasRef: (data: any) => void;
|
|
setCaptureRegisterImage: (data: any) => void;
|
|
};
|
|
|
|
const useAppStore = create<AppState>((set) => ({
|
|
isAutoChecking: false,
|
|
isCountDown: false,
|
|
captureRegisterImage: null,
|
|
canvasRef: null,
|
|
videoRef: null,
|
|
refreshLog: false,
|
|
refreshUsers: false,
|
|
|
|
setIsAutoChecking: (data) => set({ isAutoChecking: data }),
|
|
setRefreshLog: (data) => set({ refreshLog: data }),
|
|
setRefreshUsers: (data) => set({ refreshUsers: data }),
|
|
setIsCountDown: (data) => set({ isCountDown: data }),
|
|
setCaptureRegisterImage: (data) => set({ captureRegisterImage: data }),
|
|
setVideoRef: (data) => set({ videoRef: data }),
|
|
setCanvasRef: (data) => set({ canvasRef: data }),
|
|
}));
|
|
|
|
export default useAppStore;
|