Proyectos de Subversion LeadersLinked - Antes de SPA

Rev

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

Rev Autor Línea Nro. Línea
6546 stevensc 1
import React, { Suspense, lazy, useEffect } from 'react'
6530 stevensc 2
import { useDispatch, useSelector } from 'react-redux'
6514 stevensc 3
import { BrowserRouter as Router, Switch } from 'react-router-dom'
6530 stevensc 4
 
6490 stevensc 5
import { getLanguage } from '../../redux/intl/intl.action'
6
 
6512 stevensc 7
import Auth from '../pages/auth/Auth'
6530 stevensc 8
import PublicRoute from './PublicRoute'
6490 stevensc 9
import PrivateRoute from './PrivateRoute'
6512 stevensc 10
import NotificationAlert from '../components/UI/notification/NotificationAlert'
6546 stevensc 11
import Spinner from '../components/UI/Spinner'
6490 stevensc 12
 
6545 stevensc 13
const DashboardPage = lazy(() => import('../pages/dashboard/DashboardPage'))
6490 stevensc 14
 
15
const AppRouter = () => {
6526 stevensc 16
  const { isAuth } = useSelector(({ auth }) => auth)
6490 stevensc 17
  const dispatch = useDispatch()
18
 
19
  useEffect(() => {
20
    dispatch(getLanguage())
21
  }, [])
22
 
23
  return (
24
    <Router>
6546 stevensc 25
      <Suspense fallback={<Spinner />}>
26
        <Switch>
27
          <PrivateRoute exact path="/home" isAuthenticated={isAuth}>
28
            <DashboardPage />
29
          </PrivateRoute>
6535 stevensc 30
 
6546 stevensc 31
          <PublicRoute path="/" isAuthenticated={isAuth}>
32
            <Auth />
33
          </PublicRoute>
34
        </Switch>
35
      </Suspense>
6512 stevensc 36
 
37
      <NotificationAlert />
6490 stevensc 38
    </Router>
39
  )
40
}
41
 
42
export default AppRouter