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