Skip to content
Snippets Groups Projects
Menu.tsx 1.27 KiB
Newer Older
  • Learn to ignore specific revisions
  • import React, { useContext } from 'react'
    
    import routes from '../../constants/routes.json'
    
    import logo from '../../assets/icons/ecolyo-logo.svg'
    import './menu.scss'
    
    import { NavLink } from 'react-router-dom'
    
    import { UserContext } from '../../hooks/userContext'
    
    const Menu: React.FC = () => {
    
    Guilhem CARRON's avatar
    Guilhem CARRON committed
      const { isLogged, logoutUser, setisLogged } = useContext(UserContext)
    
    Guilhem CARRON's avatar
    Guilhem CARRON committed
      const handleLogout = () => {
        if (logoutUser && setisLogged) {
          logoutUser()
          setisLogged(false)
        }
      }
    
        <nav className={'menu'}>
    
          <div className="logo-container">
            <img src={logo} alt="Ecolyo logo" className="logo" />
          </div>
          <div className="menu-list">
    
            {routes.map((route: any, index: number) => {
              return (
    
                <NavLink key={index} to={route.path} activeClassName="active">
                  {route.label}
                </NavLink>
    
          </div>
          <div className="administration">
    
    Guilhem CARRON's avatar
    Guilhem CARRON committed
              <button className="btnValid logButton" onClick={handleLogout}>
                Logout
              </button>
    
            ) : (
              <NavLink to="/login" activeClassName="active">
                Login
              </NavLink>
            )}