Files
portail-gise/src/App.jsx
T
maximus 9acb9c6801
Deploy Nexus Portal to HestiaCP (FTP) / build-and-deploy (push) Successful in 30s
add register and see panel
2026-06-17 17:39:30 +02:00

57 lines
2.0 KiB
React

// src/App.jsx
import { BrowserRouter, Routes, Route } from 'react-router-dom';
// Import des Layouts
import PublicLayout from './layouts/PublicLayout';
import AppLayout from './layouts/AppLayout';
// Import du Garde du Corps
import ProtectedRoute from './components/ProtectedRoute';
// Import des Pages Publiques
import Register from './pages/public/Register';
import Login from './pages/public/Login';
import Home from './pages/public/Home';
//import Offres from './pages/public/Offres';
// Import des Pages Privées (Espace Client)
import Dashboard from './pages/app/Dashboard';
import Store from './pages/app/Store';
import Checkout from './pages/app/Checkout';
import Services from './pages/app/Services';
export default function App() {
return (
<BrowserRouter>
<Routes>
{/* ========================================== */}
{/* ZONE PUBLIQUE (Accès Libre) */}
{/* ========================================== */}
<Route element={<PublicLayout />}>
<Route path="/" element={<Home />} />
{/* <Route path="/offres" element={<Offres />} /> */}
<Route path="/login" element={<Login />} />
<Route path="/register" element={<Register />} />
</Route>
{/* ========================================== */}
{/* ZONE PRIVÉE SÉCURISÉE (Le Bunker) */}
{/* ========================================== */}
{/* Le Garde du corps bloque l'entrée ici */}
<Route element={<ProtectedRoute />}>
{/* Si autorisé, on charge l'interface avec la Sidebar */}
<Route element={<AppLayout />}>
<Route path="/dashboard" element={<Dashboard />} />
<Route path="/store" element={<Store />} />
<Route path="/checkout/:productId" element={<Checkout />} />
<Route path="/services" element={<Services />} />
</Route>
</Route>
</Routes>
</BrowserRouter>
);
}