From f9dc15ba7304a6c604b9c3fb829233f7c047b347 Mon Sep 17 00:00:00 2001 From: charlesgauthereau Date: Sun, 27 Jul 2025 10:23:56 +0200 Subject: [PATCH] Routing error. --- app/(auth)/layout.tsx | 10 +++++++++- middleware.ts | 4 ++++ 2 files changed, 13 insertions(+), 1 deletion(-) diff --git a/app/(auth)/layout.tsx b/app/(auth)/layout.tsx index f9346333..cc617247 100644 --- a/app/(auth)/layout.tsx +++ b/app/(auth)/layout.tsx @@ -4,13 +4,21 @@ import {LayoutAdmin} from "@/components/layout"; import Image from "next/image"; import {env} from "@/env.mjs"; import {useTheme} from "next-themes"; +import {useSession} from "@/lib/auth/auth-client"; +import {useRouter} from "next/navigation"; export default function Layout({children}: { children: React.ReactNode }) { const { resolvedTheme } = useTheme(); - const [mounted, setMounted] = useState(false); + const router = useRouter(); + const { data: session } = useSession(); + + if (session && session.user && !session.user.banned && session.user.role !== "pending") { + router.replace("/dashboard/home"); + } + useEffect(() => { setMounted(true); diff --git a/middleware.ts b/middleware.ts index 5dd52cd9..ec077a73 100644 --- a/middleware.ts +++ b/middleware.ts @@ -28,6 +28,10 @@ export async function middleware(request: NextRequest) { return NextResponse.redirect(new URL(`/login?error=pending?redirect=${redirectUrl}`, request.url)); } + if (url.pathname === "/dashboard") { + return NextResponse.redirect(new URL(`/dashboard/home`, request.url)); + } + return NextResponse.next(); }