Proyectos de Subversion LeadersLinked - SPA

Rev

Rev 3453 | Rev 3481 | Ir a la última revisión | | Comparar con el anterior | Ultima modificación | Ver Log |

Rev Autor Línea Nro. Línea
3452 stevensc 1
import React, { lazy, Suspense } from 'react';
2
import { Routes, Route, Navigate, Outlet } from 'react-router-dom';
2611 stevensc 3
 
2632 stevensc 4
/* Components */
3452 stevensc 5
import AuthRoute from './auth-routes';
6
import PrivateRoutes from './private-routes';
7
import Spinner from '@components/UI/Spinner';
2611 stevensc 8
 
2626 stevensc 9
/* Layouts */
3452 stevensc 10
import RootLayout from '@layouts/root';
11
import AppsNavigation from '@pages/apps-navigation/AppsNavigation';
3127 stevensc 12
 
3452 stevensc 13
import HabitsRoutes from './habits/routes';
14
import GroupRoutes from './groups/routes';
15
import PrivateRoutesLayout from '@layouts/private-routes';
3453 stevensc 16
import KnowledgesRoutes from '@knowledges/routes/knowledges-routes';
3194 stevensc 17
 
3452 stevensc 18
const InmailLayout = lazy(() => import('@layouts/inmail/inmail-layout'));
19
const AuthLayout = lazy(() => import('@layouts/auth-layout'));
3190 stevensc 20
 
3452 stevensc 21
const MicrolearningLayout = lazy(() => import('@layouts/micro-learning/micro-learning-layout'));
2620 stevensc 22
 
2626 stevensc 23
/* Pages */
3452 stevensc 24
const InmailPage = lazy(() => import('@pages/inmail/InmailPage'));
25
const MessageViewPage = lazy(() => import('@pages/inmail/message-view-page'));
26
const Browsers = lazy(() => import('@pages/account-settings/browsers'));
27
const BasicSettings = lazy(() => import('@pages/account-settings/basic-settings'));
28
const ChangeImage = lazy(() => import('@pages/account-settings/change-image'));
29
const ChangePassword = lazy(() => import('@pages/account-settings/change-password'));
30
const Devices = lazy(() => import('@pages/account-settings/devices'));
31
const Ips = lazy(() => import('@pages/account-settings/ips'));
32
const Location = lazy(() => import('@pages/account-settings/location'));
33
const Notifications = lazy(() => import('@pages/account-settings/notifications'));
34
const Privacy = lazy(() => import('@pages/account-settings/privacy'));
35
const Transactions = lazy(() => import('@pages/account-settings/transactions'));
36
const CloseAccount = lazy(() => import('@pages/account-settings/close-account'));
37
const Login = lazy(() => import('@app/pages/auth/login'));
38
const Signup = lazy(() => import('@app/pages/auth/signup'));
2630 stevensc 39
// const Navigation = lazy(() => import('@pages/auth/navigation'))
3452 stevensc 40
const ForgotPassword = lazy(() => import('@pages/auth/forgot-password'));
41
const ActiveAccount = lazy(() => import('@pages/auth/active-account'));
42
const ResetPassword = lazy(() => import('@pages/auth/reset-password'));
43
const AbuseReportPage = lazy(() => import('@pages/abuse-report/abuse-repor-page'));
44
const AbuseReportViewPage = lazy(() => import('@pages/abuse-report/abuse-report-view-page'));
45
const ShorterPostPage = lazy(() => import('@pages/shorter/shorter-post-page'));
46
const TermsAndConditionsPage = lazy(
47
  () => import('@pages/terms-and-conditions/TermsAndConditionsPage')
48
);
49
const PrivacyPolicyPage = lazy(() => import('@pages/privacy-policy/PrivacyPolicy'));
50
const CookiesPage = lazy(() => import('@pages/cookies/CookiesPage'));
51
const ProfessionalismPolicy = lazy(
52
  () => import('@pages/professionalism-policy/ProfessionalismPolicy')
53
);
54
const AccountSettingsLayout = lazy(() => import('@layouts/account-settings'));
55
const DashboardPage = lazy(() => import('@pages/dashboard/dashboard-page'));
56
const MyConnectionsPage = lazy(() => import('@pages/connections/MyConnectionsPage'));
57
const InvitationsReceivedPage = lazy(() => import('@pages/connections/InvitationsReceivedPage'));
58
const InvitationsSendPage = lazy(() => import('@pages/connections/InvitationsSendPage'));
59
const PeopleYouMayKnowPage = lazy(() => import('@pages/connections/PeopleYouMayKnowPage'));
60
const PeopleBlockedPage = lazy(() => import('@pages/connections/PeopleBlockedPage'));
61
const MyProfilesPage = lazy(() => import('@pages/profiles/MyProfilesPage'));
62
const PeopleViewedMyProfilePage = lazy(() => import('@pages/profiles/PeopleViewedMyProfilePage'));
63
const SavedJobsPage = lazy(() => import('@pages/jobs/SavedJobsPage'));
64
const AppliedJobsPage = lazy(() => import('@pages/jobs/AppliedJobsPage'));
65
const MyCompanies = lazy(() => import('@pages/company/MyCompaniesPage'));
66
const FollowingCompaniesPage = lazy(() => import('@pages/company/CompaniesIFollowPage'));
67
const CompaniesWhenIWorkPage = lazy(() => import('@pages/company/CompaniesWhenIWorkPage'));
68
const CompanyRequestSendPage = lazy(() => import('@pages/company/CompanyRequestSendPage'));
69
const CompanyInvitationsReceivedPage = lazy(
70
  () => import('@pages/company/CompanyInvitationsReceivedPage')
71
);
72
const ProfileViewPage = lazy(() => import('@pages/profiles/ProfileViewPage'));
73
const ProfileEditPage = lazy(() => import('@pages/profiles/ProfileEditPage'));
74
const CompanyViewPage = lazy(() => import('@pages/company/CompanyViewPage'));
2611 stevensc 75
 
