import { useAuth } from '../context/AuthContext';
import { Navigate, Outlet } from 'react-router-dom';
import { toast } from 'react-toastify';

export default function PrivateRoute({ roles, children }) {
  const { user, isAuthenticated, hasRole } = useAuth();

  if (!isAuthenticated()) {
    toast.error('لطفا ابتدا وارد شوید');
    return <Navigate to="/login" />;
  }

  if (roles && !roles.some(role => hasRole(role))) {
    toast.error('شما مجوز دسترسی به این صفحه را ندارید');
    return <Navigate to="/" />;
  }

  return children ? children : <Outlet />;
}