Rev 3332 | Ir a la última revisión | Autoría | Comparar con el anterior | Ultima modificación | Ver Log |
import React, { lazy, Suspense } from 'react'
import { Route, Navigate, Routes } from 'react-router-dom'
import Spinner from '@components/UI/Spinner'
/* Layouts */
const HabitsRootLayout = lazy(() => import('@layouts/habits/root-layout'))
const PurposesLayout = lazy(() => import('@layouts/habits/purposes-layout'))
const ParadigmsLayout = lazy(() => import('@layouts/habits/paradigms-layout'))
const ValuesLayout = lazy(() => import('@layouts/habits/values-layout'))
const HabitsLayout = lazy(() => import('@layouts/habits/habits-layout'))
const GoalsLayout = lazy(() => import('@layouts/habits/goals-layout'))
const MyProgressLayout = lazy(() =>
import('@layouts/habits/my-progress-layout')
)
const HabitProgressLayout = lazy(() =>
import('@layouts/habits/habit-progress-layout')
)
/* Pages */
const PurposesPage = lazy(() => import('@pages/habits/purposes/purposes-page'))
const CreatePurposePage = lazy(() =>
import('@pages/habits/purposes/create-purpose-page')
)
const EditPurposePage = lazy(() =>
import('@pages/habits/purposes/edit-purpose-page')
)
const ParadigmsPage = lazy(() =>
import('@pages/habits/paradigms/paradigms-page')
)
const CreateParadigmPage = lazy(() =>
import('@pages/habits/paradigms/create-paradigm-page')
)
const EditParadigmPage = lazy(() =>
import('@pages/habits/paradigms/edit-paradigm-page')
)
const ValuesPage = lazy(() => import('@pages/habits/values/values-page'))
const CreateValuePage = lazy(() =>
import('@pages/habits/values/create-value-page')
)
const EditValuePage = lazy(() => import('@pages/habits/values/edit-value-page'))
const HabitsPage = lazy(() => import('@pages/habits/habits/habits-page'))
const CreateHabitPage = lazy(() =>
import('@pages/habits/habits/create-habit-page')
)
const EditHabitPage = lazy(() => import('@pages/habits/habits/edit-habit-page'))
const GoalsPage = lazy(() => import('@pages/habits/goals/goals-page'))
const CreateGoalPage = lazy(() =>
import('@pages/habits/goals/create-goal-page')
)
const EditGoalPage = lazy(() => import('@pages/habits/goals/edit-goal-page'))
const MyProgressPage = lazy(() =>
import('@pages/habits/progress/my-progress-page')
)
const HabitProgressPage = lazy(() =>
import('@pages/habits/progress/habit-progress-page')
)
const AddHabitProgress = lazy(() =>
import('@pages/habits/progress/add-habit-progress')
)
const EditHabitProgress = lazy(() =>
import('@pages/habits/progress/edit-habit-progress')
)
export default function HabitsRoutes() {
return (
<Suspense fallback={<Spinner />}>
<Routes>
<Route element={<HabitsRootLayout />}>
<Route path='purposes' element={<PurposesLayout />}>
<Route index element={<PurposesPage />} />
<Route path='create' element={<CreatePurposePage />} />
<Route path='edit/:id' element={<EditPurposePage />} />
<Route path='*' element={<Navigate to='' />} />
</Route>
<Route path='paradigms' element={<ParadigmsLayout />}>
<Route index element={<ParadigmsPage />} />
<Route path='create' element={<CreateParadigmPage />} />
<Route path='edit/:id' element={<EditParadigmPage />} />
<Route path='*' element={<Navigate to='' />} />
</Route>
<Route path='values' element={<ValuesLayout />}>
<Route index element={<ValuesPage />} />
<Route path='create' element={<CreateValuePage />} />
<Route path='edit/:id' element={<EditValuePage />} />
<Route path='*' element={<Navigate to='' />} />
</Route>
<Route path='habits' element={<HabitsLayout />}>
<Route index element={<HabitsPage />} />
<Route path='create' element={<CreateHabitPage />} />
<Route path='edit/:id' element={<EditHabitPage />} />
<Route path='*' element={<Navigate to='' />} />
</Route>
<Route path='my-progress' element={<MyProgressLayout />}>
<Route index element={<MyProgressPage />} />
<Route path=':uuid' element={<HabitProgressLayout />}>
<Route index element={<HabitProgressPage />} />
<Route path='add' element={<AddHabitProgress />} />
<Route path='edit/:id' element={<EditHabitProgress />} />
</Route>
<Route path='*' element={<Navigate to='' />} />
</Route>
<Route path='goals' element={<GoalsLayout />}>
<Route index element={<GoalsPage />} />
<Route path='create' element={<CreateGoalPage />} />
<Route path='edit/:id' element={<EditGoalPage />} />
<Route path='*' element={<Navigate to='' />} />
</Route>
<Route path='*' element={<Navigate to='habits' />} />
</Route>
</Routes>
</Suspense>
)
}