Proyectos de Subversion LeadersLinked - SPA

Rev

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