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:
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") {