import { Routes, Route, Navigate } from "react-router"; import { useAuth } from "@/hooks/useAuth"; import AppLayout from "@/components/AppLayout"; import Login from "./pages/Login"; import NotFound from "./pages/NotFound"; import Dashboard from "./pages/Dashboard"; import MapPage from "./pages/MapPage"; import RecipientsPage from "./pages/RecipientsPage"; import PlacesOfWorshipPage from "./pages/PlacesOfWorshipPage"; import VerificationPage from "./pages/VerificationPage"; import UsersPage from "./pages/UsersPage"; import SettingsPage from "./pages/SettingsPage"; function ProtectedRoute({ children, allowedRoles, }: { children: React.ReactNode; allowedRoles?: string[]; }) { const { user, isLoading } = useAuth(); if (isLoading) { return (
); } if (!user) { return ; } if (allowedRoles && !allowedRoles.includes(user.role)) { return ; } return {children}; } export default function App() { return ( } /> } /> } /> } /> } /> } /> } /> } /> } /> ); }