Rev 4250 | Rev 4335 | 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 }) => {const {image,fullName,companyVars,isChatPage,linkAdmin,linkImpersonate,routeCheckSession,logoForNavbar,menu: menuProps} = navbarVars;const [navbarOpen, setNavbarOpen] = useState(false);const [sessionImage, setSessionImage] = useState(null)const [loading, setLoading] = useState(false);useEffect(() => {let timer;if (!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-md-block'><img src={logoForNavbar} alt="logo" /></a><SearchInput /><div className='hamburgerIcon'><iclassName="fa fa-bars text-gray"onClick={() => setNavbarOpen(!navbarOpen)}/></div><nav className='navLinksContainer'><NavLinksmenuData={JSON.parse(menuProps)}companyVars={companyVars}sessionLink={routeCheckSession}/></nav><div className="d-none d-md-block order-4"><UserImageDropdownimage={image}fullName={fullName}linkAdmin={linkAdmin}linkImpersonate={linkImpersonate}sessionImage={sessionImage}/></div></nav><ResponsiveNavbarshow={navbarOpen}navbarVars={navbarVars}companyVars={companyVars}image={image}fullName={fullName}linkAdmin={linkAdmin}linkImpersonate={linkImpersonate}sessionImage={sessionImage}/>{window.innerWidth < 1000 && !isChatPage && <ChatHelper />}</>)}export default Navbar