diff --git a/src/app/(auth)/layout.tsx b/src/app/(auth)/layout.tsx index 2d0600e..eb31bdd 100644 --- a/src/app/(auth)/layout.tsx +++ b/src/app/(auth)/layout.tsx @@ -1,27 +1,24 @@ -"use client"; +import { redirect } from "next/navigation"; -import { useEffect } from "react"; -import { useRouter } from "next/navigation"; -import { useSession } from "next-auth/react"; +import { getCurrentUser } from "@/lib/session"; -export default function AuthLayout({ +export default async function AuthLayout({ children, }: { children: React.ReactNode; }) { - const { data: session, status } = useSession(); - const router = useRouter(); + const user = await getCurrentUser(); - useEffect(() => { - if (status === "authenticated") { - if (session?.user?.role === "ADMIN") { - router.push("/admin"); - } else { - router.push("/dashboard"); - } - router.refresh(); - } - }, [session, status, router]); + if (user) { + if (user.role === "ADMIN") redirect("/admin"); + redirect("/dashboard"); + } - return <>{children}; + return ( +
+
+ {children} +
+
+ ); }