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