refactor(mobile): more look and feel work
All checks were successful
Build and Push LST Docker Image / docker (push) Successful in 1m17s

This commit is contained in:
2026-04-28 19:49:07 -05:00
parent 7d2f048932
commit bb6155c969
14 changed files with 409 additions and 108 deletions

View File

@@ -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(

View 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 }),
}));