Proyectos de Subversion LeadersLinked - SPA

Rev

Rev 3320 | Rev 3336 | Ir a la última revisión | | Comparar con el anterior | Ultima modificación | Ver Log |

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