import { User } from '@/types/user'; import { create } from 'zustand'; import { devtools, persist } from 'zustand/middleware'; const userInfo = localStorage.getItem('userInfo'); type UserStoreState = { user: User | null; loading: boolean; }; type UserStoreActions = { setUser: (user: User | null) => void; }; type UserStore = UserStoreState & UserStoreActions; export const useUserStore = create()( devtools( persist( (set, get) => ({ user: userInfo != null ? JSON.parse(userInfo) : ({} as User), loading: false, setUser: (user: User | null) => set({ user }), }), { name: 'userInfo' } ) ) ); export const useUserSelector = () => { return useUserStore((state) => state.user); }; export const useSetUserSelector = () => { return useUserStore((state) => state.setUser); };