import { type Role } from "@prisma/client";
import { useSession } from "next-auth/react";
import { useRouter } from "next/router";
import { useEffect } from "react";
const useRoleRedirect = (allowedRoles: Role[], redirect: string) => {
const userRole = useSession().data?.user.role;
const router = useRouter();
useEffect(() => {
if (userRole && !allowedRoles.includes(userRole)) {
void router.push(redirect);
}
}, [router, userRole, redirect, allowedRoles]);
};
export default useRoleRedirect;
import { type Role } from "@prisma/client";
import { useSession } from "next-auth/react";
import { useRouter } from "next/router";
import { useEffect } from "react";
const useRoleRedirect = (allowedRoles: Role[], redirect: string) => {
const userRole = useSession().data?.user.role;
const router = useRouter();
useEffect(() => {
if (userRole && !allowedRoles.includes(userRole)) {
void router.push(redirect);
}
}, [router, userRole, redirect, allowedRoles]);
};
export default useRoleRedirect;