Proyectos de Subversion LeadersLinked - SPA

Rev

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