Proyectos de Subversion LeadersLinked - SPA

Rev

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