Rev 6697 | Rev 6716 | 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 styled from 'styled-components'import { getLanguage } from '../../redux/intl/intl.action'import PublicRoute from './PublicRoute'import PrivateRoute from './PrivateRoute'import Spinner from '../components/UI/Spinner'import NotificationAlert from '../components/UI/notification/NotificationAlert'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/my-connections/MyConnectionsPage'))const StyledSpinnerContainer = styled.div`position: absolute;left: 0;top: 0;width: 100%;height: 100%;background: rgba(255, 255, 255, 0.4);display: flex;justify-content: center;align-items: center;z-index: 300;`const AppRouter = () => {const { isAuth } = useSelector(({ auth }) => auth)const dispatch = useDispatch()useEffect(() => {dispatch(getLanguage())}, [])return (<Router><Suspensefallback={<StyledSpinnerContainer><Spinner /></StyledSpinnerContainer>}>{isAuth && <Header />}<Switch><PrivateRoute exact path="/dashboard" isAuthenticated={isAuth}><DashboardPage /></PrivateRoute><PrivateRouteexactpath="/connection/my-connections"isAuthenticated={isAuth}><MyConnectionsPage /></PrivateRoute><PublicRoute path="/" isAuthenticated={isAuth}><Auth /></PublicRoute></Switch></Suspense><NotificationAlert /></Router>)}export default AppRouter