import { Badge, IconButton, Menu, MenuItem, Typography } from '@mui/material'; import React from 'react'; import { SyntheticEvent } from 'react'; function HomeItem(props: {icon: string, name?: string, badge?: number, click?: () => void, menu?:Array<{name: string, action:(ev: SyntheticEvent) => void}>, clickOpensMenu?: boolean, title?: string, published?: boolean, dense?: boolean}) { const [anchorEl, setAnchorEl] = React.useState(undefined); const open = anchorEl !== undefined; const handleClick = (event: React.MouseEvent) => { if (props.clickOpensMenu) { setAnchorEl(event.currentTarget); } else if (props.click !== undefined) { props.click(); } event.preventDefault(); }; const handleContextClick = (event: React.MouseEvent) => { setAnchorEl(event.currentTarget); event.preventDefault(); } const handleMenuClose = () => { setAnchorEl(undefined); }; const addBadge = (icon: React.ReactElement, name?: string) => { if (props.published) { return shared}>{icon}; //return }>{icon}; } else { return icon; } } return
{addBadge(, props.name)} {/* {props.badge ? {props.icon} : {props.icon}} */}
{props.name &&
{props.name}
} {props.menu && props.menu.length > 0 && {props.menu.map((item: {name: string, action: (ev: SyntheticEvent) => void}) => { handleMenuClose(); return item.action(ev); } }>{item.name})} }
; } export default HomeItem;