import { createContext, useContext } from 'react'; import type { PasswordStatus } from '../api/types'; export interface PasswordChangeRequiredInfo { message: string; reason?: string; rules?: string[]; } export interface AuthValue { authed: boolean; isAdmin: boolean; roles: string[]; userEmail: string | null; passwordStatus: PasswordStatus | null; login: (email: string, password: string, orgId?: string) => Promise; completePasswordChange: (email: string, currentPassword: string, newPassword: string, orgId?: string) => Promise; logout: () => void; } export const AuthCtx = createContext(null); export function useAuth(): AuthValue { const v = useContext(AuthCtx); if (!v) throw new Error('useAuth must be used within '); return v; }