import { create } from 'zustand' import { createJSONStorage, persist } from 'zustand/middleware' import type { User } from "@/domain/types" type AuthState = { token: string | null user: User | null setToken: (token: string, user: User) => void clearToken: () => void } /** * Global store for authentication state (token and user). * Persisted to localStorage. */ export const useAuthStorage = create()( persist( (set) => ({ token: null, user: null, setToken: (token, user) => set({ token, user }), clearToken: () => set({ token: null, user: null }), }), { name: 'auth-storage', storage: createJSONStorage(() => localStorage), }, ), )