import { KeyboardEvent, MouseEvent, useRef, useState, useEffect } from 'react' import Button from '@material-ui/core/Button' import ClickAwayListener from '@material-ui/core/ClickAwayListener' import Grow from '@material-ui/core/Grow' import Paper from '@material-ui/core/Paper' import Popper from '@material-ui/core/Popper' import MenuItem from '@material-ui/core/MenuItem' import MenuList from '@material-ui/core/MenuList' import ProfileModal from './index' import './style.scss' interface Props { avatar: any children: any } const MenuListComposition = (props: Props) => { const { avatar, children } = props const [open, setOpen] = useState(false) const [modalOpen, setModalOpen] = useState(false) const anchorRef = useRef(null) const handleToggle = () => { setOpen((prevOpen) => !prevOpen) console.log(children) } const handleModal = () => { setModalOpen(true) setOpen(false) } const handleClose = (event: MouseEvent) => { if ( anchorRef.current && anchorRef.current.contains(event.target as HTMLElement) ) { return } setOpen(false) } const handleListKeyDown = (event: KeyboardEvent) => { if (event.key === 'Tab') { event.preventDefault() setOpen(false) } } const modalClose = () => { setModalOpen(false) } const prevOpen = useRef(open) useEffect(() => { if (prevOpen.current === true && open === false) { anchorRef.current!.focus() } prevOpen.current = open }, [open]) return (
{({ TransitionProps, placement }) => ( Profile Contacts Logout )}
) } export default MenuListComposition