2611 |
stevensc |
1 |
import React, { lazy, Suspense } from 'react'
|
2617 |
stevensc |
2 |
import { Routes, Route } from 'react-router-dom'
|
2611 |
stevensc |
3 |
|
|
|
4 |
import AuthRoute from './auth-routes'
|
|
|
5 |
import PrivateRoutes from './private-routes'
|
|
|
6 |
import Spinner from '@app/components/UI/Spinner'
|
|
|
7 |
|
2629 |
stevensc |
8 |
/* Providers */
|
|
|
9 |
import PurposesProvider from '@app/contexts/purposes'
|
|
|
10 |
import GoalsProvider from '@app/contexts/goals'
|
|
|
11 |
import HabitsProvider from '@app/contexts/habits'
|
|
|
12 |
import ParadigmsProvider from '@app/contexts/paradigms'
|
|
|
13 |
import ValuesProvider from '@app/contexts/values'
|
|
|
14 |
|
|
|
15 |
/* */
|
|
|
16 |
import Paradigms from '@app/components/habits/paradigms/Paradigms'
|
|
|
17 |
import Values from '@app/components/habits/values/Values'
|
|
|
18 |
import Purposes from '@app/components/habits/purposes/Purposes'
|
|
|
19 |
import Goals from '@app/components/habits/goals/Goals'
|
|
|
20 |
import Habits from '@app/components/habits/Habits'
|
|
|
21 |
|
2626 |
stevensc |
22 |
/* Layouts */
|
2620 |
stevensc |
23 |
const HabitsLayout = lazy(() => import('@app/layouts/habits/habits-layout'))
|
|
|
24 |
const AuthLayout = lazy(() => import('@app/layouts/auth/auth-layout'))
|
|
|
25 |
|
2626 |
stevensc |
26 |
/* Pages */
|
2620 |
stevensc |
27 |
const AuthPages = lazy(() => import('@app/pages/auth/auth-pages'))
|
2611 |
stevensc |
28 |
const AbuseReportPage = lazy(() =>
|
|
|
29 |
import('@app/pages/abuse-report/abuse-repor-page')
|
|
|
30 |
)
|
|
|
31 |
const AbuseReportViewPage = lazy(() =>
|
|
|
32 |
import('@app/pages/abuse-report/abuse-report-view-page')
|
|
|
33 |
)
|
|
|
34 |
const ShorterPostPage = lazy(() =>
|
|
|
35 |
import('@app/pages/shorter/shorter-post-page')
|
|
|
36 |
)
|
|
|
37 |
const InmailPage = lazy(() => import('@app/pages/inmail/InmailPage'))
|
|
|
38 |
const TermsAndConditionsPage = lazy(() =>
|
|
|
39 |
import('pages/terms-and-conditions/TermsAndConditionsPage')
|
|
|
40 |
)
|
|
|
41 |
const PrivacyPolicyPage = lazy(() =>
|
|
|
42 |
import('pages/privacy-policy/PrivacyPolicy')
|
|
|
43 |
)
|
|
|
44 |
const CookiesPage = lazy(() => import('pages/cookies/CookiesPage'))
|
|
|
45 |
const ProfessionalismPolicy = lazy(() =>
|
|
|
46 |
import('pages/professionalism-policy/ProfessionalismPolicy')
|
|
|
47 |
)
|
|
|
48 |
|
|
|
49 |
const MicroLearningPage = lazy(() => import('pages/micro-learning/HomePage'))
|
|
|
50 |
const AccountSettingsPage = lazy(() =>
|
|
|
51 |
import('pages/account-settings/AccountSettings')
|
|
|
52 |
)
|
|
|
53 |
const DashboardPage = lazy(() => import('pages/dashboard/DashboardPage'))
|
|
|
54 |
const MyConnectionsPage = lazy(() =>
|
|
|
55 |
import('pages/connections/MyConnectionsPage')
|
|
|
56 |
)
|
|
|
57 |
const InvitationsReceivedPage = lazy(() =>
|
|
|
58 |
import('pages/connections/InvitationsReceivedPage')
|
|
|
59 |
)
|
|
|
60 |
const InvitationsSendPage = lazy(() =>
|
|
|
61 |
import('pages/connections/InvitationsSendPage')
|
|
|
62 |
)
|
|
|
63 |
const PeopleYouMayKnowPage = lazy(() =>
|
|
|
64 |
import('pages/connections/PeopleYouMayKnowPage')
|
|
|
65 |
)
|
|
|
66 |
const PeopleBlockedPage = lazy(() =>
|
|
|
67 |
import('pages/connections/PeopleBlockedPage')
|
|
|
68 |
)
|
|
|
69 |
const MyProfilesPage = lazy(() => import('pages/profiles/MyProfilesPage'))
|
|
|
70 |
const PeopleViewedMyProfilePage = lazy(() =>
|
|
|
71 |
import('pages/profiles/PeopleViewedMyProfilePage')
|
|
|
72 |
)
|
|
|
73 |
const SavedJobsPage = lazy(() => import('pages/jobs/SavedJobsPage'))
|
|
|
74 |
const AppliedJobsPage = lazy(() => import('pages/jobs/AppliedJobsPage'))
|
|
|
75 |
const GroupsRequestsSendPage = lazy(() =>
|
|
|
76 |
import('pages/groups/GroupsRequestsSendPage')
|
|
|
77 |
)
|
|
|
78 |
const GroupsRequestsReceivedPage = lazy(() =>
|
|
|
79 |
import('pages/groups/GroupsRequestsReceivedPage')
|
|
|
80 |
)
|
|
|
81 |
const JoinedGroupsPage = lazy(() => import('pages/groups/JoinedGroupsPage'))
|
|
|
82 |
const MyGroupsPage = lazy(() => import('pages/groups/MyGroupsPage'))
|
|
|
83 |
const MyCompanies = lazy(() => import('pages/company/MyCompaniesPage'))
|
|
|
84 |
const FollowingCompaniesPage = lazy(() =>
|
|
|
85 |
import('pages/company/FollowingCompaniesPage')
|
|
|
86 |
)
|
|
|
87 |
const CompaniesWhenIWorkPage = lazy(() =>
|
|
|
88 |
import('pages/company/CompaniesWhenIWorkPage')
|
|
|
89 |
)
|
|
|
90 |
const CompanyRequestSendPage = lazy(() =>
|
|
|
91 |
import('pages/company/CompanyRequestSendPage')
|
|
|
92 |
)
|
|
|
93 |
const CompanyInvitationsReceivedPage = lazy(() =>
|
|
|
94 |
import('pages/company/CompanyInvitationsReceivedPage')
|
|
|
95 |
)
|
|
|
96 |
const ProfileViewPage = lazy(() => import('pages/profiles/ProfileViewPage'))
|
|
|
97 |
const ProfileEditPage = lazy(() => import('pages/profiles/ProfileEditPage'))
|
|
|
98 |
const CompanyViewPage = lazy(() => import('pages/company/CompanyViewPage'))
|
|
|
99 |
const GroupViewPage = lazy(() => import('pages/groups/GroupViewPage'))
|
|
|
100 |
const GroupEditPage = lazy(() => import('pages/groups/GroupEditPage'))
|
|
|
101 |
|
|
|
102 |
const MarketPlacePage = lazy(() => import('pages/marketplace/MarketplacePage'))
|
|
|
103 |
const NotificationsPage = lazy(() =>
|
|
|
104 |
import('pages/notifications/NotificationsPage')
|
|
|
105 |
)
|
|
|
106 |
const SearchPage = lazy(() => import('pages/search/SearchPage'))
|
|
|
107 |
const KnowledgeAreaPage = lazy(() =>
|
|
|
108 |
import('pages/knowledge-area/KnowledgeAreaPage')
|
|
|
109 |
)
|
|
|
110 |
const KnowledgeViewPage = lazy(() =>
|
|
|
111 |
import('pages/knowledge-area/KnowledgeViewPage')
|
|
|
112 |
)
|
|
|
113 |
const PostViewPage = lazy(() => import('pages/posts/PostViewPage'))
|
|
|
114 |
const MyCoachPage = lazy(() => import('pages/my-coach/MyCoachPage'))
|
|
|
115 |
const MyCoachViewPage = lazy(() => import('pages/my-coach/MyCoachViewPage'))
|
|
|
116 |
const JobViewPage = lazy(() => import('pages/jobs/JobView'))
|
|
|
117 |
const CalendarPage = lazy(() => import('pages/calendar/CalendarPage'))
|
|
|
118 |
const ImpersonatePage = lazy(() => import('pages/impersonate/InpersonatePage'))
|
|
|
119 |
|
|
|
120 |
export default function AppRoutes() {
|
|
|
121 |
return (
|
2617 |
stevensc |
122 |
<Suspense fallback={<Spinner />}>
|
|
|
123 |
<Routes>
|
|
|
124 |
{/* Public routes */}
|
|
|
125 |
<Route path='/shorter/:id' element={<ShorterPostPage />} />
|
|
|
126 |
<Route
|
|
|
127 |
path='/terms-and-conditions'
|
|
|
128 |
element={<TermsAndConditionsPage />}
|
|
|
129 |
/>
|
|
|
130 |
<Route path='/privacy-policy' element={<PrivacyPolicyPage />} />
|
|
|
131 |
<Route
|
|
|
132 |
path='/professionalism-policy'
|
|
|
133 |
element={<ProfessionalismPolicy />}
|
|
|
134 |
/>
|
|
|
135 |
<Route path='/cookies' element={<CookiesPage />} />
|
|
|
136 |
|
|
|
137 |
{/* Authentication routes */}
|
|
|
138 |
<Route path='/' element={<AuthRoute />}>
|
2620 |
stevensc |
139 |
<Route index element={<AuthLayout />}>
|
2628 |
stevensc |
140 |
{/* <AuthPages /> */}
|
2620 |
stevensc |
141 |
</Route>
|
2617 |
stevensc |
142 |
</Route>
|
|
|
143 |
|
|
|
144 |
{/* Private routes */}
|
|
|
145 |
<Route element={<PrivateRoutes />}>
|
2628 |
stevensc |
146 |
<Route path='/habits/*' element={<HabitsLayout />}>
|
2629 |
stevensc |
147 |
<Route
|
|
|
148 |
path='paradigms'
|
|
|
149 |
element={
|
|
|
150 |
<ParadigmsProvider>
|
|
|
151 |
<Paradigms />
|
|
|
152 |
</ParadigmsProvider>
|
|
|
153 |
}
|
|
|
154 |
/>
|
|
|
155 |
<Route
|
|
|
156 |
path='values'
|
|
|
157 |
element={
|
|
|
158 |
<ValuesProvider>
|
|
|
159 |
<Values />
|
|
|
160 |
</ValuesProvider>
|
|
|
161 |
}
|
|
|
162 |
/>
|
|
|
163 |
<Route
|
|
|
164 |
path='purposes'
|
|
|
165 |
element={
|
|
|
166 |
<PurposesProvider>
|
|
|
167 |
<Purposes />
|
|
|
168 |
</PurposesProvider>
|
|
|
169 |
}
|
|
|
170 |
/>
|
|
|
171 |
<Route
|
|
|
172 |
path='goals'
|
|
|
173 |
element={
|
|
|
174 |
<GoalsProvider>
|
|
|
175 |
<Goals />
|
|
|
176 |
</GoalsProvider>
|
|
|
177 |
}
|
|
|
178 |
/>
|
|
|
179 |
<Route
|
|
|
180 |
index
|
|
|
181 |
element={
|
|
|
182 |
<HabitsProvider>
|
|
|
183 |
<Habits />
|
|
|
184 |
</HabitsProvider>
|
|
|
185 |
}
|
|
|
186 |
/>
|
2628 |
stevensc |
187 |
</Route>
|
2611 |
stevensc |
188 |
<Route
|
2617 |
stevensc |
189 |
path='/abuse-report/view/:id'
|
|
|
190 |
element={<AbuseReportViewPage />}
|
2611 |
stevensc |
191 |
/>
|
2617 |
stevensc |
192 |
<Route path='/abuse-report' element={<AbuseReportPage />} />
|
|
|
193 |
<Route path='/microlearning' element={<MicroLearningPage />} />
|
|
|
194 |
<Route path='/account-settings' element={<AccountSettingsPage />} />
|
|
|
195 |
<Route path='/dashboard/feed/:id' element={<DashboardPage />} />
|
|
|
196 |
<Route path='/dashboard' element={<DashboardPage />} />
|
|
|
197 |
<Route path='/connection'>
|
|
|
198 |
<Route path='my-connections' element={<MyConnectionsPage />} />
|
|
|
199 |
<Route path='invitations-sent' element={<InvitationsSendPage />} />
|
2611 |
stevensc |
200 |
<Route
|
2617 |
stevensc |
201 |
path='invitations-received'
|
|
|
202 |
element={<InvitationsReceivedPage />}
|
2611 |
stevensc |
203 |
/>
|
|
|
204 |
<Route
|
2617 |
stevensc |
205 |
path='people-you-may-know'
|
|
|
206 |
element={<PeopleYouMayKnowPage />}
|
2611 |
stevensc |
207 |
/>
|
2617 |
stevensc |
208 |
<Route path='people-blocked' element={<PeopleBlockedPage />} />
|
2611 |
stevensc |
209 |
</Route>
|
2617 |
stevensc |
210 |
<Route path='/profile/my-profiles' element={<MyProfilesPage />} />
|
|
|
211 |
<Route
|
|
|
212 |
path='/profile/people-viewed-profile'
|
|
|
213 |
element={<PeopleViewedMyProfilePage />}
|
|
|
214 |
/>
|
|
|
215 |
<Route path='/profile/view/:uuid' element={<ProfileViewPage />} />
|
|
|
216 |
<Route
|
|
|
217 |
path='/profile/my-profiles/edit/:uuid'
|
|
|
218 |
element={<ProfileEditPage />}
|
|
|
219 |
/>
|
|
|
220 |
<Route path='/job/saved-jobs' element={<SavedJobsPage />} />
|
|
|
221 |
<Route path='/job/applied-jobs' element={<AppliedJobsPage />} />\
|
|
|
222 |
<Route
|
|
|
223 |
path='/group/requests-sent'
|
|
|
224 |
element={<GroupsRequestsSendPage />}
|
|
|
225 |
/>
|
|
|
226 |
<Route
|
|
|
227 |
path='/group/invitations-received'
|
|
|
228 |
element={<GroupsRequestsReceivedPage />}
|
|
|
229 |
/>
|
|
|
230 |
<Route path='/group/joined-groups' element={<JoinedGroupsPage />} />
|
|
|
231 |
<Route path='/group/my-groups' element={<MyGroupsPage />} />
|
|
|
232 |
<Route path='/group/view/:uuid' element={<GroupViewPage />} />
|
|
|
233 |
<Route
|
|
|
234 |
path='/group/my-groups/edit/:uuid'
|
|
|
235 |
element={<GroupEditPage />}
|
|
|
236 |
/>
|
|
|
237 |
<Route path='/company/my-companies' element={<MyCompanies />} />
|
|
|
238 |
<Route
|
|
|
239 |
path='/company/following-companies'
|
|
|
240 |
element={<FollowingCompaniesPage />}
|
|
|
241 |
/>
|
|
|
242 |
<Route
|
|
|
243 |
path='/company/i-work-with'
|
|
|
244 |
element={<CompaniesWhenIWorkPage />}
|
|
|
245 |
/>
|
|
|
246 |
<Route
|
|
|
247 |
path='/company/requests-sent'
|
|
|
248 |
element={<CompanyRequestSendPage />}
|
|
|
249 |
/>
|
|
|
250 |
<Route
|
|
|
251 |
path='/company/requests-sent'
|
|
|
252 |
element={<CompanyRequestSendPage />}
|
|
|
253 |
/>
|
|
|
254 |
<Route
|
|
|
255 |
path='/company/invitations-received'
|
|
|
256 |
element={<CompanyInvitationsReceivedPage />}
|
|
|
257 |
/>
|
|
|
258 |
<Route path='/company/view/:uuid' element={<CompanyViewPage />} />
|
|
|
259 |
<Route path='/marketplace' element={<MarketPlacePage />} />
|
|
|
260 |
<Route path='/notifications' element={<NotificationsPage />} />
|
|
|
261 |
<Route path='/search/entity/:category' element={<SearchPage />} />
|
|
|
262 |
<Route
|
|
|
263 |
path='/knowledge-area/view/:uuid'
|
|
|
264 |
element={<KnowledgeViewPage />}
|
|
|
265 |
/>
|
|
|
266 |
<Route path='/knowledge-area' element={<KnowledgeAreaPage />} />
|
|
|
267 |
<Route path='/job/view/:uuid' element={<JobViewPage />} />
|
|
|
268 |
<Route path='/post/:uuid' element={<PostViewPage />} />
|
|
|
269 |
<Route path='/calendar' element={<CalendarPage />} />
|
|
|
270 |
<Route
|
|
|
271 |
path='/my-coach/questions/view/:uuid'
|
|
|
272 |
element={<MyCoachViewPage />}
|
|
|
273 |
/>
|
|
|
274 |
<Route exact path='/my-coach' element={<MyCoachPage />} />
|
|
|
275 |
<Route path='/signin/impersonate' element={<ImpersonatePage />} />
|
|
|
276 |
<Route exact path='/inmail' element={<InmailPage />} />
|
|
|
277 |
</Route>
|
|
|
278 |
</Routes>
|
|
|
279 |
</Suspense>
|
2611 |
stevensc |
280 |
)
|
|
|
281 |
}
|