import { create } from 'zustand'; import type { UserResponse } from '@/shared/api/responses'; interface SessionState { user: UserResponse | null; accessToken: string | null; isLoading: boolean; isAuthenticated: boolean; setSession: (authData: { user: UserResponse; accessToken: string }) => void; clearSession: () => void; setLoading: (isLoading: boolean) => void; } export const useSessionStore = create((set) => ({ user: null, accessToken: null, isLoading: true, isAuthenticated: false, setSession: (authData) => { set({ user: authData.user, accessToken: authData.accessToken, isAuthenticated: true, isLoading: false, }); }, clearSession: () => { set({ user: null, accessToken: null, isAuthenticated: false, isLoading: false, }); }, setLoading: (isLoading) => { set({ isLoading }); }, }));