import React, { useEffect } from 'react'; import { addActiveElement } from '../../../actions/MainNavigation/mainNavigationActions'; import { useSelector, useDispatch } from "react-redux"; import { Link } from "react-router-dom"; import './Menu.scss'; const className = height => { if (height === 35) { return "menu-stat shadow"; } else { return "menu-stat"; } } const style = ({ menuHeight, mobile }) => { if (mobile) { return; } if (document.documentElement.clientWidth > 900) { return menuHeight } else { return 45; } } const Menu = props => { const { activeElement, focusedElement } = useSelector(state => state.mainNavigation); const { i18n, panel, userName } = useSelector(state => state.session); const { session } = useSelector(state => state.userSession); const { user } = useSelector(state => state.menuCounters); const dispatch = useDispatch(); useEffect(() => { if (user.LANGUAGE) { localStorage.setItem("language", user.LANGUAGE); } }, [user]); const handleState = (tab, event) => { if (`${window.location.pathname}${window.location.search}` === tab) { return event.preventDefault(); } dispatch(addActiveElement(tab)); } const statClassName = activeName => { return `stat ${activeName === activeElement && 'l-active'} ${activeName === focusedElement && 'focus'}`; } const sizeFormatter = (bytes, decimals) => { if (!bytes) return null; if (bytes === "0") { return 0 b; } let k = 1024, dm = decimals <= 0 ? 0 : decimals || 2, sizes = ['b', 'kb', 'Mb', 'GB'], i = Math.floor(Math.log(bytes) / Math.log(k)); return ({parseFloat((bytes / Math.pow(k, i)).toFixed(dm))} {sizes[i]}); } return (