Proyectos de Subversion LeadersLinked - SPA

Rev

Rev 3240 | Rev 3255 | 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'))
3201 stevensc 13
 
3245 stevensc 14
/* Pages */
15
const PurposesPage = lazy(() =>
16
  import('@pages/habits-and-skills/purposes/purposes-page')
17
)
18
const CreatePurposePage = lazy(() =>
19
  import('@pages/habits-and-skills/purposes/create-purpose-page')
20
)
21
const EditPurposePage = lazy(() =>
22
  import('@pages/habits-and-skills/purposes/edit-purpose-page')
23
)
24
const ParadigmsPage = lazy(() =>
25
  import('@pages/habits-and-skills/paradigms/paradigms-page')
26
)
27
const CreateParadigmPage = lazy(() =>
28
  import('@pages/habits-and-skills/paradigms/create-paradigm-page')
29
)
30
const EditParadigmPage = lazy(() =>
31
  import('@pages/habits-and-skills/paradigms/edit-paradigm-page')
32
)
33
const ValuesPage = lazy(() =>
34
  import('@pages/habits-and-skills/values/values-page')
35
)
36
const CreateValuePage = lazy(() =>
37
  import('@pages/habits-and-skills/values/create-value-page')
38
)
39
const EditValuePage = lazy(() =>
40
  import('@pages/habits-and-skills/values/edit-value-page')
41
)
42
const HabitsPage = lazy(() =>
43
  import('@pages/habits-and-skills/habits/habits-page')
44
)
45
const CreateHabitPage = lazy(() =>
46
  import('@pages/habits-and-skills/habits/create-habit-page')
47
)
48
const GoalsPage = lazy(() =>
49
  import('@pages/habits-and-skills/goals/goals-page')
50
)
51
const CreateGoalPage = lazy(() =>
52
  import('@pages/habits-and-skills/goals/create-goal-page')
53
)
54
const EditHabitPage = lazy(() =>
55
  import('@pages/habits-and-skills/habits/edit-habit-page')
56
)
57
 
3201 stevensc 58
export default function HabitsRoutes() {
59
  return (
3245 stevensc 60
    <Suspense fallback={<Spinner />}>
61
      <Routes>
62
        <Route element={<HabitsRootLayout />}>
63
          <Route path='purposes' element={<PurposesLayout />}>
64
            <Route index element={<PurposesPage />} />
65
            <Route path='create' element={<CreatePurposePage />} />
66
            <Route path='edit/:id' element={<EditPurposePage />} />
67
            <Route path='*' element={<Navigate to='' />} />
68
          </Route>
3201 stevensc 69
 
3245 stevensc 70
          <Route path='paradigms' element={<ParadigmsLayout />}>
71
            <Route index element={<ParadigmsPage />} />
72
            <Route path='create' element={<CreateParadigmPage />} />
73
            <Route path='edit/:id' element={<EditParadigmPage />} />
74
            <Route path='*' element={<Navigate to='' />} />
75
          </Route>
3201 stevensc 76
 
3245 stevensc 77
          <Route path='values' element={<ValuesLayout />}>
78
            <Route index element={<ValuesPage />} />
79
            <Route path='create' element={<CreateValuePage />} />
80
            <Route path='edit/:id' element={<EditValuePage />} />
81
            <Route path='*' element={<Navigate to='' />} />
82
          </Route>
3201 stevensc 83
 
3245 stevensc 84
          <Route path='habits' element={<HabitsLayout />}>
85
            <Route index element={<HabitsPage />} />
86
            <Route path='create' element={<CreateHabitPage />} />
87
            <Route path='edit/:id' element={<EditHabitPage />} />
88
            <Route path='*' element={<Navigate to='' />} />
89
          </Route>
3201 stevensc 90
 
3245 stevensc 91
          <Route path='goals' element={<GoalsLayout />}>
92
            <Route index element={<GoalsPage />} />
93
            <Route path='create' element={<CreateGoalPage />} />
94
          </Route>
95
 
96
          <Route path='*' element={<Navigate to='habits' />} />
3209 stevensc 97
        </Route>
3245 stevensc 98
      </Routes>
99
    </Suspense>
3201 stevensc 100
  )
101
}