// eslint-disable-next-line import React, { useMemo, useState } from 'react'; import { makeStyles } from '@material-ui/core/styles'; import Popover from '@material-ui/core/Popover'; import { CardDTO, TokenDTO } from 'services'; import CardDetails from '../CardDetails/CardDetails'; import TokenDetails from '../TokenDetails/TokenDetails'; import './CardCallout.css'; const useStyles = makeStyles(theme => ({ popover: { pointerEvents: 'none', }, popoverContent: { pointerEvents: 'none', }, })); const CardCallout = ({ name }) => { const classes = useStyles(); const [card, setCard] = useState(null); const [token, setToken] = useState(null); const [anchorEl, setAnchorEl] = useState(null); useMemo(async () => { const card = await CardDTO.get(name); if (card) { return setCard(card) } const token = await TokenDTO.get(name); if (token) { return setToken(token); } }, [name]); const handlePopoverOpen = (event) => { setAnchorEl(event.currentTarget); }; const handlePopoverClose = () => { setAnchorEl(null); }; const open = Boolean(anchorEl); return ( {card?.name || token?.name?.value || name} { (card || token) && (
{ card && () } { token && () }
) }
); }; export default CardCallout;