Proyectos de Subversion LeadersLinked - Antes de SPA

Rev

Rev 6601 | Rev 6696 | 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'
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
 
6530 stevensc 7
import PublicRoute from './PublicRoute'
6601 stevensc 8
import PrivateRoute from './PrivateRoute'
6512 stevensc 9
import NotificationAlert from '../components/UI/notification/NotificationAlert'
6546 stevensc 10
import Spinner from '../components/UI/Spinner'
6632 stevensc 11
import Header from '../components/navbar/default/Navbar'
6490 stevensc 12
 
6601 stevensc 13
const Auth = lazy(() => import('../pages/auth/Auth'))
14
const DashboardPage = lazy(() => import('../pages/dashboard/DashboardPage'))
6490 stevensc 15
 
16
const AppRouter = () => {
6601 stevensc 17
  const { isAuth } = useSelector(({ auth }) => auth)
6490 stevensc 18
  const dispatch = useDispatch()
19
 
20
  useEffect(() => {
21
    dispatch(getLanguage())
22
  }, [])
23
 
24
  return (
25
    <Router>
6632 stevensc 26
      <Header />
27
 
6601 stevensc 28
      <Switch>
29
        <Suspense fallback={<Spinner />}>
30
          <PrivateRoute exact path="/dashboard" isAuthenticated={isAuth}>
31
            <DashboardPage />
32
          </PrivateRoute>
33
 
34
          <PublicRoute path="/" isAuthenticated={isAuth}>
6546 stevensc 35
            <Auth />
36
          </PublicRoute>
6601 stevensc 37
        </Suspense>
38
      </Switch>
6512 stevensc 39
 
40
      <NotificationAlert />
6490 stevensc 41
    </Router>
42
  )
43
}
44
 
45
export default AppRouter