Proyectos de Subversion LeadersLinked - SPA

Rev

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