Proyectos de Subversion LeadersLinked - SPA

Rev

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