3452 stevensc 76
const NotificationsPage = lazy(() => import('@pages/notifications/NotificationsPage'));
77
const SearchPage = lazy(() => import('@pages/search/SearchPage'));
2611 stevensc 78
 
3452 stevensc 79
const PostViewPage = lazy(() => import('@pages/posts/PostViewPage'));
80
const MyCoachPage = lazy(() => import('@pages/my-coach/MyCoachPage'));
81
const MyCoachViewPage = lazy(() => import('@pages/my-coach/MyCoachViewPage'));
82
const JobViewPage = lazy(() => import('@pages/jobs/JobView'));
83
const CalendarPage = lazy(() => import('@pages/calendar/CalendarPage'));
84
const ImpersonatePage = lazy(() => import('@pages/impersonate/InpersonatePage'));
85
const CapsulesPage = lazy(() => import('@pages/micro-learning/CapsulesPage'));
86
const CapsuleDetailsPage = lazy(() => import('@pages/micro-learning/CapsuleInfoPage'));
87
const SlidesPage = lazy(() => import('@pages/micro-learning/SlideViewPage'));
88
const ProgressPage = lazy(() => import('@pages/micro-learning/ProgressPage'));
89
const CompaniesPage = lazy(() => import('@pages/micro-learning/CompaniesPage'));
90
const CapsuleSlidesPage = lazy(() => import('@pages/micro-learning/CapsuleViewPage'));
91
const TimelinePage = lazy(() => import('@pages/micro-learning/TimelinePage'));
92
const ProfilePage = lazy(() => import('@pages/micro-learning/ProfilePage'));
93
const TopicsPage = lazy(() => import('@pages/micro-learning/TopicsPage'));
94
const TopicsViewPage = lazy(() => import('@pages/micro-learning/TopicViewPage'));
95
 
