diff --git a/web/src/app/_components/webpage.tsx b/web/src/app/_components/webpage.tsx index 6119987..2c64aba 100644 --- a/web/src/app/_components/webpage.tsx +++ b/web/src/app/_components/webpage.tsx @@ -1,8 +1,27 @@ +"use client" + +import { redirect } from "next/navigation"; +import { useEffect } from "react"; + import Header from "./header"; +async function login_check() { + const response = await fetch("/api/session/validate") + if (response.ok) { + const logged_in = await response.json() + if (!logged_in) { + redirect("https://auth.staging.strafes.net/oauth2/login?redirect=" + window.location.href) + } + } else { + console.error("No response from /api/session/validate") + } +} + export default function Webpage({children}: Readonly<{children?: React.ReactNode}>) { - return (<> - <Header/> - {children} - </>) -} \ No newline at end of file + useEffect(() => { login_check() }, []) + + return <> + <Header/> + {children} + </> +}