Proyectos de Subversion LeadersLinked - SPA

Rev

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

Rev Autor Línea Nro. Línea
2611 stevensc 1
import React, { lazy, Suspense } from 'react'
2632 stevensc 2
import { Routes, Route, Navigate, Outlet } from 'react-router-dom'
2611 stevensc 3
 
2632 stevensc 4
/* Components */
2611 stevensc 5
import AuthRoute from './auth-routes'
6
import PrivateRoutes from './private-routes'
2914 stevensc 7
import Spinner from '@components/UI/Spinner'
2611 stevensc 8
 
2629 stevensc 9
/* Providers */
10
 
2626 stevensc 11
/* Layouts */
2914 stevensc 12
import RootLayout from '@layouts/root'
2960 stevensc 13
import AppsNavigation from '@pages/apps-navigation/AppsNavigation'
3127 stevensc 14
 
2914 stevensc 15
const InmailLayout = lazy(() => import('@layouts/inmail/inmail-layout'))
2632 stevensc 16
const AuthLayout = lazy(() => import('@layouts/auth/auth-layout'))
3190 stevensc 17
 
2632 stevensc 18
const MicrolearningLayout = lazy(() =>
19
  import('@layouts/micro-learning/micro-learning-layout')
20
)
2620 stevensc 21
 
2626 stevensc 22
/* Pages */
2914 stevensc 23
const InmailPage = lazy(() => import('@pages/inmail/inmail-page'))
24
const MessageViewPage = lazy(() => import('@pages/inmail/message-view-page'))
2781 stevensc 25
const Browsers = lazy(() => import('@pages/account-settings/browsers'))
26
const BasicSettings = lazy(() =>
27
  import('@pages/account-settings/basic-settings')
28
)
29
const ChangeImage = lazy(() => import('@pages/account-settings/change-image'))
30
const ChangePassword = lazy(() =>
31
  import('@pages/account-settings/change-password')
32
)
33
const Devices = lazy(() => import('@pages/account-settings/devices'))
34
const Ips = lazy(() => import('@pages/account-settings/ips'))
35
const Location = lazy(() => import('@pages/account-settings/location'))
36
const Notifications = lazy(() =>
37
  import('@pages/account-settings/notifications')
38
)
39
const Privacy = lazy(() => import('@pages/account-settings/privacy'))
40
const Transactions = lazy(() => import('@pages/account-settings/transactions'))
41
const CloseAccount = lazy(() => import('@pages/account-settings/close-account'))
2630 stevensc 42
const Login = lazy(() => import('@app/pages/auth/login'))
43
const Signup = lazy(() => import('@app/pages/auth/signup'))
44
// const Navigation = lazy(() => import('@pages/auth/navigation'))
45
const ForgotPassword = lazy(() => import('@pages/auth/forgot-password'))
46
const ActiveAccount = lazy(() => import('@pages/auth/active-account'))
47
const ResetPassword = lazy(() => import('@pages/auth/reset-password'))
2611 stevensc 48
const AbuseReportPage = lazy(() =>
2630 stevensc 49
  import('@pages/abuse-report/abuse-repor-page')
2611 stevensc 50
)
51
const AbuseReportViewPage = lazy(() =>
2630 stevensc 52
  import('@pages/abuse-report/abuse-report-view-page')
2611 stevensc 53
)
2630 stevensc 54
const ShorterPostPage = lazy(() => import('@pages/shorter/shorter-post-page'))
2611 stevensc 55
const TermsAndConditionsPage = lazy(() =>
2630 stevensc 56
  import('@pages/terms-and-conditions/TermsAndConditionsPage')
2611 stevensc 57
)
58
const PrivacyPolicyPage = lazy(() =>
2630 stevensc 59
  import('@pages/privacy-policy/PrivacyPolicy')
2611 stevensc 60
)
2630 stevensc 61
const CookiesPage = lazy(() => import('@pages/cookies/CookiesPage'))
2611 stevensc 62
const ProfessionalismPolicy = lazy(() =>
2630 stevensc 63
  import('@pages/professionalism-policy/ProfessionalismPolicy')
2611 stevensc 64
)
2781 stevensc 65
const AccountSettingsLayout = lazy(() => import('@layouts/account-settings'))
2674 stevensc 66
const DashboardPage = lazy(() => import('@pages/dashboard/dashboard-page'))
2611 stevensc 67
const MyConnectionsPage = lazy(() =>
2630 stevensc 68
  import('@pages/connections/MyConnectionsPage')
2611 stevensc 69
)
70
const InvitationsReceivedPage = lazy(() =>
2630 stevensc 71
  import('@pages/connections/InvitationsReceivedPage')
2611 stevensc 72
)
73
const InvitationsSendPage = lazy(() =>
2630 stevensc 74
  import('@pages/connections/InvitationsSendPage')
2611 stevensc 75
)
76
const PeopleYouMayKnowPage = lazy(() =>
2630 stevensc 77
  import('@pages/connections/PeopleYouMayKnowPage')
2611 stevensc 78
)
79
const PeopleBlockedPage = lazy(() =>
2630 stevensc 80
  import('@pages/connections/PeopleBlockedPage')
2611 stevensc 81
)
2630 stevensc 82
const MyProfilesPage = lazy(() => import('@pages/profiles/MyProfilesPage'))
2611 stevensc 83
const PeopleViewedMyProfilePage = lazy(() =>
2630 stevensc 84
  import('@pages/profiles/PeopleViewedMyProfilePage')
2611 stevensc 85
)
2630 stevensc 86
const SavedJobsPage = lazy(() => import('@pages/jobs/SavedJobsPage'))
87
const AppliedJobsPage = lazy(() => import('@pages/jobs/AppliedJobsPage'))
2611 stevensc 88
const GroupsRequestsSendPage = lazy(() =>
2630 stevensc 89
  import('@pages/groups/GroupsRequestsSendPage')
2611 stevensc 90
)
91
const GroupsRequestsReceivedPage = lazy(() =>
2630 stevensc 92
  import('@pages/groups/GroupsRequestsReceivedPage')
2611 stevensc 93
)
2630 stevensc 94
const JoinedGroupsPage = lazy(() => import('@pages/groups/JoinedGroupsPage'))
95
const MyGroupsPage = lazy(() => import('@pages/groups/MyGroupsPage'))
96
const MyCompanies = lazy(() => import('@pages/company/MyCompaniesPage'))
2611 stevensc 97
const FollowingCompaniesPage = lazy(() =>
2864 stevensc 98
  import('@pages/company/CompaniesIFollowPage')
2611 stevensc 99
)
100
const CompaniesWhenIWorkPage = lazy(() =>
2630 stevensc 101
  import('@pages/company/CompaniesWhenIWorkPage')
2611 stevensc 102
)
103
const CompanyRequestSendPage = lazy(() =>
2630 stevensc 104
  import('@pages/company/CompanyRequestSendPage')
2611 stevensc 105
)
106
const CompanyInvitationsReceivedPage = lazy(() =>
2630 stevensc 107
  import('@pages/company/CompanyInvitationsReceivedPage')
2611 stevensc 108
)
2630 stevensc 109
const ProfileViewPage = lazy(() => import('@pages/profiles/ProfileViewPage'))
110
const ProfileEditPage = lazy(() => import('@pages/profiles/ProfileEditPage'))
111
const CompanyViewPage = lazy(() => import('@pages/company/CompanyViewPage'))
3066 stevensc 112
const GroupViewPage = lazy(() => import('@pages/groups/GroupPage'))
2630 stevensc 113
const GroupEditPage = lazy(() => import('@pages/groups/GroupEditPage'))
2611 stevensc 114
 
