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