Ajout page login non fonctionnelle

This commit is contained in:
2025-09-16 10:55:23 +02:00
parent 83e2b786c7
commit ad695b82f7
12 changed files with 3076 additions and 784 deletions

View File

@@ -1,12 +1,71 @@
import React from 'react';
import { BrowserRouter as Router, Routes, Route, Navigate } from 'react-router-dom';
import { AuthProvider, useAuth } from './context/AuthContext';
import Login from './components/Login';
import RHDashboard from './components/RHDashboard';
// Composant pour protéger les routes
const ProtectedRoute = ({ children }) => {
const { isAuthorized } = useAuth();
return isAuthorized ? children : <Navigate to="/login" replace />;
};
// Composant pour rediriger si déjà connecté
const PublicRoute = ({ children }) => {
const { isAuthorized } = useAuth();
return !isAuthorized ? children : <Navigate to="/dashboard" replace />;
};
function AppContent() {
return (
<div className="min-h-screen bg-gray-50">
<Routes>
{/* Route de login - accessible seulement si non connecté */}
<Route
path="/login"
element={
<PublicRoute>
<Login />
</PublicRoute>
}
/>
{/* Route du dashboard - accessible seulement si connecté */}
<Route
path="/dashboard"
element={
<ProtectedRoute>
<RHDashboard />
</ProtectedRoute>
}
/>
{/* Route par défaut - redirige vers login ou dashboard selon l'état */}
<Route
path="/"
element={<Navigate to="/login" replace />}
/>
{/* Route catch-all pour les URLs non trouvées */}
<Route
path="*"
element={<Navigate to="/login" replace />}
/>
</Routes>
</div>
);
}
function App() {
return (
<div className="min-h-screen bg-gray-50">
<RHDashboard />
</div>
);
return (
<AuthProvider>
<Router>
<AppContent />
</Router>
</AuthProvider>
);
}
export default App;