41 lines
1.1 KiB
TypeScript
41 lines
1.1 KiB
TypeScript
|
|
import React from 'react';
|
||
|
|
import { createBrowserRouter, RouterProvider } from 'react-router-dom';
|
||
|
|
import { AppShell } from '@/components/layout/AppShell';
|
||
|
|
import { ProtectedRoute } from './ProtectedRoute';
|
||
|
|
import { LoginPage } from '@/pages/Login';
|
||
|
|
import { PasswordResetRequestPage } from '@/pages/PasswordResetRequest';
|
||
|
|
import { PasswordResetConfirmPage } from '@/pages/PasswordResetConfirm';
|
||
|
|
import { DashboardPage } from '@/pages/Dashboard';
|
||
|
|
import { SettingsPage } from '@/pages/Settings';
|
||
|
|
|
||
|
|
const router = createBrowserRouter([
|
||
|
|
{
|
||
|
|
path: '/login',
|
||
|
|
element: <LoginPage />,
|
||
|
|
},
|
||
|
|
{
|
||
|
|
path: '/password-reset',
|
||
|
|
element: <PasswordResetRequestPage />,
|
||
|
|
},
|
||
|
|
{
|
||
|
|
path: '/password-reset/confirm',
|
||
|
|
element: <PasswordResetConfirmPage />,
|
||
|
|
},
|
||
|
|
{
|
||
|
|
element: (
|
||
|
|
<ProtectedRoute>
|
||
|
|
<AppShell />
|
||
|
|
</ProtectedRoute>
|
||
|
|
),
|
||
|
|
children: [
|
||
|
|
{ path: '/dashboard', element: <DashboardPage /> },
|
||
|
|
{ path: '/settings', element: <SettingsPage /> },
|
||
|
|
{ path: '/', element: <DashboardPage /> },
|
||
|
|
],
|
||
|
|
},
|
||
|
|
]);
|
||
|
|
|
||
|
|
export function AppRouter() {
|
||
|
|
return <RouterProvider router={router} />;
|
||
|
|
}
|