Rev 2753 | Rev 2769 | Ir a la última revisión | Autoría | Comparar con el anterior | Ultima modificación | Ver Log |
import React, { lazy, Suspense } from 'react'import { Routes, Route, Navigate, Outlet } from 'react-router-dom'import { ThemeProvider } from 'styled-components'import { microlearning } from '@app/styles/themes'/* Components */import AuthRoute from './auth-routes'import PrivateRoutes from './private-routes'import Spinner from '@app/components/UI/Spinner'/* Providers */import GoalsProvider from '@providers/goals'import ValuesProvider from '@providers/values'import HabitsProvider from '@providers/habits'import PurposesProvider from '@providers/purposes'import ParadigmsProvider from '@providers/paradigms'import MainContainer from '@app/components/email/main-container'import MessageViewPage from '@app/pages/inmail/message-view-page'import InmailLayout from '@app/layouts/inmail/inmail-layout'/* Layouts */const AuthLayout = lazy(() => import('@layouts/auth/auth-layout'))const HabitsLayout = lazy(() => import('@layouts/habits/habits-layout'))const MicrolearningLayout = lazy(() =>import('@layouts/micro-learning/micro-learning-layout'))/* Pages */const Login = lazy(() => import('@app/pages/auth/login'))const Signup = lazy(() => import('@app/pages/auth/signup'))// const Navigation = lazy(() => import('@pages/auth/navigation'))const ForgotPassword = lazy(() => import('@pages/auth/forgot-password'))const ActiveAccount = lazy(() => import('@pages/auth/active-account'))const ResetPassword = lazy(() => import('@pages/auth/reset-password'))const ValuesPage = lazy(() => import('@pages/habits/values-page'))const PurposesPage = lazy(() => import('@pages/habits/purposes-page'))const HabitsPage = lazy(() => import('@pages/habits/habits-page'))const ParadigmsPage = lazy(() => import('@pages/habits/paradigms-page'))const GoalsPage = lazy(() => import('@pages/habits/goals-page'))const AbuseReportPage = lazy(() =>import('@pages/abuse-report/abuse-repor-page'))const AbuseReportViewPage = lazy(() =>import('@pages/abuse-report/abuse-report-view-page'))const ShorterPostPage = lazy(() => import('@pages/shorter/shorter-post-page'))const TermsAndConditionsPage = lazy(() =>import('@pages/terms-and-conditions/TermsAndConditionsPage'))const PrivacyPolicyPage = lazy(() =>import('@pages/privacy-policy/PrivacyPolicy'))const CookiesPage = lazy(() => import('@pages/cookies/CookiesPage'))const ProfessionalismPolicy = lazy(() =>import('@pages/professionalism-policy/ProfessionalismPolicy'))const AccountSettingsPage = lazy(() =>import('@pages/account-settings/AccountSettings'))const DashboardPage = lazy(() => import('@pages/dashboard/dashboard-page'))const MyConnectionsPage = lazy(() =>import('@pages/connections/MyConnectionsPage'))const InvitationsReceivedPage = lazy(() =>import('@pages/connections/InvitationsReceivedPage'))const InvitationsSendPage = lazy(() =>import('@pages/connections/InvitationsSendPage'))const PeopleYouMayKnowPage = lazy(() =>import('@pages/connections/PeopleYouMayKnowPage'))const PeopleBlockedPage = lazy(() =>import('@pages/connections/PeopleBlockedPage'))const MyProfilesPage = lazy(() => import('@pages/profiles/MyProfilesPage'))const PeopleViewedMyProfilePage = lazy(() =>import('@pages/profiles/PeopleViewedMyProfilePage'))const SavedJobsPage = lazy(() => import('@pages/jobs/SavedJobsPage'))const AppliedJobsPage = lazy(() => import('@pages/jobs/AppliedJobsPage'))const GroupsRequestsSendPage = lazy(() =>import('@pages/groups/GroupsRequestsSendPage'))const GroupsRequestsReceivedPage = lazy(() =>import('@pages/groups/GroupsRequestsReceivedPage'))const JoinedGroupsPage = lazy(() => import('@pages/groups/JoinedGroupsPage'))const MyGroupsPage = lazy(() => import('@pages/groups/MyGroupsPage'))const MyCompanies = lazy(() => import('@pages/company/MyCompaniesPage'))const FollowingCompaniesPage = lazy(() =>import('@pages/company/FollowingCompaniesPage'))const CompaniesWhenIWorkPage = lazy(() =>import('@pages/company/CompaniesWhenIWorkPage'))const CompanyRequestSendPage = lazy(() =>import('@pages/company/CompanyRequestSendPage'))const CompanyInvitationsReceivedPage = lazy(() =>import('@pages/company/CompanyInvitationsReceivedPage'))const ProfileViewPage = lazy(() => import('@pages/profiles/ProfileViewPage'))const ProfileEditPage = lazy(() => import('@pages/profiles/ProfileEditPage'))const CompanyViewPage = lazy(() => import('@pages/company/CompanyViewPage'))const GroupViewPage = lazy(() => import('@pages/groups/GroupViewPage'))const GroupEditPage = lazy(() => import('@pages/groups/GroupEditPage'))const MarketPlacePage = lazy(() => import('@pages/marketplace/MarketplacePage'))const NotificationsPage = lazy(() =>import('@pages/notifications/NotificationsPage'))const SearchPage = lazy(() => import('@pages/search/SearchPage'))const KnowledgeAreaPage = lazy(() =>import('@pages/knowledge-area/KnowledgeAreaPage'))const KnowledgeViewPage = lazy(() =>import('@pages/knowledge-area/KnowledgeViewPage'))const PostViewPage = lazy(() => import('@pages/posts/PostViewPage'))const MyCoachPage = lazy(() => import('@pages/my-coach/MyCoachPage'))const MyCoachViewPage = lazy(() => import('@pages/my-coach/MyCoachViewPage'))const JobViewPage = lazy(() => import('@pages/jobs/JobView'))const CalendarPage = lazy(() => import('@pages/calendar/CalendarPage'))const ImpersonatePage = lazy(() => import('@pages/impersonate/InpersonatePage'))const CapsulesPage = lazy(() => import('@pages/micro-learning/CapsulesPage'))const CapsuleDetailsPage = lazy(() =>import('@pages/micro-learning/CapsuleInfoPage'))const SlidesPage = lazy(() => import('@pages/micro-learning/SlideViewPage'))const ProgressPage = lazy(() => import('@pages/micro-learning/ProgressPage'))const CompaniesPage = lazy(() => import('@pages/micro-learning/CompaniesPage'))const CapsuleSlidesPage = lazy(() =>import('@pages/micro-learning/CapsuleViewPage'))const TimelinePage = lazy(() => import('@pages/micro-learning/TimelinePage'))const ProfilePage = lazy(() => import('@pages/micro-learning/ProfilePage'))const TopicsPage = lazy(() => import('@pages/micro-learning/TopicsPage'))const TopicsViewPage = lazy(() => import('@pages/micro-learning/TopicViewPage'))export default function AppRoutes() {return (<Suspense fallback={<Spinner />}><Routes>{/* Public routes */}<Route path='/shorter/:id' element={<ShorterPostPage />} /><Routepath='/terms-and-conditions'element={<TermsAndConditionsPage />}/><Route path='/privacy-policy' element={<PrivacyPolicyPage />} /><Routepath='/professionalism-policy'element={<ProfessionalismPolicy />}/><Route path='/cookies' element={<CookiesPage />} />{/* Authentication routes */}<Route path='/' element={<AuthRoute />}><Route element={<AuthLayout />}><Route index element={<Navigate to='signin' />} /><Route path='signin' element={<Login />} /><Route path='signup' element={<Signup />} /><Route path='forgot-password' element={<ForgotPassword />} /><Route path='reset-password/:uuid' element={<ResetPassword />} /><Route path='activate-account/:uuid' element={<ActiveAccount />} /></Route></Route>{/* Private routes */}<Route element={<PrivateRoutes />}><Route path='/habits/*' element={<HabitsLayout />}><Routepath='paradigms'element={<ParadigmsProvider><ParadigmsPage /></ParadigmsProvider>}/><Routepath='values'element={<ValuesProvider><ValuesPage /></ValuesProvider>}/><Routepath='purposes'element={<PurposesProvider><PurposesPage /></PurposesProvider>}/><Routepath='goals'element={<GoalsProvider><GoalsPage /></GoalsProvider>}/><Routeindexelement={<HabitsProvider><HabitsPage /></HabitsProvider>}/></Route><Route path='abuse-report'><Route index element={<AbuseReportPage />} /><Route path='view/:id' element={<AbuseReportViewPage />} /></Route><Route path='/dashboard'><Route index element={<DashboardPage />} /><Route path='feed/:id' element={<DashboardPage />} /></Route><Route path='/connection'><Route index element={<Navigate to='my-connections' />} /><Route path='my-connections' element={<MyConnectionsPage />} /><Route path='invitations-sent' element={<InvitationsSendPage />} /><Routepath='invitations-received'element={<InvitationsReceivedPage />}/><Routepath='people-you-may-know'element={<PeopleYouMayKnowPage />}/><Route path='people-blocked' element={<PeopleBlockedPage />} /></Route><Route path='/profile'><Route index element={<Navigate to='my-profiles' />} /><Route path='view/:uuid' element={<ProfileViewPage />} /><Routepath='people-viewed-profile'element={<PeopleViewedMyProfilePage />}/><Route path='my-profiles' element={<MyProfilesPage />}><Route path='edit/:uuid' element={<ProfileEditPage />} /></Route></Route><Route path='/job'><Route index element={<Navigate to='saved-jobs' />} /><Route path='view/:uuid' element={<JobViewPage />} /><Route path='saved-jobs' element={<SavedJobsPage />} /><Route path='applied-jobs' element={<AppliedJobsPage />} />\</Route><Route path='/group'><Route index element={<Navigate to='requests-sent' />} /><Route path='requests-sent' element={<GroupsRequestsSendPage />} /><Routepath='invitations-received'element={<GroupsRequestsReceivedPage />}/><Route path='joined-groups' element={<JoinedGroupsPage />} /><Route path='view/:uuid' element={<GroupViewPage />} /><Route path='my-groups' element={<MyGroupsPage />}><Route path='edit/:uuid' element={<GroupEditPage />} /></Route></Route><Route path='/company'><Route index element={<Navigate to='my-companies' />} /><Route path='my-companies' element={<MyCompanies />} /><Routepath='following-companies'element={<FollowingCompaniesPage />}/><Route path='i-work-with' element={<CompaniesWhenIWorkPage />} /><Route path='requests-sent' element={<CompanyRequestSendPage />} /><Route path='requests-sent' element={<CompanyRequestSendPage />} /><Routepath='invitations-received'element={<CompanyInvitationsReceivedPage />}/><Route path='view/:uuid' element={<CompanyViewPage />} /></Route><Route path='/knowledge-area' element={<KnowledgeAreaPage />}><Route path='view/:uuid' element={<KnowledgeViewPage />} /></Route><Route path='/my-coach' element={<MyCoachPage />}><Route path='questions/view/:uuid' element={<MyCoachViewPage />} /></Route><Routepath='/microlearning'element={<MicrolearningLayout><ThemeProvider theme={microlearning}><Outlet /></ThemeProvider></MicrolearningLayout>}><Route index element={<CapsulesPage />} /><Route path='topics'><Route index element={<TopicsPage />} /><Route path=':topicId/capsules' element={<TopicsViewPage />} /></Route><Route path='capsules'><Route path=':capsuleId/*' element={<CapsuleDetailsPage />} /><Route path=':capsuleId/slides' element={<CapsuleSlidesPage />} /></Route><Route path='slides/:uuid' element={<SlidesPage />} /><Route path='companies'><Route index element={<CompaniesPage />} /><Route path=':uuid' element={<ProgressPage />} /></Route><Route path='timeline' element={<TimelinePage />} /><Route path='profile' element={<ProfilePage />} /></Route><Route path='/inmail/*' element={<InmailLayout />}><Route index element={<MainContainer />} /><Route path=':uuid' element={<MessageViewPage />} /><Route path='/user/:uuid' element={<MessageViewPage />} /></Route><Route path='/account-settings' element={<AccountSettingsPage />} /><Route path='/marketplace' element={<MarketPlacePage />} /><Route path='/notifications' element={<NotificationsPage />} /><Route path='/search/entity/:category' element={<SearchPage />} /><Route path='/calendar' element={<CalendarPage />} /><Route path='/signin/impersonate' element={<ImpersonatePage />} /><Route path='/post/:uuid' element={<PostViewPage />} /></Route></Routes></Suspense>)}