2611 stevensc 96
export default function AppRoutes() {
97
  return (
2617 stevensc 98
    <Suspense fallback={<Spinner />}>
99
      <Routes>
2803 stevensc 100
        <Route element={<RootLayout />}>
101
          {/* Public routes */}
102
          <Route path='/shorter/:id' element={<ShorterPostPage />} />
3200 stevensc 103
 
3452 stevensc 104
          <Route path='/terms-and-conditions' element={<TermsAndConditionsPage />} />
3200 stevensc 105
 
2803 stevensc 106
          <Route path='/privacy-policy' element={<PrivacyPolicyPage />} />
3200 stevensc 107
 
3452 stevensc 108
          <Route path='/professionalism-policy' element={<ProfessionalismPolicy />} />
3200 stevensc 109
 
2803 stevensc 110
          <Route path='/cookies' element={<CookiesPage />} />
2617 stevensc 111
 
2803 stevensc 112
          {/* Authentication routes */}
113
          <Route path='/' element={<AuthRoute />}>
114
            <Route element={<AuthLayout />}>
115
              <Route index element={<Navigate to='signin' />} />
116
              <Route path='signin' element={<Login />} />
117
              <Route path='signup' element={<Signup />} />
118
              <Route path='forgot-password' element={<ForgotPassword />} />
119
              <Route path='reset-password/:uuid' element={<ResetPassword />} />
3452 stevensc 120
              <Route path='activate-account/:uuid' element={<ActiveAccount />} />
2803 stevensc 121
            </Route>
2620 stevensc 122
          </Route>
2617 stevensc 123
 
2803 stevensc 124
          {/* Private routes */}
125
          <Route element={<PrivateRoutes />}>
3201 stevensc 126
            <Route element={<PrivateRoutesLayout />}>
3364 stevensc 127
              <Route path='/habits/*' element={<HabitsRoutes />} />
128
 
3201 stevensc 129
              <Route path='/group/*' element={<GroupRoutes />} />
3196 stevensc 130
 
3201 stevensc 131
              <Route path='abuse-report'>
132
                <Route index element={<AbuseReportPage />} />
133
                <Route path='view/:id' element={<AbuseReportViewPage />} />
134
              </Route>
2630 stevensc 135
 
3201 stevensc 136
              <Route path='/dashboard'>
137
                <Route index element={<DashboardPage />} />
138
                <Route path='feed/:id' element={<DashboardPage />} />
139
              </Route>
2630 stevensc 140
 
3201 stevensc 141
              <Route path='/connection'>
142
                <Route index element={<Navigate to='my-connections' />} />
143
                <Route path='my-connections' element={<MyConnectionsPage />} />
3452 stevensc 144
                <Route path='invitations-sent' element={<InvitationsSendPage />} />
145
                <Route path='invitations-received' element={<InvitationsReceivedPage />} />
146
                <Route path='people-you-may-know' element={<PeopleYouMayKnowPage />} />
3201 stevensc 147
                <Route path='people-blocked' element={<PeopleBlockedPage />} />
148
              </Route>
2630 stevensc 149
 
3201 stevensc 150
              <Route path='/profile'>
151
                <Route index element={<Navigate to='my-profiles' />} />
152
                <Route path='view/:uuid' element={<ProfileViewPage />} />
3452 stevensc 153
                <Route path='people-viewed-profile' element={<PeopleViewedMyProfilePage />} />
3201 stevensc 154
                <Route path='my-profiles'>
155
                  <Route index element={<MyProfilesPage />} />
156
                  <Route path='edit/:uuid' element={<ProfileEditPage />} />
157
                </Route>
2803 stevensc 158
              </Route>
2630 stevensc 159
 
3201 stevensc 160
              <Route path='/job'>
161
                <Route index element={<Navigate to='saved-jobs' />} />
162
                <Route path='view/:uuid' element={<JobViewPage />} />
163
                <Route path='saved-jobs' element={<SavedJobsPage />} />
164
                <Route path='applied-jobs' element={<AppliedJobsPage />} />\
165
              </Route>
2630 stevensc 166
 
3201 stevensc 167
              <Route path='/company'>
168
                <Route index element={<Navigate to='my-companies' />} />
169
                <Route path='my-companies' element={<MyCompanies />} />
3452 stevensc 170
                <Route path='following-companies' element={<FollowingCompaniesPage />} />
171
                <Route path='i-work-with' element={<CompaniesWhenIWorkPage />} />
172
                <Route path='requests-sent' element={<CompanyRequestSendPage />} />
173
                <Route path='requests-sent' element={<CompanyRequestSendPage />} />
174
                <Route path='invitations-received' element={<CompanyInvitationsReceivedPage />} />
3201 stevensc 175
                <Route path='view/:uuid' element={<CompanyViewPage />} />
176
              </Route>
2630 stevensc 177
 
3201 stevensc 178
              <Route path='/my-coach'>
179
                <Route index element={<MyCoachPage />} />
3452 stevensc 180
                <Route path='questions/view/:uuid' element={<MyCoachViewPage />} />
3201 stevensc 181
              </Route>
182
 
3464 stevensc 183
              <Route path='/knowledge-area/*' element={<KnowledgesRoutes />} />
3453 stevensc 184
 
2803 stevensc 185
              <Route
3201 stevensc 186
                path='/microlearning'
187
                element={
188
                  <MicrolearningLayout>
189
                    <Outlet />
190
                  </MicrolearningLayout>
191
                }
192
              >
193
                <Route index element={<CapsulesPage />} />
2877 stevensc 194
 
3201 stevensc 195
                <Route path='topics'>
196
                  <Route index element={<TopicsPage />} />
3452 stevensc 197
                  <Route path=':topicId/capsules' element={<TopicsViewPage />} />
3201 stevensc 198
                </Route>
3047 stevensc 199
 
3201 stevensc 200
                <Route path='capsules'>
201
                  <Route path=':capsuleId/*' element={<CapsuleDetailsPage />} />
3452 stevensc 202
                  <Route path=':capsuleId/slides' element={<CapsuleSlidesPage />} />
3201 stevensc 203
                </Route>
204
 
205
                <Route path='slides/:uuid' element={<SlidesPage />} />
206
                <Route path='companies'>
207
                  <Route index element={<CompaniesPage />} />
208
                  <Route path=':uuid' element={<ProgressPage />} />
209
                </Route>
210
                <Route path='timeline' element={<TimelinePage />} />
211
                <Route path='profile' element={<ProfilePage />} />
2803 stevensc 212
              </Route>
3047 stevensc 213
 
3201 stevensc 214
              <Route path='/inmail/*' element={<InmailLayout />}>
215
                <Route index element={<InmailPage />} />
216
                <Route path=':uuid' element={<MessageViewPage />} />
2803 stevensc 217
              </Route>
3047 stevensc 218
 
3452 stevensc 219
              <Route path='/account-settings' element={<AccountSettingsLayout />}>
3201 stevensc 220
                <Route index element={<BasicSettings />} />
221
                <Route path='notifications' element={<Notifications />} />
222
                <Route path='change-password' element={<ChangePassword />} />
223
                <Route path='change-image' element={<ChangeImage />} />
224
                <Route path='location' element={<Location />} />
225
                <Route path='privacy' element={<Privacy />} />
226
                <Route path='browsers' element={<Browsers />} />
227
                <Route path='ips' element={<Ips />} />
228
                <Route path='devices' element={<Devices />} />
229
                <Route path='close-account' element={<CloseAccount />} />
230
                <Route path='transactions' element={<Transactions />} />
2803 stevensc 231
              </Route>
3201 stevensc 232
              <Route path='/notifications' element={<NotificationsPage />} />
233
              <Route path='/search/entity/:category' element={<SearchPage />} />
234
              <Route path='/calendar' element={<CalendarPage />} />
235
              <Route path='/signin/impersonate' element={<ImpersonatePage />} />
236
              <Route path='/post/:uuid' element={<PostViewPage />} />
237
              <Route path='/apps-navigation' element={<AppsNavigation />} />
2803 stevensc 238
 
3201 stevensc 239
              <Route path='*' element={<Navigate to='/dashboard' />} />
2632 stevensc 240
            </Route>
2698 stevensc 241
          </Route>
2617 stevensc 242
        </Route>
243
      </Routes>
244
    </Suspense>
3452 stevensc 245
  );
2611 stevensc 246
}