Proyectos de Subversion LeadersLinked - SPA

Rev

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