From 0d2cd5fb49a6cc32fac215417baf7ced24339d1b Mon Sep 17 00:00:00 2001
From: rhpidfyre <brandon@rhpidfyre.io>
Date: Wed, 26 Mar 2025 21:11:43 -0400
Subject: [PATCH] web: switch to using `/api/session/validate` for determining
 if the user is not logged in

---
 web/src/app/_components/webpage.tsx | 25 ++++++++++++++++++-------
 1 file changed, 18 insertions(+), 7 deletions(-)

diff --git a/web/src/app/_components/webpage.tsx b/web/src/app/_components/webpage.tsx
index 47d789e..5a964aa 100644
--- a/web/src/app/_components/webpage.tsx
+++ b/web/src/app/_components/webpage.tsx
@@ -1,18 +1,29 @@
 "use client"
 
-import { useEffect } from "react";
 import { redirect } from "next/navigation";
+import { useEffect } from "react";
 
 import Header from "./header";
 
+async function login_check() {
+	try {
+		const response = await fetch("/api/session/validate")
+		if (response.ok) {
+			const logged_in = await response.json()
+			if (logged_in.code === 500) {
+				redirect("https://auth.staging.strafes.net/")
+			}
+		} else {
+			console.error("No response from /api/session/validate")
+		}
+	} catch (error) {
+		console.error("Error getting login status:", error)
+	}
+}
+
 export default function Webpage({children}: Readonly<{children?: React.ReactNode}>) {
-	//check if the user is logged into the auth
 	useEffect(() => {
-	  	const cookies = document.cookie.split("; ")
-	    const hasCookie = cookies.some(cookie => cookie.startsWith("session_id="))
-	    if (!hasCookie) {
-		    redirect("https://auth.staging.strafes.net/")
-	    }
+		login_check()
 	}, [])
 
 	return <>