Rev 6753 | Rev 6862 | Ir a la última revisión | Autoría | Comparar con el anterior | Ultima modificación | Ver Log |
import React, { lazy, Suspense, useEffect } from 'react'import { useDispatch, useSelector } from 'react-redux'import { BrowserRouter as Router, Switch } from 'react-router-dom'import { getLanguage } from '../../redux/intl/intl.action'import { getPermissions } from '../redux/auth/auth.actions'import PublicRoute from './PublicRoute'import PrivateRoute from './PrivateRoute'import Spinner from '../components/UI/Spinner'import NotificationAlert from '../components/UI/notification/NotificationAlert'import LoaderContainer from '../components/UI/LoaderContainer'const Header = lazy(() => import('../components/navbar/Header'))const Auth = lazy(() => import('../pages/auth/Auth'))const DashboardPage = lazy(() => import('../pages/dashboard/DashboardPage'))const MyConnectionsPage = lazy(() =>import('../pages/connections/MyConnectionsPage'))const InvitationsReceivedPage = lazy(() =>import('../pages/connections/InvitationsReceivedPage'))const InvitationsSendPage = lazy(() =>import('../pages/connections/InvitationsSendPage'))const PeopleYouMayKnowPage = lazy(() =>import('../pages/connections/PeopleYouMayKnowPage'))const PeopleBlockedPage = lazy(() =>import('../pages/connections/PeopleBlockedPage'))const MyProfilesPage = lazy(() => import('../pages/profiles/MyProfilesPage'))const PeopleViewedMyProfilePage = lazy(() =>import('../pages/profiles/PeopleViewedMyProfilePage'))const SavedJobsPage = lazy(() => import('../pages/jobs/SavedJobsPage'))const AppliedJobsPage = lazy(() => import('../pages/jobs/AppliedJobsPage'))const GroupsRequestsSendPage = lazy(() =>import('../pages/groups/GroupsRequestsSendPage'))const GroupsRequestsReceivedPage = lazy(() =>import('../pages/groups/GroupsRequestsReceivedPage'))const JoinedGroupsPage = lazy(() => import('../pages/groups/JoinedGroupsPage'))const MyGroupsPage = lazy(() => import('../pages/groups/MyGroupsPage'))const MyCompanies = lazy(() => import('../pages/company/MyCompaniesPage'))const FollowingCompaniesPage = lazy(() =>import('../pages/company/FollowingCompaniesPage'))const CompaniesWhenIWorkPage = lazy(() =>import('../pages/company/CompaniesWhenIWorkPage'))const CompanyRequestSendPage = lazy(() =>import('../pages/company/CompanyRequestSendPage'))const CompanyInvitationsReceivedPage = lazy(() =>import('../pages/company/CompanyInvitationsReceivedPage'))const ProfileViewPage = lazy(() => import('../pages/profiles/ProfileViewPage'))const ProfileEditPage = lazy(() => import('../pages/profiles/ProfileEditPage'))const AppRouter = () => {const { isAuth, theme_id } = useSelector(({ auth }) => auth)const dispatch = useDispatch()useEffect(() => {dispatch(getPermissions())dispatch(getLanguage())}, [])return (<Router><Suspense fallback={null}>{isAuth && <Header theme={theme_id} />}</Suspense><Suspensefallback={<LoaderContainer><Spinner /></LoaderContainer>}><Switch><PrivateRoute exact path="/dashboard" isAuthenticated={isAuth}><DashboardPage /></PrivateRoute><PrivateRouteexactpath="/connection/my-connections"isAuthenticated={isAuth}><MyConnectionsPage /></PrivateRoute><PrivateRouteexactpath="/connection/invitations-sent"isAuthenticated={isAuth}><InvitationsSendPage /></PrivateRoute><PrivateRouteexactpath="/connection/invitations-received"isAuthenticated={isAuth}><InvitationsReceivedPage /></PrivateRoute><PrivateRouteexactpath="/connection/people-you-may-know"isAuthenticated={isAuth}><PeopleYouMayKnowPage /></PrivateRoute><PrivateRouteexactpath="/connection/people-blocked"isAuthenticated={isAuth}><PeopleBlockedPage /></PrivateRoute><PrivateRouteexactpath="/profile/my-profiles"isAuthenticated={isAuth}><MyProfilesPage /></PrivateRoute><PrivateRouteexactpath="/profile/people-viewed-profile"isAuthenticated={isAuth}><PeopleViewedMyProfilePage /></PrivateRoute><PrivateRoute exact path="/job/saved-jobs" isAuthenticated={isAuth}><SavedJobsPage /></PrivateRoute><PrivateRoute exact path="/job/applied-jobs" isAuthenticated={isAuth}><AppliedJobsPage /></PrivateRoute><PrivateRouteexactpath="/group/requests-sent"isAuthenticated={isAuth}><GroupsRequestsSendPage /></PrivateRoute><PrivateRouteexactpath="/group/invitations-received"isAuthenticated={isAuth}><GroupsRequestsReceivedPage /></PrivateRoute><PrivateRouteexactpath="/group/joined-groups"isAuthenticated={isAuth}><JoinedGroupsPage /></PrivateRoute><PrivateRoute exact path="/group/my-groups" isAuthenticated={isAuth}><MyGroupsPage /></PrivateRoute><PrivateRouteexactpath="/company/my-companies"isAuthenticated={isAuth}><MyCompanies /></PrivateRoute><PrivateRouteexactpath="/company/following-companies"isAuthenticated={isAuth}><FollowingCompaniesPage /></PrivateRoute><PrivateRouteexactpath="/company/i-work-with"isAuthenticated={isAuth}><CompaniesWhenIWorkPage /></PrivateRoute><PrivateRouteexactpath="/company/requests-sent"isAuthenticated={isAuth}><CompanyRequestSendPage /></PrivateRoute><PrivateRouteexactpath="/company/requests-sent"isAuthenticated={isAuth}><CompanyRequestSendPage /></PrivateRoute><PrivateRouteexactpath="/company/invitations-received"isAuthenticated={isAuth}><CompanyInvitationsReceivedPage /></PrivateRoute><PrivateRoute path="/profile/view/:uuid" isAuthenticated={isAuth}><ProfileViewPage /></PrivateRoute><PrivateRoutepath="/profile/my-profiles/edit/:uuid"isAuthenticated={isAuth}><ProfileEditPage /></PrivateRoute><PublicRoute path="/" isAuthenticated={isAuth}><Auth /></PublicRoute></Switch></Suspense><NotificationAlert /></Router>)}export default AppRouter