2630 stevensc 115
const MarketPlacePage = lazy(() => import('@pages/marketplace/MarketplacePage'))
2611 stevensc 116
const NotificationsPage = lazy(() =>
2630 stevensc 117
  import('@pages/notifications/NotificationsPage')
2611 stevensc 118
)
2630 stevensc 119
const SearchPage = lazy(() => import('@pages/search/SearchPage'))
2611 stevensc 120
const KnowledgeAreaPage = lazy(() =>
2630 stevensc 121
  import('@pages/knowledge-area/KnowledgeAreaPage')
2611 stevensc 122
)
123
const KnowledgeViewPage = lazy(() =>
2630 stevensc 124
  import('@pages/knowledge-area/KnowledgeViewPage')
2611 stevensc 125
)
2630 stevensc 126
const PostViewPage = lazy(() => import('@pages/posts/PostViewPage'))
127
const MyCoachPage = lazy(() => import('@pages/my-coach/MyCoachPage'))
128
const MyCoachViewPage = lazy(() => import('@pages/my-coach/MyCoachViewPage'))
129
const JobViewPage = lazy(() => import('@pages/jobs/JobView'))
130
const CalendarPage = lazy(() => import('@pages/calendar/CalendarPage'))
131
const ImpersonatePage = lazy(() => import('@pages/impersonate/InpersonatePage'))
2632 stevensc 132
const CapsulesPage = lazy(() => import('@pages/micro-learning/CapsulesPage'))
133
const CapsuleDetailsPage = lazy(() =>
134
  import('@pages/micro-learning/CapsuleInfoPage')
135
)
136
const SlidesPage = lazy(() => import('@pages/micro-learning/SlideViewPage'))
137
const ProgressPage = lazy(() => import('@pages/micro-learning/ProgressPage'))
138
const CompaniesPage = lazy(() => import('@pages/micro-learning/CompaniesPage'))
139
const CapsuleSlidesPage = lazy(() =>
140
  import('@pages/micro-learning/CapsuleViewPage')
141
)
142
const TimelinePage = lazy(() => import('@pages/micro-learning/TimelinePage'))
143
const ProfilePage = lazy(() => import('@pages/micro-learning/ProfilePage'))
144
const TopicsPage = lazy(() => import('@pages/micro-learning/TopicsPage'))
145
const TopicsViewPage = lazy(() => import('@pages/micro-learning/TopicViewPage'))
2611 stevensc 146
 
