Rev 6694 | Rev 6845 | Ir a la última revisión | Autoría | Comparar con el anterior | Ultima modificación | Ver Log |
import React, { Suspense, lazy, useState } from 'react'import HomeIcon from '@mui/icons-material/Home'import BusinessCenterIcon from '@mui/icons-material/BusinessCenter'import SellIcon from '@mui/icons-material/Sell'import PeopleIcon from '@mui/icons-material/People'import GroupsIcon from '@mui/icons-material/Groups'import MenuIcon from '@mui/icons-material/Menu'import SchoolIcon from '@mui/icons-material/School'import ChatIcon from '@mui/icons-material/Chat'import UserOptions from './UserOptions'import HeaderOptions from './HeaderOptions'import NavSearch from './nav-search/NavSearch'import './Header.scss'const MenuDrawer = lazy(() => import('./Drawer'))const ICON_OPTIONS = [HomeIcon,PeopleIcon,BusinessCenterIcon,GroupsIcon,SellIcon,SchoolIcon,ChatIcon,]const Header = ({menu = [],image = '',logoForNavbar = '',fullName,linkAdmin,linkImpersonate,linkKnowledgeArea,routeKnowledgeArea,defaultNetwork,notificationsCount,messagesCount,}) => {const [showDrawer, setShowDrawer] = useState(false)return (<><div className="header"><div className="container px-0"><div className="header__nav"><div className="header__left"><a href="/"><img src={logoForNavbar} alt="Logo" /></a><NavSearch /></div><nav className="header__right"><ul>{menu.map((item, index) => {return (<HeaderOptionskey={index}Icon={ICON_OPTIONS[index]}title={item.label}url={item.href}childs={item.childs}ajaxRequest={item.ajax}isMobile={['Conocimiento', 'Comunicación'].includes(item.label)}badgeCount={item.label === 'Comunicación' &&(notificationsCount || messagesCount)}/>)})}<UserOptionsimage={image}name={fullName}adminUrl={linkAdmin}impersonateUrl={linkImpersonate}defaultNetwork={defaultNetwork}knowledgeAuth={linkKnowledgeArea}routeKnowledge={routeKnowledgeArea}/>{MenuDrawer && (<li className="d-md-none"><ahref="/"className={'header__option mobile'}onClick={(e) => {e.preventDefault()setShowDrawer(!showDrawer)}}><MenuIcon /></a></li>)}</ul></nav></div></div></div><Suspense fallback={null}><MenuDraweritems={[...menu,{label: 'Conocimiento',href: 'Conocimiento',img: '/images/navbar/market-place.svg',ajax: 0,childs: [],},]}icons={ICON_OPTIONS}isOpen={showDrawer}closeDrawer={() => setShowDrawer(false)}/></Suspense></>)}export default Header