This commit is contained in:
@@ -0,0 +1,66 @@
|
||||
import { BrowserRouter, Routes, Route, Navigate } from 'react-router-dom';
|
||||
import { AuthProvider } from './contexts/AuthContext';
|
||||
import { SocketProvider } from './contexts/SocketContext';
|
||||
import { ToastProvider } from './contexts/ToastContext';
|
||||
import { ProtectedRoute, AdminRoute } from './components/ProtectedRoute';
|
||||
|
||||
import LoginPage from './pages/LoginPage';
|
||||
import InstallPage from './pages/InstallPage';
|
||||
import DashboardPage from './pages/DashboardPage';
|
||||
import ClientsPage from './pages/ClientsPage';
|
||||
import AdminClinicsPage from './pages/AdminClinicsPage';
|
||||
import ResetPage from './pages/ResetPage';
|
||||
import DownloadPage from './pages/DownloadPage';
|
||||
|
||||
export default function App() {
|
||||
return (
|
||||
<BrowserRouter>
|
||||
<AuthProvider>
|
||||
<ToastProvider>
|
||||
<SocketProvider>
|
||||
<Routes>
|
||||
{/* Rotas públicas */}
|
||||
<Route path="/login" element={<LoginPage />} />
|
||||
<Route path="/install" element={<InstallPage />} />
|
||||
|
||||
{/* Rotas protegidas (usuário autenticado) */}
|
||||
<Route path="/" element={
|
||||
<ProtectedRoute>
|
||||
<DashboardPage />
|
||||
</ProtectedRoute>
|
||||
} />
|
||||
|
||||
{/* Rotas de administrador */}
|
||||
<Route path="/clients" element={
|
||||
<AdminRoute>
|
||||
<ClientsPage />
|
||||
</AdminRoute>
|
||||
} />
|
||||
|
||||
<Route path="/admin-clinics" element={
|
||||
<AdminRoute>
|
||||
<AdminClinicsPage />
|
||||
</AdminRoute>
|
||||
} />
|
||||
|
||||
<Route path="/reset" element={
|
||||
<AdminRoute>
|
||||
<ResetPage />
|
||||
</AdminRoute>
|
||||
} />
|
||||
|
||||
<Route path="/download" element={
|
||||
<AdminRoute>
|
||||
<DownloadPage />
|
||||
</AdminRoute>
|
||||
} />
|
||||
|
||||
{/* Catch-all: redireciona para home */}
|
||||
<Route path="*" element={<Navigate to="/" replace />} />
|
||||
</Routes>
|
||||
</SocketProvider>
|
||||
</ToastProvider>
|
||||
</AuthProvider>
|
||||
</BrowserRouter>
|
||||
);
|
||||
}
|
||||
Reference in New Issue
Block a user