refactor(mobile): more look and feel work
All checks were successful
Build and Push LST Docker Image / docker (push) Successful in 1m17s
All checks were successful
Build and Push LST Docker Image / docker (push) Successful in 1m17s
This commit is contained in:
@@ -33,10 +33,8 @@ type AppActions = {
|
||||
setValidationStatus: (status: ValidationStatus, validatedAt?: string) => void;
|
||||
setAppVersion: (value?: string) => void;
|
||||
setHasHydrated: (value: boolean) => void;
|
||||
|
||||
updateAppState: (updates: Partial<AppState>) => void;
|
||||
resetApp: () => void;
|
||||
|
||||
hasValidSetup: () => boolean;
|
||||
canEnterApp: () => boolean;
|
||||
getServerUrl: () => string;
|
||||
@@ -50,15 +48,11 @@ const defaultAppState: AppState = {
|
||||
scannerId: "0001",
|
||||
stageId: undefined,
|
||||
deviceName: undefined,
|
||||
|
||||
setupCompleted: false,
|
||||
isRegistered: false,
|
||||
|
||||
lastValidationStatus: "idle",
|
||||
lastValidationAt: undefined,
|
||||
|
||||
appVersion: undefined,
|
||||
|
||||
hasHydrated: false,
|
||||
};
|
||||
|
||||
@@ -74,28 +68,23 @@ export const useAppStore = create<AppStore>()(
|
||||
setDeviceName: (value) => set({ deviceName: value }),
|
||||
setSetupCompleted: (value) => set({ setupCompleted: value }),
|
||||
setIsRegistered: (value) => set({ isRegistered: value }),
|
||||
|
||||
setValidationStatus: (status, validatedAt) =>
|
||||
set({
|
||||
lastValidationStatus: status,
|
||||
lastValidationAt: validatedAt,
|
||||
}),
|
||||
|
||||
setAppVersion: (value) => set({ appVersion: value }),
|
||||
setHasHydrated: (value) => set({ hasHydrated: value }),
|
||||
|
||||
updateAppState: (updates) =>
|
||||
set((state) => ({
|
||||
...state,
|
||||
...updates,
|
||||
})),
|
||||
|
||||
resetApp: () =>
|
||||
set({
|
||||
...defaultAppState,
|
||||
hasHydrated: true,
|
||||
}),
|
||||
|
||||
hasValidSetup: () => {
|
||||
const state = get();
|
||||
return Boolean(
|
||||
@@ -104,7 +93,6 @@ export const useAppStore = create<AppStore>()(
|
||||
state.setupCompleted,
|
||||
);
|
||||
},
|
||||
|
||||
canEnterApp: () => {
|
||||
const state = get();
|
||||
return Boolean(
|
||||
|
||||
31
lstMobile/src/hooks/useScannerStore.ts
Normal file
31
lstMobile/src/hooks/useScannerStore.ts
Normal file
@@ -0,0 +1,31 @@
|
||||
import { create } from "zustand";
|
||||
|
||||
type LastScan = {
|
||||
action?: string;
|
||||
type?: "success" | "error" | string;
|
||||
prompt?: string;
|
||||
message?: string;
|
||||
timestamp?: number;
|
||||
};
|
||||
|
||||
type ScannerStore = {
|
||||
lastScan: LastScan | null;
|
||||
setLastScan: (scan: LastScan | null) => void;
|
||||
clearLastScan: () => void;
|
||||
};
|
||||
|
||||
export const useScannerStore = create<ScannerStore>((set) => ({
|
||||
lastScan: null,
|
||||
|
||||
setLastScan: (scan) =>
|
||||
set({
|
||||
lastScan: scan
|
||||
? {
|
||||
...scan,
|
||||
timestamp: Date.now(),
|
||||
}
|
||||
: null,
|
||||
}),
|
||||
|
||||
clearLastScan: () => set({ lastScan: null }),
|
||||
}));
|
||||
Reference in New Issue
Block a user