80 lines
2.2 KiB
TypeScript
80 lines
2.2 KiB
TypeScript
import { createBrowserRouter, Navigate } from 'react-router-dom';
|
|
import { RootLayout } from './RootLayout';
|
|
import { ProtectedRoute } from './ProtectedRoute';
|
|
import HRLayout from '../layouts/HRLayout';
|
|
import Login from '../pages/Login';
|
|
import DashboardPage from '../pages/Dashboard/DashboardPage';
|
|
import LearnersPage from '../pages/Learners/LearnersPage';
|
|
import ReportsPage from '../pages/ReportsPage/ReportsPage';
|
|
import DiscussionsPage from '../pages/DiscussionsPage/DiscussionsPage';
|
|
import ProgrammeViewPage from '../pages/ProgrammeViewPage/ProgrammeViewPage';
|
|
import CourseViewPage from '../pages/CourseViewPage/CourseViewPage';
|
|
import CoursesPage from '../pages/Courses/CoursesPage';
|
|
import ProgrammesPage from '../pages/Programmes/ProgrammesPage';
|
|
|
|
export const router = createBrowserRouter([
|
|
{
|
|
element: <RootLayout />,
|
|
children: [
|
|
{
|
|
path: '/login',
|
|
element: <Login />,
|
|
},
|
|
{
|
|
path: '/',
|
|
element: <Navigate to="/hr/dashboard" replace />,
|
|
},
|
|
{
|
|
path: '/hr',
|
|
element: (
|
|
<ProtectedRoute>
|
|
<HRLayout />
|
|
</ProtectedRoute>
|
|
),
|
|
children: [
|
|
{
|
|
index: true,
|
|
element: <Navigate to="dashboard" replace />,
|
|
},
|
|
{
|
|
path: 'dashboard',
|
|
element: <DashboardPage />,
|
|
},
|
|
{
|
|
path: 'learners',
|
|
element: <LearnersPage />,
|
|
},
|
|
{
|
|
path: 'reports',
|
|
element: <ReportsPage />,
|
|
},
|
|
{
|
|
path: 'courses',
|
|
element: <CoursesPage />,
|
|
},
|
|
{
|
|
path: 'programmes',
|
|
element: <ProgrammesPage />,
|
|
},
|
|
{
|
|
path: 'discussions',
|
|
element: <DiscussionsPage />,
|
|
},
|
|
{
|
|
path: 'programme/:programmeId',
|
|
element: <ProgrammeViewPage />,
|
|
},
|
|
{
|
|
path: 'course/:courseId',
|
|
element: <CourseViewPage />,
|
|
},
|
|
{
|
|
path: 'profile',
|
|
element: <DashboardPage />,
|
|
},
|
|
],
|
|
},
|
|
],
|
|
},
|
|
]);
|