import { createContext, useContext } from 'react'; export interface AuthUser { userId: string; userName: string; loginName?: string; permissionLevel: string; depCode?: string; depName: string; roles?: string[]; } export interface AuthState { isLoading: boolean; isAuthenticated: boolean; user: AuthUser | null; error: string | null; actor?: AuthUser | null; canPreview?: boolean; preview?: { user: AuthUser; expiresAt: string } | null; identityVersion?: number; previewNotice?: string | null; startPreview?: (userId: string) => Promise; stopPreview?: () => Promise; clearPreviewNotice?: () => void; } export const AuthContext = createContext({ isLoading: true, isAuthenticated: false, user: null, error: null }); export function useAuth() { return useContext(AuthContext); }