import React, { useCallback } from 'react'; import { LogoutOutlined, SettingOutlined, UserOutlined } from '@ant-design/icons'; import { Avatar, Menu, Spin } from 'antd'; // @ts-ignore import { history, useModel, FormattedMessage } from 'umi'; /* eslint-disable import/no-duplicates, import/named */ // @ts-ignore import { stringify } from 'querystring'; import HeaderDropdown from '../HeaderDropdown'; import styles from './index.less'; import { getUserAvatarUrl } from '../../utils/utils'; /* eslint-enable import/no-duplicates, import/named */ export interface GlobalHeaderRightProps { menu?: boolean; } const AvatarDropdown: React.FC = ({ menu }) => { const { currentUser, logout } = useModel('system'); const onMenuClick = useCallback( (event: { key: React.Key; keyPath: React.Key[]; item: React.ReactInstance; domEvent: React.MouseEvent; }) => { const { key } = event; if (key === 'logout') { if (logout) { logout(); } return; } history.push(`/account/${key}`); }, [], ); const loading = ( ); if (!currentUser) { return loading; } const avatarUrl = getUserAvatarUrl(currentUser.empNo); const menuHeaderDropdown = ( {menu && ( )} {menu && ( )} {menu && } ); return ( {currentUser.name} ); }; export default AvatarDropdown;