Proyectos de Subversion LeadersLinked - Antes de SPA

Rev

Rev 5400 | Autoría | Comparar con el anterior | Ultima modificación | Ver Log |

/* eslint-disable camelcase */
/* eslint-disable react/prop-types */
import React, { useEffect, useState } from 'react'
import NavLinks from './nav-links/NavLinks'
import ChatHelper from '../../../chat/chatHelper/ChatHelper'
import UserImageDropdown from './user-dropdown/UserImageDropdown'
import SearchInput from './searchbox/SearchInput'
import ResponsiveNavbar from './responsive-navbar/ResponsiveNavbar'
import { useDispatch } from 'react-redux'
import { setIntlLabels } from '../../../redux/intl/intl.action'

const Navbar = ({ navbarVars, labels }) => {
  const {
    image,
    fullName,
    companyVars,
    isChatPage,
    linkAdmin,
    linkImpersonate,
    routeCheckSession,
    logoForNavbar,
    menu: menuProps
  } = navbarVars
  const [navbarOpen, setNavbarOpen] = useState(false)
  const dispatch = useDispatch()

  useEffect(() => {
    dispatch(setIntlLabels(labels))
  }, [])

  return (
    <>
      <nav className='navbar'>
        <a href="/" className='logo d-none d-xl-block'>
          <img src={logoForNavbar} alt="logo" />
        </a>
        <SearchInput />
        <div className='hamburgerIcon'>
          <i className="fa fa-bars text-gray" onClick={() => setNavbarOpen(!navbarOpen)} />
        </div>
        <nav className='navLinksContainer'>
          <NavLinks
            menuData={menuProps}
            companyVars={companyVars}
            sessionLink={routeCheckSession}
          />
        </nav>
        <UserImageDropdown
          image={image}
          fullName={fullName}
          linkAdmin={linkAdmin}
          linkImpersonate={linkImpersonate}
        />
      </nav>
      <ResponsiveNavbar
        show={navbarOpen}
        navbarVars={navbarVars}
        companyVars={companyVars}
        image={image}
        fullName={fullName}
        linkAdmin={linkAdmin}
        linkImpersonate={linkImpersonate}
      />
      {window.innerWidth < 1000 && !isChatPage && <ChatHelper />}
    </>
  )
}

export default Navbar