import { create } from 'zustand' import { persist } from 'zustand/middleware' interface User { id: string orgId: string | null name: string phone: string role: 'SUPER_ADMIN' | 'ADMIN' | 'HR' | 'VIEWER' } interface AuthState { user: User | null accessToken: string | null refreshToken: string | null isAuthenticated: boolean setAuth: (user: User, accessToken: string, refreshToken: string) => void updateToken: (accessToken: string) => void logout: () => void } export const useAuthStore = create()( persist( (set) => ({ user: null, accessToken: null, refreshToken: null, isAuthenticated: false, setAuth: (user, accessToken, refreshToken) => set({ user, accessToken, refreshToken, isAuthenticated: true }), updateToken: (accessToken) => set({ accessToken }), logout: () => set({ user: null, accessToken: null, refreshToken: null, isAuthenticated: false }), }), { name: 'auth-storage' }, ), )