Proyectos de Subversion LeadersLinked - SPA

Rev

Rev 2612 | Ir a la última revisión | Autoría | Comparar con el anterior | Ultima modificación | Ver Log |

import React, { lazy, Suspense } from 'react'
import { BrowserRouter, Routes, Route } from 'react-router-dom'

import AuthRoute from './auth-routes'
import PrivateRoutes from './private-routes'
import Spinner from '@app/components/UI/Spinner'

const AuthPage = lazy(() => import('@app/pages/auth/AuthPage'))
const AbuseReportPage = lazy(() =>
  import('@app/pages/abuse-report/abuse-repor-page')
)
const AbuseReportViewPage = lazy(() =>
  import('@app/pages/abuse-report/abuse-report-view-page')
)
const ShorterPostPage = lazy(() =>
  import('@app/pages/shorter/shorter-post-page')
)
const InmailPage = lazy(() => import('@app/pages/inmail/InmailPage'))
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 MicroLearningPage = lazy(() => import('pages/micro-learning/HomePage'))
const AccountSettingsPage = lazy(() =>
  import('pages/account-settings/AccountSettings')
)
const DashboardPage = lazy(() => import('pages/dashboard/DashboardPage'))
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 HabitsPage = lazy(() => import('@app/pages/habits/HabitsPage'))

export default function AppRoutes() {
  return (
    <BrowserRouter>
      <Suspense fallback={<Spinner />}>
        <Routes>
          <Route path='/shorter/:id' element={<ShorterPostPage />} />
          <Route
            path='/terms-and-conditions'
            element={<TermsAndConditionsPage />}
          />
          <Route path='/privacy-policy' element={<PrivacyPolicyPage />} />
          <Route
            path='/professionalism-policy'
            element={<ProfessionalismPolicy />}
          />
          <Route path='/cookies' element={<CookiesPage />} />

          {/* Authentication routes */}
          <Route path='/' element={<AuthRoute />}>
            <Route index element={<AuthPage />} />
          </Route>

          {/* Private routes */}
          <Route element={<PrivateRoutes />}>
            <Route path='/habits' element={<HabitsPage />} />
            <Route
              path='/abuse-report/view/:id'
              element={<AbuseReportViewPage />}
            />
            <Route path='/abuse-report' element={<AbuseReportPage />} />
            <Route path='/microlearning' element={<MicroLearningPage />} />
            <Route path='/account-settings' element={<AccountSettingsPage />} />
            <Route path='/dashboard/feed/:id' element={<DashboardPage />} />
            <Route path='/dashboard' element={<DashboardPage />} />
            <Route path='/connection'>
              <Route path='my-connections' element={<MyConnectionsPage />} />
              <Route
                path='invitations-sent'
                element={<InvitationsSendPage />}
              />
              <Route
                path='invitations-received'
                element={<InvitationsReceivedPage />}
              />
              <Route
                path='people-you-may-know'
                element={<PeopleYouMayKnowPage />}
              />
              <Route path='people-blocked' element={<PeopleBlockedPage />} />
            </Route>
            <Route path='/profile/my-profiles' element={<MyProfilesPage />} />
            <Route
              path='/profile/people-viewed-profile'
              element={<PeopleViewedMyProfilePage />}
            />
            <Route path='/profile/view/:uuid' element={<ProfileViewPage />} />
            <Route
              path='/profile/my-profiles/edit/:uuid'
              element={<ProfileEditPage />}
            />
            <Route path='/job/saved-jobs' element={<SavedJobsPage />} />
            <Route path='/job/applied-jobs' element={<AppliedJobsPage />} />\
            <Route
              path='/group/requests-sent'
              element={<GroupsRequestsSendPage />}
            />
            <Route
              path='/group/invitations-received'
              element={<GroupsRequestsReceivedPage />}
            />
            <Route path='/group/joined-groups' element={<JoinedGroupsPage />} />
            <Route path='/group/my-groups' element={<MyGroupsPage />} />
            <Route path='/group/view/:uuid' element={<GroupViewPage />} />
            <Route
              path='/group/my-groups/edit/:uuid'
              element={<GroupEditPage />}
            />
            <Route path='/company/my-companies' element={<MyCompanies />} />
            <Route
              path='/company/following-companies'
              element={<FollowingCompaniesPage />}
            />
            <Route
              path='/company/i-work-with'
              element={<CompaniesWhenIWorkPage />}
            />
            <Route
              path='/company/requests-sent'
              element={<CompanyRequestSendPage />}
            />
            <Route
              path='/company/requests-sent'
              element={<CompanyRequestSendPage />}
            />
            <Route
              path='/company/invitations-received'
              element={<CompanyInvitationsReceivedPage />}
            />
            <Route path='/company/view/:uuid' element={<CompanyViewPage />} />
            <Route path='/marketplace' element={<MarketPlacePage />} />
            <Route path='/notifications' element={<NotificationsPage />} />
            <Route path='/search/entity/:category' element={<SearchPage />} />
            <Route
              path='/knowledge-area/view/:uuid'
              element={<KnowledgeViewPage />}
            />
            <Route path='/knowledge-area' element={<KnowledgeAreaPage />} />
            <Route path='/job/view/:uuid' element={<JobViewPage />} />
            <Route path='/post/:uuid' element={<PostViewPage />} />
            <Route path='/calendar' element={<CalendarPage />} />
            <Route
              path='/my-coach/questions/view/:uuid'
              element={<MyCoachViewPage />}
            />
            <Route exact path='/my-coach' element={<MyCoachPage />} />
            <Route path='/signin/impersonate' element={<ImpersonatePage />} />
            <Route exact path='/inmail' element={<InmailPage />} />
          </Route>
        </Routes>
      </Suspense>
    </BrowserRouter>
  )
}