import Menu from '@material-ui/core/Menu'; import {useTranslation} from 'react-i18next'; import useAuthStore from '../../stores/useAuthStore'; import useProfile from '../../hooks/useProfile'; import useSettings from '../../hooks/useSettings'; import Languages from '../Languages/MenuItem'; import Action, {ActionType} from './Action'; interface Props { anchorEl: Element; setAnchorEl: (el: Element) => void; actions: ActionType[]; } const GenericMenu = (props: Props) => { const {anchorEl, setAnchorEl, actions = []} = props; const {t} = useTranslation(); const settings = useSettings(); const logout = useAuthStore(s => s.logout); const {user} = useProfile(); const logoutMenuItem = user && { label: t('menu.logout'), onClick: () => { logout(); window.location.href = settings['about_link']; setAnchorEl(null); }, id: 'LogoutTabs', }; const aboutMenuItem = { label: t('menu.about'), onClick: () => { window.location.href = settings['about_link']; setAnchorEl(null); }, id: 'AboutTabs', }; const languageMenuItem = { label: , id: 'LanguageSelection', }; const validActions = [ ...actions, aboutMenuItem, languageMenuItem, logoutMenuItem, ].filter(Boolean); return ( setAnchorEl(null)} > {validActions?.map((action, index) => ( ))} ); }; export default GenericMenu;