import { create } from 'zustand' interface POSUser { id: string email: string firstName: string lastName: string role: string } interface POSState { currentTransactionId: string | null locationId: string | null drawerSessionId: string | null locked: boolean cashier: POSUser | null token: string | null lastActivity: number setTransaction: (id: string | null) => void setLocation: (id: string) => void setDrawerSession: (id: string | null) => void unlock: (user: POSUser, token: string) => void lock: () => void touchActivity: () => void reset: () => void } export const usePOSStore = create((set) => ({ currentTransactionId: null, locationId: null, drawerSessionId: null, locked: true, cashier: null, token: null, lastActivity: Date.now(), setTransaction: (id) => set({ currentTransactionId: id }), setLocation: (id) => set({ locationId: id }), setDrawerSession: (id) => set({ drawerSessionId: id }), unlock: (user, token) => set({ locked: false, cashier: user, token, lastActivity: Date.now() }), lock: () => set({ locked: true, currentTransactionId: null }), touchActivity: () => set({ lastActivity: Date.now() }), reset: () => set({ currentTransactionId: null }), }))