Files
THE-TIP-TOP/frontend/src/App.jsx
Emma781227 65d6b23233 mise a jour
2026-07-08 07:10:49 +02:00

84 lines
3.1 KiB
JavaScript

import { BrowserRouter, Routes, Route, Navigate } from 'react-router-dom'
import { AuthProvider } from './context/AuthContext.jsx'
import Layout from './components/Layout.jsx'
import ProtectedRoute from './components/ProtectedRoute.jsx'
import CookieBanner from './components/CookieBanner.jsx'
import Connexion from './pages/Connexion'
import Inscription from './pages/Inscription'
import Accueil from './pages/Accueil'
import ReglesJeu from './pages/ReglesJeu'
import Participation from './pages/Participation'
import MesGains from './pages/MesGains'
import Employe from './pages/Employe'
import Admin from './pages/Admin'
import Profile from './pages/Profile'
import SaisirCodeUnique from './pages/SaisirCodeUnique.jsx'
import Perdu from './pages/Perdu'
import NotFound from './pages/NotFound'
import Sitemap from './pages/Sitemap'
import MentionsLegales from './pages/MentionsLegales'
import Confidentialite from './pages/Confidentialite'
import Contact from './pages/Contact.jsx'
export default function App() {
return (
<BrowserRouter>
<AuthProvider>
<Routes>
<Route path="/" element={<Navigate to="/accueil" replace />} />
<Route path="/connexion" element={<Connexion />} />
<Route path="/inscription" element={<Inscription />} />
{/* Pages publiques */}
<Route path="/accueil" element={<Layout><Accueil /></Layout>} />
<Route path="/regles-jeu" element={<Layout><ReglesJeu /></Layout>} />
<Route path="/participation" element={<Layout><Participation /></Layout>} />
<Route path="/mentions-legales" element={<Layout><MentionsLegales /></Layout>} />
<Route path="/confidentialite" element={<Layout><Confidentialite /></Layout>} />
<Route path="/contact" element={<Layout><Contact /></Layout>} />
<Route path="/sitemap" element={<Layout><Sitemap /></Layout>} />
{/* Pages CLIENT */}
<Route path="/mes-gains" element={
<ProtectedRoute roles={['CLIENT']}>
<Layout><MesGains /></Layout>
</ProtectedRoute>
} />
<Route path="/saisir-code-unique" element={
<ProtectedRoute roles={['CLIENT']}>
<Layout><SaisirCodeUnique /></Layout>
</ProtectedRoute>
} />
<Route path="/profile" element={
<ProtectedRoute roles={['CLIENT']}>
<Layout><Profile /></Layout>
</ProtectedRoute>
} />
<Route path="/perdu" element={
<ProtectedRoute roles={['CLIENT']}>
<Layout><Perdu /></Layout>
</ProtectedRoute>
} />
{/* Page EMPLOYEE */}
<Route path="/employe" element={
<ProtectedRoute roles={['EMPLOYEE']}>
<Layout><Employe /></Layout>
</ProtectedRoute>
} />
{/* Page ADMIN */}
<Route path="/admin" element={
<ProtectedRoute roles={['ADMIN']}>
<Layout><Admin /></Layout>
</ProtectedRoute>
} />
<Route path="*" element={<NotFound />} />
</Routes>
<CookieBanner />
</AuthProvider>
</BrowserRouter>
)
}