import { useEffect, useState } from 'react' import { getActiveUser, getToken, isAuthenticated, onSessionChange, type ActiveUser } from '../auth/session' interface SessionState { authed: boolean token: string | null activeUser: ActiveUser | null } export function useSession(): SessionState { const [state, setState] = useState(() => ({ authed: isAuthenticated(), token: getToken(), activeUser: getActiveUser(), })) useEffect( () => onSessionChange(() => setState({ authed: isAuthenticated(), token: getToken(), activeUser: getActiveUser() }), ), [], ) return state }