Proyectos de Subversion LeadersLinked - Antes de SPA

Rev

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

Rev Autor Línea Nro. Línea
6601 stevensc 1
import React, { lazy, Suspense, useEffect } from 'react'
2
import { useDispatch, useSelector } from 'react-redux'
6994 stevensc 3
import { BrowserRouter as Router, Switch } from 'react-router-dom'
6490 stevensc 4
import { getLanguage } from '../../redux/intl/intl.action'
6753 stevensc 5
import { getPermissions } from '../redux/auth/auth.actions'
6490 stevensc 6
 
6530 stevensc 7
import PublicRoute from './PublicRoute'
6601 stevensc 8
import PrivateRoute from './PrivateRoute'
6707 stevensc 9
import Spinner from '../components/UI/Spinner'
6512 stevensc 10
import NotificationAlert from '../components/UI/notification/NotificationAlert'
6738 stevensc 11
import LoaderContainer from '../components/UI/LoaderContainer'
7129 stevensc 12
import PostViewPage from '../pages/posts/PostViewPage'
7156 stevensc 13
import MyCoachPage from '../pages/my-coach/MyCoachPage'
6490 stevensc 14
 
6707 stevensc 15
const Header = lazy(() => import('../components/navbar/Header'))
6601 stevensc 16
const Auth = lazy(() => import('../pages/auth/Auth'))
17
const DashboardPage = lazy(() => import('../pages/dashboard/DashboardPage'))
6707 stevensc 18
const MyConnectionsPage = lazy(() =>
6719 stevensc 19
  import('../pages/connections/MyConnectionsPage')
6707 stevensc 20
)
6724 stevensc 21
const InvitationsReceivedPage = lazy(() =>
22
  import('../pages/connections/InvitationsReceivedPage')
23
)
6719 stevensc 24
const InvitationsSendPage = lazy(() =>
6724 stevensc 25
  import('../pages/connections/InvitationsSendPage')
6719 stevensc 26
)
6725 stevensc 27
const PeopleYouMayKnowPage = lazy(() =>
28
  import('../pages/connections/PeopleYouMayKnowPage')
29
)
30
const PeopleBlockedPage = lazy(() =>
31
  import('../pages/connections/PeopleBlockedPage')
32
)
6738 stevensc 33
const MyProfilesPage = lazy(() => import('../pages/profiles/MyProfilesPage'))
34
const PeopleViewedMyProfilePage = lazy(() =>
35
  import('../pages/profiles/PeopleViewedMyProfilePage')
36
)
37
const SavedJobsPage = lazy(() => import('../pages/jobs/SavedJobsPage'))
38
const AppliedJobsPage = lazy(() => import('../pages/jobs/AppliedJobsPage'))
39
const GroupsRequestsSendPage = lazy(() =>
40
  import('../pages/groups/GroupsRequestsSendPage')
41
)
42
const GroupsRequestsReceivedPage = lazy(() =>
43
  import('../pages/groups/GroupsRequestsReceivedPage')
44
)
45
const JoinedGroupsPage = lazy(() => import('../pages/groups/JoinedGroupsPage'))
46
const MyGroupsPage = lazy(() => import('../pages/groups/MyGroupsPage'))
6753 stevensc 47
const MyCompanies = lazy(() => import('../pages/company/MyCompaniesPage'))
48
const FollowingCompaniesPage = lazy(() =>
49
  import('../pages/company/FollowingCompaniesPage')
50
)
51
const CompaniesWhenIWorkPage = lazy(() =>
52
  import('../pages/company/CompaniesWhenIWorkPage')
53
)
54
const CompanyRequestSendPage = lazy(() =>
55
  import('../pages/company/CompanyRequestSendPage')
56
)
57
const CompanyInvitationsReceivedPage = lazy(() =>
58
  import('../pages/company/CompanyInvitationsReceivedPage')
59
)
60
const ProfileViewPage = lazy(() => import('../pages/profiles/ProfileViewPage'))
6805 stevensc 61
const ProfileEditPage = lazy(() => import('../pages/profiles/ProfileEditPage'))
6862 stevensc 62
const CompanyViewPage = lazy(() => import('../pages/company/CompanyViewPage'))
63
const GroupViewPage = lazy(() => import('../pages/groups/GroupViewPage'))
6894 stevensc 64
const GroupEditPage = lazy(() => import('../pages/groups/GroupEditPage'))
6920 stevensc 65
const ChatPage = lazy(() => import('../pages/chat/ChatPage'))
6957 stevensc 66
const InmailPage = lazy(() => import('../pages/inmail/InmailPage'))
6993 stevensc 67
const MarketPlacePage = lazy(() =>
68
  import('../pages/marketplace/MarketplacePage')
69
)
7114 stevensc 70
const NotificationsPage = lazy(() =>
71
  import('../pages/notifications/NotificationsPage')
72
)
73
const SearchPage = lazy(() => import('../pages/search/SearchPage'))
74
const KnowledgeAreaPage = lazy(() =>
75
  import('../pages/knowledge-area/KnowledgeAreaPage')
76
)
77
const KnowledgeViewPage = lazy(() =>
78
  import('../pages/knowledge-area/KnowledgeViewPage')
79
)
6490 stevensc 80
 
