Proyectos de Subversion LeadersLinked - SPA

Rev

Rev 3313 | Rev 3320 | 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
 
3314 stevensc 6
import MyProgressLayout from '@layouts/habits/my-progress-layout'
7
 
3245 stevensc 8
/* Layouts */
9
const HabitsRootLayout = lazy(() => import('@layouts/habits/root-layout'))
10
const PurposesLayout = lazy(() => import('@layouts/habits/purposes-layout'))
11
const ParadigmsLayout = lazy(() => import('@layouts/habits/paradigms-layout'))
12
const ValuesLayout = lazy(() => import('@layouts/habits/values-layout'))
13
const HabitsLayout = lazy(() => import('@layouts/habits/habits-layout'))
14
const GoalsLayout = lazy(() => import('@layouts/habits/goals-layout'))
3201 stevensc 15
 
3245 stevensc 16
/* Pages */
3270 stevensc 17
const PurposesPage = lazy(() => import('@pages/habits/purposes/purposes-page'))
3245 stevensc 18
const CreatePurposePage = lazy(() =>
3270 stevensc 19
  import('@pages/habits/purposes/create-purpose-page')
3245 stevensc 20
)
21
const EditPurposePage = lazy(() =>
3270 stevensc 22
  import('@pages/habits/purposes/edit-purpose-page')
3245 stevensc 23
)
24
const ParadigmsPage = lazy(() =>
3270 stevensc 25
  import('@pages/habits/paradigms/paradigms-page')
3245 stevensc 26
)
27
const CreateParadigmPage = lazy(() =>
3270 stevensc 28
  import('@pages/habits/paradigms/create-paradigm-page')
3245 stevensc 29
)
30
const EditParadigmPage = lazy(() =>
3270 stevensc 31
  import('@pages/habits/paradigms/edit-paradigm-page')
3245 stevensc 32
)
3270 stevensc 33
const ValuesPage = lazy(() => import('@pages/habits/values/values-page'))
3245 stevensc 34
const CreateValuePage = lazy(() =>
3270 stevensc 35
  import('@pages/habits/values/create-value-page')
3245 stevensc 36
)
3270 stevensc 37
const EditValuePage = lazy(() => import('@pages/habits/values/edit-value-page'))
38
const HabitsPage = lazy(() => import('@pages/habits/habits/habits-page'))
3245 stevensc 39
const CreateHabitPage = lazy(() =>
3270 stevensc 40
  import('@pages/habits/habits/create-habit-page')
3245 stevensc 41
)
3270 stevensc 42
const EditHabitPage = lazy(() => import('@pages/habits/habits/edit-habit-page'))
43
const GoalsPage = lazy(() => import('@pages/habits/goals/goals-page'))
3245 stevensc 44
const CreateGoalPage = lazy(() =>
3270 stevensc 45
  import('@pages/habits/goals/create-goal-page')
3245 stevensc 46
)
3270 stevensc 47
const EditGoalPage = lazy(() => import('@pages/habits/goals/edit-goal-page'))
3314 stevensc 48
const MyProgressPage = lazy(() =>
49
  import('@pages/habits/progress/my-progress-page')
50
)
51
const HabitProgressPage = lazy(() =>
52
  import('@pages/habits/progress/habit-progress-page')
53
)
54
const AddHabitProgress = lazy(() =>
55
  import('@pages/habits/progress/add-habit-progress')
56
)
3245 stevensc 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
 
3314 stevensc 91
          <Route path='my-progress' element={<MyProgressLayout />}>
3313 stevensc 92
            <Route index element={<MyProgressPage />} />
3308 stevensc 93
 
3313 stevensc 94
            <Route path=':id'>
95
              <Route index element={<HabitProgressPage />} />
3314 stevensc 96
              <Route path='add' element={<AddHabitProgress />} />
3313 stevensc 97
            </Route>
98
 
99
            <Route path='*' element={<Navigate to='' />} />
100
          </Route>
101
 
3245 stevensc 102
          <Route path='goals' element={<GoalsLayout />}>
103
            <Route index element={<GoalsPage />} />
104
            <Route path='create' element={<CreateGoalPage />} />
3255 stevensc 105
            <Route path='edit/:id' element={<EditGoalPage />} />
106
            <Route path='*' element={<Navigate to='' />} />
3245 stevensc 107
          </Route>
108
 
109
          <Route path='*' element={<Navigate to='habits' />} />
3209 stevensc 110
        </Route>
3245 stevensc 111
      </Routes>
112
    </Suspense>
3201 stevensc 113
  )
114
}