draupnir4all-web

git clone git://archive.git.mtrnord.blog/MTRNord/draupnir4all-web.git
Log | Files | Refs | README | LICENSE

commit 3b7fadb87fa3c8192fed85cc99556cd0e9a48d0f
parent 05e75688e33d14a4639413565bea9946bcc19f1e
Author: MTRNord <mtrnord1@gmail.com>
Date:   Tue, 29 Apr 2025 21:51:19 +0200

Use server side checks when we can for redirection

Signed-off-by: MTRNord <mtrnord1@gmail.com>

Diffstat:
Msrc/app/login/page.tsx | 5-----
Msrc/app/page.tsx | 11++++++-----
Msrc/app/register/page.tsx | 5-----
3 files changed, 6 insertions(+), 15 deletions(-)

diff --git a/src/app/login/page.tsx b/src/app/login/page.tsx @@ -9,7 +9,6 @@ import { Card, CardContent, CardDescription, CardFooter, CardHeader, CardTitle } import { Input } from "@/components/ui/input" import { Label } from "@/components/ui/label" import { useSession } from "@/contexts/session-context" -import { redirect } from "next/navigation" import RedirectionPageClient from "@/components/redirect-workaround" export default function LoginPage() { @@ -20,10 +19,6 @@ export default function LoginPage() { const [loginLoading, setLoginLoading] = useState(isLoading) const [errorMessage, setErrorMessage] = useState("") - if (user) { - redirect("/dashboard") - } - useEffect(() => { console.log("Discovery status changed:", discoveryStatus) if (discoveryStatus === "loading") { diff --git a/src/app/page.tsx b/src/app/page.tsx @@ -1,4 +1,3 @@ -"use client"; import Link from "next/link" import { Shield, Users, BarChart, Settings, AlertTriangle, CheckCircle, Ban, Eye, LogIn, Menu } from "lucide-react" import { Sheet, SheetContent, SheetTitle, SheetTrigger } from "@/components/ui/sheet" @@ -6,13 +5,15 @@ import { Sheet, SheetContent, SheetTitle, SheetTrigger } from "@/components/ui/s import { Button } from "@/components/ui/button" import { Card, CardContent, CardDescription, CardHeader, CardTitle } from "@/components/ui/card" import { VisuallyHidden } from "@radix-ui/react-visually-hidden"; -import { useSession } from "@/contexts/session-context" +import { cookies } from "next/headers" export const experimental_ppr = true const d4all_support_url = process.env.NEXT_PUBLIC_D4ALL_SUPPORT_URL || "#" -export default function Home() { - const { user } = useSession() +export default async function Home() { + // Get session cookie if available + const cookieStore = await cookies() + const sessionCookie = cookieStore.get("session") return ( <div className="flex min-h-screen flex-col bg-black text-white"> @@ -41,7 +42,7 @@ export default function Home() { </nav> <div className="flex items-center gap-4"> <div className="hidden md:flex items-center gap-4"> - {user ? ( + {sessionCookie ? ( <Link href="/dashboard"> <Button className="bg-purple-600 text-white hover:bg-purple-700">Dashboard</Button> </Link> diff --git a/src/app/register/page.tsx b/src/app/register/page.tsx @@ -8,7 +8,6 @@ import { Card, CardContent, CardDescription, CardFooter, CardHeader, CardTitle } import { Input } from "@/components/ui/input" import { Label } from "@/components/ui/label" import { useSession } from "@/contexts/session-context" -import { redirect } from "next/navigation" import RedirectionPageClient from "@/components/redirect-workaround" export default function RegisterPage() { @@ -19,10 +18,6 @@ export default function RegisterPage() { const [password, setPassword] = useState("") const [errorMessage, setErrorMessage] = useState("") - if (user) { - redirect("/dashboard") - } - useEffect(() => { console.log("Discovery status changed:", discoveryStatus) if (discoveryStatus === "loading") {