import { create } from 'zustand' import { persist } from 'zustand/middleware' import type { User } from '../types/api.ts' interface AuthState { user: User | null token: string | null isAuthenticated: boolean setAuth: (user: User, token: string) => void logout: () => void } export const useAuthStore = create()( persist( (set) => ({ user: null, token: null, isAuthenticated: false, setAuth: (user, token) => set({ user, token, isAuthenticated: true }), logout: () => set({ user: null, token: null, isAuthenticated: false }), }), { name: 'cartsnitch-auth', partialize: (state) => ({ user: state.user, isAuthenticated: state.isAuthenticated }), }, ), )