Proyectos de Subversion LeadersLinked - SPA

Rev

Rev 3679 | Rev 3682 | Ir a la última revisión | | Comparar con el anterior | Ultima modificación | Ver Log |

Rev Autor Línea Nro. Línea
3452 stevensc 1
import React, { lazy, Suspense } from 'react';
3481 stevensc 2
import { Routes, Route, Navigate } from 'react-router-dom';
2611 stevensc 3
 
2632 stevensc 4
/* Components */
3452 stevensc 5
import AuthRoute from './auth-routes';
6
import PrivateRoutes from './private-routes';
7
import Spinner from '@components/UI/Spinner';
2611 stevensc 8
 
2626 stevensc 9
/* Layouts */
3452 stevensc 10
import RootLayout from '@layouts/root';
11
import AppsNavigation from '@pages/apps-navigation/AppsNavigation';
3127 stevensc 12
 
3452 stevensc 13
import PrivateRoutesLayout from '@layouts/private-routes';
3194 stevensc 14
 
3679 stevensc 15
const HabitsRoutes = lazy(() => import('./habits/routes'));
16
const GroupRoutes = lazy(() => import('./groups/routes'));
17
 
3563 stevensc 18
/* Modules */
3679 stevensc 19
const KnowledgesRoutes = lazy(() => import('@knowledges/routes/KnowledgesRoutes'));
3651 stevensc 20
const MicrolearningRoutes = lazy(() => import('@microlearning/routes/MicrolearningRoutes'));
3565 stevensc 21
const MarketplaceRoutes = lazy(() => import('@marketplace/routes/MarketplaceRoutes'));
3577 stevensc 22
const InmailRoutes = lazy(() => import('@inmail/routes/InmailRoutes'));
3563 stevensc 23
 
24
/* Layouts */
3452 stevensc 25
const AuthLayout = lazy(() => import('@layouts/auth-layout'));
3190 stevensc 26
 
2626 stevensc 27
/* Pages */
3452 stevensc 28
const Browsers = lazy(() => import('@pages/account-settings/browsers'));
29
const BasicSettings = lazy(() => import('@pages/account-settings/basic-settings'));
30
const ChangeImage = lazy(() => import('@pages/account-settings/change-image'));
31
const ChangePassword = lazy(() => import('@pages/account-settings/change-password'));
32
const Devices = lazy(() => import('@pages/account-settings/devices'));
33
const Ips = lazy(() => import('@pages/account-settings/ips'));
34
const Location = lazy(() => import('@pages/account-settings/location'));
35
const Notifications = lazy(() => import('@pages/account-settings/notifications'));
36
const Privacy = lazy(() => import('@pages/account-settings/privacy'));
37
const Transactions = lazy(() => import('@pages/account-settings/transactions'));
38
const CloseAccount = lazy(() => import('@pages/account-settings/close-account'));
39
const Login = lazy(() => import('@app/pages/auth/login'));
40
const Signup = lazy(() => import('@app/pages/auth/signup'));
2630 stevensc 41
// const Navigation = lazy(() => import('@pages/auth/navigation'))
3452 stevensc 42
const ForgotPassword = lazy(() => import('@pages/auth/forgot-password'));
43
const ActiveAccount = lazy(() => import('@pages/auth/active-account'));
44
const ResetPassword = lazy(() => import('@pages/auth/reset-password'));
45
const AbuseReportPage = lazy(() => import('@pages/abuse-report/abuse-repor-page'));
46
const AbuseReportViewPage = lazy(() => import('@pages/abuse-report/abuse-report-view-page'));
47
const ShorterPostPage = lazy(() => import('@pages/shorter/shorter-post-page'));
48
const TermsAndConditionsPage = lazy(
49
  () => import('@pages/terms-and-conditions/TermsAndConditionsPage')
50
);
51
const PrivacyPolicyPage = lazy(() => import('@pages/privacy-policy/PrivacyPolicy'));
52
const CookiesPage = lazy(() => import('@pages/cookies/CookiesPage'));
53
const ProfessionalismPolicy = lazy(
54
  () => import('@pages/professionalism-policy/ProfessionalismPolicy')
55
);
56
const AccountSettingsLayout = lazy(() => import('@layouts/account-settings'));
57
const DashboardPage = lazy(() => import('@pages/dashboard/dashboard-page'));
58
const MyConnectionsPage = lazy(() => import('@pages/connections/MyConnectionsPage'));
59
const InvitationsReceivedPage = lazy(() => import('@pages/connections/InvitationsReceivedPage'));
60
const InvitationsSendPage = lazy(() => import('@pages/connections/InvitationsSendPage'));
61
const PeopleYouMayKnowPage = lazy(() => import('@pages/connections/PeopleYouMayKnowPage'));
62
const PeopleBlockedPage = lazy(() => import('@pages/connections/PeopleBlockedPage'));
63
const MyProfilesPage = lazy(() => import('@pages/profiles/MyProfilesPage'));
64
const PeopleViewedMyProfilePage = lazy(() => import('@pages/profiles/PeopleViewedMyProfilePage'));
65
const SavedJobsPage = lazy(() => import('@pages/jobs/SavedJobsPage'));
66
const AppliedJobsPage = lazy(() => import('@pages/jobs/AppliedJobsPage'));
67
const MyCompanies = lazy(() => import('@pages/company/MyCompaniesPage'));
68
const FollowingCompaniesPage = lazy(() => import('@pages/company/CompaniesIFollowPage'));
69
const CompaniesWhenIWorkPage = lazy(() => import('@pages/company/CompaniesWhenIWorkPage'));
70
const CompanyRequestSendPage = lazy(() => import('@pages/company/CompanyRequestSendPage'));
71
const CompanyInvitationsReceivedPage = lazy(
72
  () => import('@pages/company/CompanyInvitationsReceivedPage')
73
);
74
const ProfileViewPage = lazy(() => import('@pages/profiles/ProfileViewPage'));
75
const ProfileEditPage = lazy(() => import('@pages/profiles/ProfileEditPage'));
76
const CompanyViewPage = lazy(() => import('@pages/company/CompanyViewPage'));
77
const NotificationsPage = lazy(() => import('@pages/notifications/NotificationsPage'));
78
const SearchPage = lazy(() => import('@pages/search/SearchPage'));
2611 stevensc 79
 
