Rev 5128 | Rev 5400 | Ir a la última revisión | Autoría | Comparar con el anterior | Ultima modificación | Ver Log |
/* 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'const Navbar = ({ navbarVars, LABELS }) => {const {image,fullName,companyVars,isChatPage,linkAdmin,linkImpersonate,routeCheckSession,logoForNavbar,menu: menuProps} = navbarVarsconst [navbarOpen, setNavbarOpen] = useState(false)const [sessionImage, setSessionImage] = useState(null)const [loading, setLoading] = useState(false)useEffect(() => {let timerif (!loading) {timer = setTimeout(() => checkSessionImage(), 1000)}return () => {clearTimeout(timer)}}, [loading])const checkSessionImage = async () => {setLoading(true)const session_image = sessionStorage.getItem('user_session_image')if (session_image) {await setSessionImage(session_image)sessionStorage.removeItem('user_session_image')}setLoading(false)}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'><NavLinksmenuData={menuProps}companyVars={companyVars}sessionLink={routeCheckSession}/></nav><UserImageDropdownimage={image}fullName={fullName}linkAdmin={linkAdmin}linkImpersonate={linkImpersonate}sessionImage={sessionImage}/></nav><ResponsiveNavbarshow={navbarOpen}navbarVars={navbarVars}companyVars={companyVars}image={image}fullName={fullName}linkAdmin={linkAdmin}linkImpersonate={linkImpersonate}sessionImage={sessionImage}LABELS={LABELS}/>{window.innerWidth < 1000 && !isChatPage && <ChatHelper />}</>)}export default Navbar