Proyectos de Subversion LeadersLinked - SPA

Rev

Rev 3336 | | Comparar con el anterior | Ultima modificación | Ver Log |

Rev Autor Línea Nro. Línea
3719 stevensc 1
import React, { lazy, Suspense } from 'react';
2
import { Route, Navigate, Routes } from 'react-router-dom';
3
 
4
import Spinner from '@components/UI/Spinner';
5
 
6
/* Layouts */
7
const HabitsRootLayout = lazy(() => import('@layouts/habits/root-layout'));
8
const PurposesLayout = lazy(() => import('@layouts/habits/purposes-layout'));
9
const ParadigmsLayout = lazy(() => import('@layouts/habits/paradigms-layout'));
10
const ValuesLayout = lazy(() => import('@layouts/habits/values-layout'));
11
const HabitsLayout = lazy(() => import('@layouts/habits/habits-layout'));
12
const GoalsLayout = lazy(() => import('@layouts/habits/goals-layout'));
13
const MyProgressLayout = lazy(() => import('@layouts/habits/my-progress-layout'));
14
const HabitProgressLayout = lazy(() => import('@layouts/habits/habit-progress-layout'));
15
 
16
/* Pages */
17
const PurposesPage = lazy(() => import('@pages/habits/purposes/purposes-page'));
18
const CreatePurposePage = lazy(() => import('@pages/habits/purposes/create-purpose-page'));
19
const EditPurposePage = lazy(() => import('@pages/habits/purposes/edit-purpose-page'));
20
const ParadigmsPage = lazy(() => import('@pages/habits/paradigms/paradigms-page'));
21
const CreateParadigmPage = lazy(() => import('@pages/habits/paradigms/create-paradigm-page'));
22
const EditParadigmPage = lazy(() => import('@pages/habits/paradigms/edit-paradigm-page'));
23
const ValuesPage = lazy(() => import('@pages/habits/values/values-page'));
24
const CreateValuePage = lazy(() => import('@pages/habits/values/create-value-page'));
25
const EditValuePage = lazy(() => import('@pages/habits/values/edit-value-page'));
26
const HabitsPage = lazy(() => import('@pages/habits/habits/habits-page'));
27
const CreateHabitPage = lazy(() => import('@pages/habits/habits/create-habit-page'));
28
const EditHabitPage = lazy(() => import('@pages/habits/habits/edit-habit-page'));
29
const GoalsPage = lazy(() => import('@pages/habits/goals/goals-page'));
30
const CreateGoalPage = lazy(() => import('@pages/habits/goals/create-goal-page'));
31
const EditGoalPage = lazy(() => import('@pages/habits/goals/edit-goal-page'));
32
const MyProgressPage = lazy(() => import('@pages/habits/progress/my-progress-page'));
33
const HabitProgressPage = lazy(() => import('@pages/habits/progress/habit-progress-page'));
34
const AddHabitProgress = lazy(() => import('@pages/habits/progress/add-habit-progress'));
35
const EditHabitProgress = lazy(() => import('@pages/habits/progress/edit-habit-progress'));
36
 
37
export default function HabitsRoutes() {
38
  return (
39
    <Suspense fallback={<Spinner />}>
40
      <Routes>
41
        <Route element={<HabitsRootLayout />}>
42
          <Route path='purposes' element={<PurposesLayout />}>
43
            <Route index element={<PurposesPage />} />
44
            <Route path='create' element={<CreatePurposePage />} />
45
            <Route path='edit/:id' element={<EditPurposePage />} />
46
            <Route path='*' element={<Navigate to='' />} />
47
          </Route>
48
 
49
          <Route path='paradigms' element={<ParadigmsLayout />}>
50
            <Route index element={<ParadigmsPage />} />
51
            <Route path='create' element={<CreateParadigmPage />} />
52
            <Route path='edit/:id' element={<EditParadigmPage />} />
53
            <Route path='*' element={<Navigate to='' />} />
54
          </Route>
55
 
56
          <Route path='values' element={<ValuesLayout />}>
57
            <Route index element={<ValuesPage />} />
58
            <Route path='create' element={<CreateValuePage />} />
59
            <Route path='edit/:id' element={<EditValuePage />} />
60
            <Route path='*' element={<Navigate to='' />} />
61
          </Route>
62
 
63
          <Route path='habits' element={<HabitsLayout />}>
64
            <Route index element={<HabitsPage />} />
65
            <Route path='create' element={<CreateHabitPage />} />
66
            <Route path='edit/:id' element={<EditHabitPage />} />
67
            <Route path='*' element={<Navigate to='' />} />
68
          </Route>
69
 
70
          <Route path='my-progress' element={<MyProgressLayout />}>
71
            <Route index element={<MyProgressPage />} />
72
 
73
            <Route path=':uuid' element={<HabitProgressLayout />}>
74
              <Route index element={<HabitProgressPage />} />
75
              <Route path='add' element={<AddHabitProgress />} />
76
              <Route path='edit/:id' element={<EditHabitProgress />} />
77
            </Route>
78
 
79
            <Route path='*' element={<Navigate to='' />} />
80
          </Route>
81
 
82
          <Route path='goals' element={<GoalsLayout />}>
83
            <Route index element={<GoalsPage />} />
84
            <Route path='create' element={<CreateGoalPage />} />
85
            <Route path='edit/:id' element={<EditGoalPage />} />
86
            <Route path='*' element={<Navigate to='' />} />
87
          </Route>
88
 
89
          <Route path='*' element={<Navigate to='habits' />} />
90
        </Route>
91
      </Routes>
92
    </Suspense>
93
  );
94
}