Proyectos de Subversion LeadersLinked - SPA

Rev

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