import React, { useState } from 'react'; import { addActiveElement } from '../../../actions/MainNavigation/mainNavigationActions'; import { FontAwesomeIcon } from '@fortawesome/react-fontawesome'; import { logout } from 'src/actions/Session/sessionActions'; import Notifications from './Notifications/Notifications'; import { useSelector, useDispatch } from "react-redux"; import Spinner from 'src/components/Spinner/Spinner'; import { Link, useHistory } from "react-router-dom"; import './Panel.scss'; const Panel = props => { const { i18n, userName, session: { look, user } } = useSelector(state => state.session); const session = useSelector(state => state.session); const { activeElement, focusedElement } = useSelector(state => state.mainNavigation); const dispatch = useDispatch(); const history = useHistory(); const [loading, setLoading] = useState(false); const [state, setState] = useState({ smallNavigationClass: 'small-navigation hidden' }); const toggleNavigation = event => { props.showTopNav(); if (state.smallNavigationClass === 'small-navigation hidden') { setState({ ...state, smallNavigationClass: 'small-navigation show' }); } else { setState({ ...state, smallNavigationClass: 'small-navigation hidden' }); } } const className = (activeName, extraClass = '') => { let className = 'top-link'; if (activeName === activeElement) { className += ' active'; } if (activeName === focusedElement) { className += ' focus'; } return className + ` ${extraClass}`; } const handleState = (tab, event) => { if (`${window.location.pathname}${window.location.search}` === tab) { return event.preventDefault(); } dispatch(addActiveElement(tab)); } const signOut = () => { setLoading(true); dispatch(logout()) .then(() => { setLoading(false); }, error => { setLoading(false); console.error(error); }); } return (