import { useContext, createContext } from 'react';
import type { AuthClient } from './types';

interface AuthContextProps {
    authClient?: AuthClient;
    sessionExpired?: boolean;
}

export const AuthClientContext = createContext<AuthContextProps>({});

export function useAuthClient() {
    const { authClient } = useContext(AuthClientContext);
    if (!authClient) throw new Error('AuthContext not initialized with an AuthClient');

    return authClient;
}

export function useSessionExpired() {
    const { sessionExpired } = useContext(AuthClientContext);

    return sessionExpired ?? false;
}
