import { useCallback, useContext, useEffect } from "react"; import { AuthContext } from "../../App"; type UseAuthHook = { authenticated: boolean }; export const useAuth = (): UseAuthHook => { const { authenticated, setAuthenticated } = useContext(AuthContext); const authenticationCheck = useCallback( async () => await fetch("/api/authenticate", { method: "POST", body: JSON.stringify({ password: "authCheck" }), headers: { "Content-Type": "application/json", }, }).then((res) => { setAuthenticated?.(res.ok); }), [setAuthenticated] ); useEffect(() => { authenticationCheck(); }, [authenticationCheck]); return { authenticated }; };