import * as React from 'react'; import { useNavigate } from 'react-router-dom'; import MenuItem from '@mui/material/MenuItem'; import Menu, { MenuProps } from '@mui/material/Menu'; import { Link } from 'react-router-dom'; import Can from 'components/Can'; import apolloClient from 'graphql/client'; import * as URLS from 'config/urls'; import useAuthentication from 'hooks/useAuthentication'; import useFormatMessage from 'hooks/useFormatMessage'; type AccountDropdownMenuProps = { open: boolean; onClose: () => void; anchorEl: MenuProps['anchorEl']; id: string; }; function AccountDropdownMenu( props: AccountDropdownMenuProps ): React.ReactElement { const formatMessage = useFormatMessage(); const authentication = useAuthentication(); const navigate = useNavigate(); const { open, onClose, anchorEl, id } = props; const logout = async () => { authentication.updateToken(''); await apolloClient.clearStore(); onClose(); navigate(URLS.LOGIN); }; return ( {formatMessage('accountDropdownMenu.settings')} {formatMessage('accountDropdownMenu.adminSettings')} {formatMessage('accountDropdownMenu.logout')} ); } export default AccountDropdownMenu;