Proyectos de Subversion LeadersLinked - SPA

Rev

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