81
const AppRouter = () => {
6753 stevensc 82
  const { isAuth, theme_id } = useSelector(({ auth }) => auth)
6490 stevensc 83
  const dispatch = useDispatch()
84
 
85
  useEffect(() => {
6745 stevensc 86
    dispatch(getPermissions())
6490 stevensc 87
    dispatch(getLanguage())
88
  }, [])
89
 
90
  return (
91
    <Router>
6753 stevensc 92
      <Suspense fallback={null}>
93
        {isAuth && <Header theme={theme_id} />}
94
      </Suspense>
6724 stevensc 95
 
6707 stevensc 96
      <Suspense
97
        fallback={
6738 stevensc 98
          <LoaderContainer>
6707 stevensc 99
            <Spinner />
6738 stevensc 100
          </LoaderContainer>
6707 stevensc 101
        }
102
      >
103
        <Switch>
6601 stevensc 104
          <PrivateRoute exact path="/dashboard" isAuthenticated={isAuth}>
105
            <DashboardPage />
106
          </PrivateRoute>
6738 stevensc 107
 
6994 stevensc 108
          <PrivateRoute
109
            exact
110
            path="/connection/my-connections"
111
            isAuthenticated={isAuth}
112
          >
113
            <MyConnectionsPage />
6707 stevensc 114
          </PrivateRoute>
6719 stevensc 115
          <PrivateRoute
116
            exact
6994 stevensc 117
            path="/connection/invitations-sent"
118
            isAuthenticated={isAuth}
119
          >
120
            <InvitationsSendPage />
121
          </PrivateRoute>
122
          <PrivateRoute
123
            exact
6724 stevensc 124
            path="/connection/invitations-received"
125
            isAuthenticated={isAuth}
126
          >
127
            <InvitationsReceivedPage />
128
          </PrivateRoute>
6725 stevensc 129
          <PrivateRoute
130
            exact
131
            path="/connection/people-you-may-know"
132
            isAuthenticated={isAuth}
133
          >
134
            <PeopleYouMayKnowPage />
135
          </PrivateRoute>
136
          <PrivateRoute
137
            exact
6726 stevensc 138
            path="/connection/people-blocked"
6725 stevensc 139
            isAuthenticated={isAuth}
140
          >
141
            <PeopleBlockedPage />
142
          </PrivateRoute>
6738 stevensc 143
 
6727 stevensc 144
          <PrivateRoute
145
            exact
146
            path="/profile/my-profiles"
147
            isAuthenticated={isAuth}
148
          >
149
            <MyProfilesPage />
150
          </PrivateRoute>
151
          <PrivateRoute
152
            exact
153
            path="/profile/people-viewed-profile"
154
            isAuthenticated={isAuth}
155
          >
156
            <PeopleViewedMyProfilePage />
157
          </PrivateRoute>
6862 stevensc 158
          <PrivateRoute path="/profile/view/:uuid" isAuthenticated={isAuth}>
159
            <ProfileViewPage />
160
          </PrivateRoute>
161
          <PrivateRoute
162
            path="/profile/my-profiles/edit/:uuid"
163
            isAuthenticated={isAuth}
164
          >
165
            <ProfileEditPage />
166
          </PrivateRoute>
6738 stevensc 167
 
6727 stevensc 168
          <PrivateRoute exact path="/job/saved-jobs" isAuthenticated={isAuth}>
169
            <SavedJobsPage />
170
          </PrivateRoute>
171
          <PrivateRoute exact path="/job/applied-jobs" isAuthenticated={isAuth}>
6729 stevensc 172
            <AppliedJobsPage />
6727 stevensc 173
          </PrivateRoute>
6601 stevensc 174
 
6738 stevensc 175
          <PrivateRoute
176
            exact
6740 stevensc 177
            path="/group/requests-sent"
6738 stevensc 178
            isAuthenticated={isAuth}
179
          >
180
            <GroupsRequestsSendPage />
181
          </PrivateRoute>
182
          <PrivateRoute
183
            exact
184
            path="/group/invitations-received"
185
            isAuthenticated={isAuth}
186
          >
187
            <GroupsRequestsReceivedPage />
188
          </PrivateRoute>
189
          <PrivateRoute
190
            exact
191
            path="/group/joined-groups"
192
            isAuthenticated={isAuth}
193
          >
194
            <JoinedGroupsPage />
195
          </PrivateRoute>
196
          <PrivateRoute exact path="/group/my-groups" isAuthenticated={isAuth}>
197
            <MyGroupsPage />
198
          </PrivateRoute>
6862 stevensc 199
          <PrivateRoute path="/group/view/:uuid" isAuthenticated={isAuth}>
200
            <GroupViewPage />
201
          </PrivateRoute>
6894 stevensc 202
          <PrivateRoute
6895 stevensc 203
            path="/group/my-groups/edit/:uuid"
6894 stevensc 204
            isAuthenticated={isAuth}
205
          >
206
            <GroupEditPage />
207
          </PrivateRoute>
6738 stevensc 208
 
6753 stevensc 209
          <PrivateRoute
210
            exact
211
            path="/company/my-companies"
212
            isAuthenticated={isAuth}
213
          >
214
            <MyCompanies />
215
          </PrivateRoute>
216
          <PrivateRoute
217
            exact
218
            path="/company/following-companies"
219
            isAuthenticated={isAuth}
220
          >
221
            <FollowingCompaniesPage />
222
          </PrivateRoute>
223
          <PrivateRoute
224
            exact
225
            path="/company/i-work-with"
226
            isAuthenticated={isAuth}
227
          >
228
            <CompaniesWhenIWorkPage />
229
          </PrivateRoute>
230
          <PrivateRoute
231
            exact
232
            path="/company/requests-sent"
233
            isAuthenticated={isAuth}
234
          >
235
            <CompanyRequestSendPage />
236
          </PrivateRoute>
237
          <PrivateRoute
238
            exact
239
            path="/company/requests-sent"
240
            isAuthenticated={isAuth}
241
          >
242
            <CompanyRequestSendPage />
243
          </PrivateRoute>
244
          <PrivateRoute
245
            exact
246
            path="/company/invitations-received"
247
            isAuthenticated={isAuth}
248
          >
249
            <CompanyInvitationsReceivedPage />
250
          </PrivateRoute>
6830 stevensc 251
          <PrivateRoute path="/company/view/:uuid" isAuthenticated={isAuth}>
252
            <CompanyViewPage />
253
          </PrivateRoute>
254
 
6911 stevensc 255
          <PrivateRoute path="/chat" isAuthenticated={isAuth}>
256
            <ChatPage />
257
          </PrivateRoute>
6983 stevensc 258
          <PrivateRoute path="/inmail/:uuid" isAuthenticated={isAuth}>
6970 stevensc 259
            <InmailPage />
260
          </PrivateRoute>
6983 stevensc 261
          <PrivateRoute path="/inmail" isAuthenticated={isAuth}>
6947 stevensc 262
            <InmailPage />
263
          </PrivateRoute>
6911 stevensc 264
 
6993 stevensc 265
          <PrivateRoute path="/marketplace" isAuthenticated={isAuth}>
266
            <MarketPlacePage />
267
          </PrivateRoute>
6999 stevensc 268
          <PrivateRoute path="/notifications" isAuthenticated={isAuth}>
269
            <NotificationsPage />
270
          </PrivateRoute>
7000 stevensc 271
          <PrivateRoute path="/search" isAuthenticated={isAuth}>
7001 stevensc 272
            <SearchPage />
7000 stevensc 273
          </PrivateRoute>
6993 stevensc 274
 
7062 stevensc 275
          <PrivateRoute
276
            path="/knowledge-area/view/:uuid"
277
            isAuthenticated={isAuth}
278
          >
279
            <KnowledgeViewPage />
280
          </PrivateRoute>
7015 stevensc 281
          <PrivateRoute path="/knowledge-area" isAuthenticated={isAuth}>
282
            <KnowledgeAreaPage />
283
          </PrivateRoute>
284
 
7129 stevensc 285
          <PrivateRoute path="/post/:uuid" isAuthenticated={isAuth}>
286
            <PostViewPage />
287
          </PrivateRoute>
288
 
7173 stevensc 289
          <PrivateRoute
290
            path="/my-coach/questions/view/:uuid"
291
            isAuthenticated={isAuth}
292
          >
7207 stevensc 293
            <h1>Hello</h1>
7156 stevensc 294
          </PrivateRoute>
7173 stevensc 295
          <PrivateRoute exact path="/my-coach" isAuthenticated={isAuth}>
296
            <MyCoachPage />
297
          </PrivateRoute>
7156 stevensc 298
 
6601 stevensc 299
          <PublicRoute path="/" isAuthenticated={isAuth}>
6546 stevensc 300
            <Auth />
301
          </PublicRoute>
6707 stevensc 302
        </Switch>
303
      </Suspense>
6512 stevensc 304
 
305
      <NotificationAlert />
6490 stevensc 306
    </Router>
307
  )
308
}
309
 
310
export default AppRouter