satupeta-main/app/(modules)/admin/page.tsx
2026-02-23 12:21:05 +07:00

34 lines
827 B
TypeScript
Executable File

"use client";
import { useAuthSession } from "@/shared/hooks/use-session";
import { useRouter } from "next/navigation";
import { useEffect } from "react";
import { roles } from "@/shared/config/role";
const AdminIndex = () => {
const router = useRouter();
const { isAuthenticated, session, isLoading } = useAuthSession();
useEffect(() => {
if (!isLoading && isAuthenticated && session?.user?.role) {
const userRole = session.user.role;
if (roles[userRole.name]) {
const redirectPath = roles[userRole.name].redirectTo;
router.replace(redirectPath);
}
}
}, [isAuthenticated, session, router, isLoading]);
useEffect(() => {
router.refresh();
}, [router]);
if (!isAuthenticated) {
return <div>Loading...</div>;
}
return null;
};
export default AdminIndex;