blob: 66e5838673b198a53e534f2825462a72f5ba6875 [file] [log] [blame]
ybt02e716d2025-04-15 17:19:32 +08001import { createBrowserRouter } from 'react-router-dom';
2import App from '../App';
3import Login from '../pages/Login';
4import Register from '../pages/Register';
5import NotFound from '../pages/NotFound';
6import Unauthorized from '../pages/Unauthorized';
7import AdminPanel from '../pages/AdminPanel';
8import ProtectedRoute from './protectedroute';
9import PermissionRoute from './PermissionRoute';
10
11const router = createBrowserRouter([
12 {
13 path: '/',
14 element: (
15 <ProtectedRoute>
16 <App />
17 </ProtectedRoute>
18 ),
19 },
20 {
21 path: '/login',
22 element: <Login />,
23 },
24 {
25 path: '/register',
26 element: <Register />,
27 },
28 {
29 path: '/unauthorized',
30 element: <Unauthorized />,
31 },
32 {
33 path: '/admin',
34 element: (
35 <ProtectedRoute>
36 <PermissionRoute requiredRoles={['admin']}>
37 <AdminPanel />
38 </PermissionRoute>
39 </ProtectedRoute>
40 ),
41 },
42 {
43 path: '*',
44 element: <NotFound />,
45 },
46]);
47
48export default router;