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 }) }, }))