147
export default function AppRoutes() {
148
  return (
2617 stevensc 149
    <Suspense fallback={<Spinner />}>
150
      <Routes>
2803 stevensc 151
        <Route element={<RootLayout />}>
152
          {/* Public routes */}
153
          <Route path='/shorter/:id' element={<ShorterPostPage />} />
154
          <Route
155
            path='/terms-and-conditions'
156
            element={<TermsAndConditionsPage />}
157
          />
158
          <Route path='/privacy-policy' element={<PrivacyPolicyPage />} />
159
          <Route
160
            path='/professionalism-policy'
161
            element={<ProfessionalismPolicy />}
162
          />
163
          <Route path='/cookies' element={<CookiesPage />} />
2617 stevensc 164
 
2803 stevensc 165
          {/* Authentication routes */}
166
          <Route path='/' element={<AuthRoute />}>
167
            <Route element={<AuthLayout />}>
168
              <Route index element={<Navigate to='signin' />} />
169
              <Route path='signin' element={<Login />} />
170
              <Route path='signup' element={<Signup />} />
171
              <Route path='forgot-password' element={<ForgotPassword />} />
172
              <Route path='reset-password/:uuid' element={<ResetPassword />} />
173
              <Route
174
                path='activate-account/:uuid'
175
                element={<ActiveAccount />}
176
              />
177
            </Route>
2620 stevensc 178
          </Route>
2617 stevensc 179
 
2803 stevensc 180
          {/* Private routes */}
181
          <Route element={<PrivateRoutes />}>
182
            <Route path='abuse-report'>
183
              <Route index element={<AbuseReportPage />} />
184
              <Route path='view/:id' element={<AbuseReportViewPage />} />
185
            </Route>
2630 stevensc 186
 
2803 stevensc 187
            <Route path='/dashboard'>
188
              <Route index element={<DashboardPage />} />
189
              <Route path='feed/:id' element={<DashboardPage />} />
190
            </Route>
2630 stevensc 191
 
2803 stevensc 192
            <Route path='/connection'>
193
              <Route index element={<Navigate to='my-connections' />} />
194
              <Route path='my-connections' element={<MyConnectionsPage />} />
195
              <Route
196
                path='invitations-sent'
197
                element={<InvitationsSendPage />}
198
              />
199
              <Route
200
                path='invitations-received'
201
                element={<InvitationsReceivedPage />}
202
              />
203
              <Route
204
                path='people-you-may-know'
205
                element={<PeopleYouMayKnowPage />}
206
              />
207
              <Route path='people-blocked' element={<PeopleBlockedPage />} />
208
            </Route>
2630 stevensc 209
 
2803 stevensc 210
            <Route path='/profile'>
211
              <Route index element={<Navigate to='my-profiles' />} />
212
              <Route path='view/:uuid' element={<ProfileViewPage />} />
213
              <Route
214
                path='people-viewed-profile'
215
                element={<PeopleViewedMyProfilePage />}
216
              />
2866 stevensc 217
              <Route path='my-profiles'>
218
                <Route index element={<MyProfilesPage />} />
2803 stevensc 219
                <Route path='edit/:uuid' element={<ProfileEditPage />} />
220
              </Route>
2630 stevensc 221
            </Route>
222
 
2803 stevensc 223
            <Route path='/job'>
224
              <Route index element={<Navigate to='saved-jobs' />} />
225
              <Route path='view/:uuid' element={<JobViewPage />} />
226
              <Route path='saved-jobs' element={<SavedJobsPage />} />
227
              <Route path='applied-jobs' element={<AppliedJobsPage />} />\
228
            </Route>
2630 stevensc 229
 
2803 stevensc 230
            <Route path='/group'>
231
              <Route index element={<Navigate to='requests-sent' />} />
232
              <Route
233
                path='requests-sent'
234
                element={<GroupsRequestsSendPage />}
235
              />
236
              <Route
237
                path='invitations-received'
238
                element={<GroupsRequestsReceivedPage />}
239
              />
240
              <Route path='joined-groups' element={<JoinedGroupsPage />} />
241
              <Route path='view/:uuid' element={<GroupViewPage />} />
2877 stevensc 242
              <Route path='my-groups'>
243
                <Route index element={<MyGroupsPage />} />
2803 stevensc 244
                <Route path='edit/:uuid' element={<GroupEditPage />} />
245
              </Route>
2630 stevensc 246
            </Route>
247
 
2803 stevensc 248
            <Route path='/company'>
249
              <Route index element={<Navigate to='my-companies' />} />
250
              <Route path='my-companies' element={<MyCompanies />} />
251
              <Route
252
                path='following-companies'
253
                element={<FollowingCompaniesPage />}
254
              />
255
              <Route path='i-work-with' element={<CompaniesWhenIWorkPage />} />
256
              <Route
257
                path='requests-sent'
258
                element={<CompanyRequestSendPage />}
259
              />
260
              <Route
261
                path='requests-sent'
262
                element={<CompanyRequestSendPage />}
263
              />
264
              <Route
265
                path='invitations-received'
266
                element={<CompanyInvitationsReceivedPage />}
267
              />
268
              <Route path='view/:uuid' element={<CompanyViewPage />} />
269
            </Route>
2630 stevensc 270
 
2877 stevensc 271
            <Route path='/knowledge-area'>
272
              <Route index element={<KnowledgeAreaPage />} />
2803 stevensc 273
              <Route path='view/:uuid' element={<KnowledgeViewPage />} />
274
            </Route>
2630 stevensc 275
 
2877 stevensc 276
            <Route path='/my-coach'>
277
              <Route index element={<MyCoachPage />} />
2803 stevensc 278
              <Route
279
                path='questions/view/:uuid'
280
                element={<MyCoachViewPage />}
281
              />
2632 stevensc 282
            </Route>
2877 stevensc 283
 
2803 stevensc 284
            <Route
285
              path='/microlearning'
286
              element={
287
                <MicrolearningLayout>
2914 stevensc 288
                  <Outlet />
2803 stevensc 289
                </MicrolearningLayout>
290
              }
291
            >
292
              <Route index element={<CapsulesPage />} />
3047 stevensc 293
 
2803 stevensc 294
              <Route path='topics'>
295
                <Route index element={<TopicsPage />} />
296
                <Route path=':topicId/capsules' element={<TopicsViewPage />} />
297
              </Route>
3047 stevensc 298
 
2803 stevensc 299
              <Route path='capsules'>
300
                <Route path=':capsuleId/*' element={<CapsuleDetailsPage />} />
301
                <Route
302
                  path=':capsuleId/slides'
303
                  element={<CapsuleSlidesPage />}
304
                />
305
              </Route>
3047 stevensc 306
 
2803 stevensc 307
              <Route path='slides/:uuid' element={<SlidesPage />} />
308
              <Route path='companies'>
309
                <Route index element={<CompaniesPage />} />
310
                <Route path=':uuid' element={<ProgressPage />} />
311
              </Route>
312
              <Route path='timeline' element={<TimelinePage />} />
313
              <Route path='profile' element={<ProfilePage />} />
2632 stevensc 314
            </Route>
2803 stevensc 315
 
316
            <Route path='/inmail/*' element={<InmailLayout />}>
2827 stevensc 317
              <Route index element={<InmailPage />} />
2803 stevensc 318
              <Route path=':uuid' element={<MessageViewPage />} />
2632 stevensc 319
            </Route>
2630 stevensc 320
 
2803 stevensc 321
            <Route path='/account-settings' element={<AccountSettingsLayout />}>
322
              <Route index element={<BasicSettings />} />
323
              <Route path='notifications' element={<Notifications />} />
324
              <Route path='change-password' element={<ChangePassword />} />
325
              <Route path='change-image' element={<ChangeImage />} />
326
              <Route path='location' element={<Location />} />
327
              <Route path='privacy' element={<Privacy />} />
328
              <Route path='browsers' element={<Browsers />} />
329
              <Route path='ips' element={<Ips />} />
330
              <Route path='devices' element={<Devices />} />
331
              <Route path='close-account' element={<CloseAccount />} />
332
              <Route path='transactions' element={<Transactions />} />
333
            </Route>
334
            <Route path='/marketplace' element={<MarketPlacePage />} />
335
            <Route path='/notifications' element={<NotificationsPage />} />
336
            <Route path='/search/entity/:category' element={<SearchPage />} />
337
            <Route path='/calendar' element={<CalendarPage />} />
338
            <Route path='/signin/impersonate' element={<ImpersonatePage />} />
339
            <Route path='/post/:uuid' element={<PostViewPage />} />
2960 stevensc 340
            <Route path='/apps-navigation' element={<AppsNavigation />} />
3160 stevensc 341
 
342
            <Route path='*' element={<Navigate to='/dashboard' />} />
2698 stevensc 343
          </Route>
2617 stevensc 344
        </Route>
345
      </Routes>
346
    </Suspense>
2611 stevensc 347
  )
348
}