import { create } from "zustand" import type { User, UserRole } from "@/lib/types" interface AuthState { isAuthenticated: boolean currentRole: UserRole verifiedRoles: UserRole[] user: User | null switchRole: (role: UserRole) => void login: (user: User, verifiedRoles?: UserRole[]) => void logout: () => void } export const useAuthStore = create((set, get) => ({ isAuthenticated: false, currentRole: "consumer", verifiedRoles: ["consumer"], user: null, switchRole: (role) => { const { verifiedRoles } = get() if (verifiedRoles.includes(role)) { set({ currentRole: role }) } }, login: (user, verifiedRoles = ["consumer"]) => set({ isAuthenticated: true, user, currentRole: user.role, verifiedRoles, }), logout: () => set({ isAuthenticated: false, currentRole: "consumer", verifiedRoles: ["consumer"], user: null, }), }))