Proyectos de Subversion LeadersLinked - Antes de SPA

Rev

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

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