Proyectos de Subversion LeadersLinked - SPA

Rev

Rev 3308 | Rev 3314 | 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'
3313 stevensc 5
import MyProgressPage from '@pages/habits/progress/my-progress-page'
6
import HabitProgressPage from '@pages/habits/progress/habit-progress-page'
3201 stevensc 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'))
3245 stevensc 48
 
3201 stevensc 49
export default function HabitsRoutes() {
50
  return (
3245 stevensc 51
    <Suspense fallback={<Spinner />}>
52
      <Routes>
53
        <Route element={<HabitsRootLayout />}>
54
          <Route path='purposes' element={<PurposesLayout />}>
55
            <Route index element={<PurposesPage />} />
56
            <Route path='create' element={<CreatePurposePage />} />
57
            <Route path='edit/:id' element={<EditPurposePage />} />
58
            <Route path='*' element={<Navigate to='' />} />
59
          </Route>
3201 stevensc 60
 
3245 stevensc 61
          <Route path='paradigms' element={<ParadigmsLayout />}>
62
            <Route index element={<ParadigmsPage />} />
63
            <Route path='create' element={<CreateParadigmPage />} />
64
            <Route path='edit/:id' element={<EditParadigmPage />} />
65
            <Route path='*' element={<Navigate to='' />} />
66
          </Route>
3201 stevensc 67
 
3245 stevensc 68
          <Route path='values' element={<ValuesLayout />}>
69
            <Route index element={<ValuesPage />} />
70
            <Route path='create' element={<CreateValuePage />} />
71
            <Route path='edit/:id' element={<EditValuePage />} />
72
            <Route path='*' element={<Navigate to='' />} />
73
          </Route>
3201 stevensc 74
 
3245 stevensc 75
          <Route path='habits' element={<HabitsLayout />}>
76
            <Route index element={<HabitsPage />} />
77
            <Route path='create' element={<CreateHabitPage />} />
78
            <Route path='edit/:id' element={<EditHabitPage />} />
79
            <Route path='*' element={<Navigate to='' />} />
80
          </Route>
3201 stevensc 81
 
3313 stevensc 82
          <Route path='my-progress' element={<HabitsLayout />}>
83
            <Route index element={<MyProgressPage />} />
3308 stevensc 84
 
3313 stevensc 85
            <Route path=':id'>
86
              <Route index element={<HabitProgressPage />} />
87
              <Route path='add' element={<HabitProgressPage />} />
88
            </Route>
89
 
90
            <Route path='*' element={<Navigate to='' />} />
91
          </Route>
92
 
3245 stevensc 93
          <Route path='goals' element={<GoalsLayout />}>
94
            <Route index element={<GoalsPage />} />
95
            <Route path='create' element={<CreateGoalPage />} />
3255 stevensc 96
            <Route path='edit/:id' element={<EditGoalPage />} />
97
            <Route path='*' element={<Navigate to='' />} />
3245 stevensc 98
          </Route>
99
 
100
          <Route path='*' element={<Navigate to='habits' />} />
3209 stevensc 101
        </Route>
3245 stevensc 102
      </Routes>
103
    </Suspense>
3201 stevensc 104
  )
105
}