3452 stevensc 80
const PostViewPage = lazy(() => import('@pages/posts/PostViewPage'));
81
const MyCoachPage = lazy(() => import('@pages/my-coach/MyCoachPage'));
82
const MyCoachViewPage = lazy(() => import('@pages/my-coach/MyCoachViewPage'));
83
const JobViewPage = lazy(() => import('@pages/jobs/JobView'));
84
const CalendarPage = lazy(() => import('@pages/calendar/CalendarPage'));
85
const ImpersonatePage = lazy(() => import('@pages/impersonate/InpersonatePage'));
86
 
2611 stevensc 87
export default function AppRoutes() {
88
  return (
3681 stevensc 89
    <Suspense fallback={<Spinner absolute />}>
2617 stevensc 90
      <Routes>
2803 stevensc 91
        <Route element={<RootLayout />}>
92
          {/* Public routes */}
93
          <Route path='/shorter/:id' element={<ShorterPostPage />} />
3200 stevensc 94
 
3452 stevensc 95
          <Route path='/terms-and-conditions' element={<TermsAndConditionsPage />} />
3200 stevensc 96
 
2803 stevensc 97
          <Route path='/privacy-policy' element={<PrivacyPolicyPage />} />
3200 stevensc 98
 
3452 stevensc 99
          <Route path='/professionalism-policy' element={<ProfessionalismPolicy />} />
3200 stevensc 100
 
2803 stevensc 101
          <Route path='/cookies' element={<CookiesPage />} />
2617 stevensc 102
 
2803 stevensc 103
          {/* Authentication routes */}
104
          <Route path='/' element={<AuthRoute />}>
105
            <Route element={<AuthLayout />}>
106
              <Route index element={<Navigate to='signin' />} />
107
              <Route path='signin' element={<Login />} />
108
              <Route path='signup' element={<Signup />} />
109
              <Route path='forgot-password' element={<ForgotPassword />} />
110
              <Route path='reset-password/:uuid' element={<ResetPassword />} />
3452 stevensc 111
              <Route path='activate-account/:uuid' element={<ActiveAccount />} />
2803 stevensc 112
            </Route>
2620 stevensc 113
          </Route>
2617 stevensc 114
 
2803 stevensc 115
          {/* Private routes */}
116
          <Route element={<PrivateRoutes />}>
3201 stevensc 117
            <Route element={<PrivateRoutesLayout />}>
3364 stevensc 118
              <Route path='/habits/*' element={<HabitsRoutes />} />
119
 
3201 stevensc 120
              <Route path='/group/*' element={<GroupRoutes />} />
3196 stevensc 121
 
3201 stevensc 122
              <Route path='abuse-report'>
123
                <Route index element={<AbuseReportPage />} />
124
                <Route path='view/:id' element={<AbuseReportViewPage />} />
125
              </Route>
2630 stevensc 126
 
3201 stevensc 127
              <Route path='/dashboard'>
128
                <Route index element={<DashboardPage />} />
129
                <Route path='feed/:id' element={<DashboardPage />} />
130
              </Route>
2630 stevensc 131
 
3201 stevensc 132
              <Route path='/connection'>
133
                <Route index element={<Navigate to='my-connections' />} />
134
                <Route path='my-connections' element={<MyConnectionsPage />} />
3452 stevensc 135
                <Route path='invitations-sent' element={<InvitationsSendPage />} />
136
                <Route path='invitations-received' element={<InvitationsReceivedPage />} />
137
                <Route path='people-you-may-know' element={<PeopleYouMayKnowPage />} />
3201 stevensc 138
                <Route path='people-blocked' element={<PeopleBlockedPage />} />
139
              </Route>
2630 stevensc 140
 
3201 stevensc 141
              <Route path='/profile'>
142
                <Route index element={<Navigate to='my-profiles' />} />
143
                <Route path='view/:uuid' element={<ProfileViewPage />} />
3452 stevensc 144
                <Route path='people-viewed-profile' element={<PeopleViewedMyProfilePage />} />
3201 stevensc 145
                <Route path='my-profiles'>
146
                  <Route index element={<MyProfilesPage />} />
147
                  <Route path='edit/:uuid' element={<ProfileEditPage />} />
148
                </Route>
2803 stevensc 149
              </Route>
2630 stevensc 150
 
3201 stevensc 151
              <Route path='/job'>
152
                <Route index element={<Navigate to='saved-jobs' />} />
153
                <Route path='view/:uuid' element={<JobViewPage />} />
154
                <Route path='saved-jobs' element={<SavedJobsPage />} />
155
                <Route path='applied-jobs' element={<AppliedJobsPage />} />\
156
              </Route>
2630 stevensc 157
 
3201 stevensc 158
              <Route path='/company'>
159
                <Route index element={<Navigate to='my-companies' />} />
160
                <Route path='my-companies' element={<MyCompanies />} />
3452 stevensc 161
                <Route path='following-companies' element={<FollowingCompaniesPage />} />
162
                <Route path='i-work-with' element={<CompaniesWhenIWorkPage />} />
163
                <Route path='requests-sent' element={<CompanyRequestSendPage />} />
164
                <Route path='requests-sent' element={<CompanyRequestSendPage />} />
165
                <Route path='invitations-received' element={<CompanyInvitationsReceivedPage />} />
3201 stevensc 166
                <Route path='view/:uuid' element={<CompanyViewPage />} />
167
              </Route>
2630 stevensc 168
 
3563 stevensc 169
              <Route path='/marketplace/*' element={<MarketplaceRoutes />} />
3562 stevensc 170
 
3201 stevensc 171
              <Route path='/my-coach'>
172
                <Route index element={<MyCoachPage />} />
3452 stevensc 173
                <Route path='questions/view/:uuid' element={<MyCoachViewPage />} />
3201 stevensc 174
              </Route>
175
 
3464 stevensc 176
              <Route path='/knowledge-area/*' element={<KnowledgesRoutes />} />
3482 stevensc 177
              <Route path='/microlearning/*' element={<MicrolearningRoutes />} />
3453 stevensc 178
 
3577 stevensc 179
              <Route path='/inmail/*' element={<InmailRoutes />} />
3047 stevensc 180
 
3452 stevensc 181
              <Route path='/account-settings' element={<AccountSettingsLayout />}>
3201 stevensc 182
                <Route index element={<BasicSettings />} />
183
                <Route path='notifications' element={<Notifications />} />
184
                <Route path='change-password' element={<ChangePassword />} />
185
                <Route path='change-image' element={<ChangeImage />} />
186
                <Route path='location' element={<Location />} />
187
                <Route path='privacy' element={<Privacy />} />
188
                <Route path='browsers' element={<Browsers />} />
189
                <Route path='ips' element={<Ips />} />
190
                <Route path='devices' element={<Devices />} />
191
                <Route path='close-account' element={<CloseAccount />} />
192
                <Route path='transactions' element={<Transactions />} />
2803 stevensc 193
              </Route>
3201 stevensc 194
              <Route path='/notifications' element={<NotificationsPage />} />
195
              <Route path='/search/entity/:category' element={<SearchPage />} />
196
              <Route path='/calendar' element={<CalendarPage />} />
197
              <Route path='/signin/impersonate' element={<ImpersonatePage />} />
198
              <Route path='/post/:uuid' element={<PostViewPage />} />
199
              <Route path='/apps-navigation' element={<AppsNavigation />} />
2803 stevensc 200
 
3201 stevensc 201
              <Route path='*' element={<Navigate to='/dashboard' />} />
2632 stevensc 202
            </Route>
2698 stevensc 203
          </Route>
2617 stevensc 204
        </Route>
205
      </Routes>
206
    </Suspense>
3452 stevensc 207
  );
2611 stevensc 208
}