import { signIn, useSession } from "next-auth/react"; import Head from "next/head"; import { useEffect, useState } from "react"; import { usePosthog } from "../../lib/posthog"; import { classNames } from "../../lib/utils"; import Loading from "../Loading"; import MenuBreadcrumbs from "./MenuBreadcrumbs"; import MenuProfile from "./MenuProfile"; import MenuSteps from "./MenuSteps"; import NewFormNavButton from "./NewFormNavButton"; interface BaseLayoutAuthorizedProps { title: string; breadcrumbs: any; steps?: any; currentStep?: string; children: React.ReactNode; bgClass?: string; limitHeightScreen?: boolean; } export default function BaseLayoutAuthorized({ title, breadcrumbs, steps, currentStep, children, bgClass = "bg-ui-gray-lighter", limitHeightScreen = false, }: BaseLayoutAuthorizedProps) { const { data: session, status } = useSession(); const [loading, setLoading] = useState(true); useEffect(() => { if (status !== "loading") { if (!session) { signIn(); } else { setLoading(false); } } }, [session, status]); usePosthog(session?.user?.email); if (status === "loading" || loading) { return ; } return ( <> {title}
{steps && ( )}
{children}
); }