import { Navigate, Outlet } from 'react-router-dom';
import { useAuth } from '../../contexts/AuthContext';
interface RoleProtectedRouteProps {
role: string;
children?: React.ReactNode;
layout?: React.ComponentType<{ children: React.ReactNode }>;
}
const RoleProtectedRoute = ({ role, children, layout: Layout }: RoleProtectedRouteProps) => {
const { user } = useAuth();
if (!user || user.role !== role) {
// Redirect to dashboard if user doesn't have required role
return ;
}
const content = children || ;
if (Layout) {
return {content};
}
return content;
};
export default RoleProtectedRoute;