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 (<>
-
- {children}
- >)
-}
\ No newline at end of file
+ useEffect(() => { login_check() }, [])
+
+ return <>
+
+ {children}
+ >
+}