import { ReactElement, useState } from 'react' import Button from '@material-ui/core/Button' import Dialog from '@material-ui/core/Dialog' import DialogActions from '@material-ui/core/DialogActions' import DialogContent from '@material-ui/core/DialogContent' import DialogContentText from '@material-ui/core/DialogContentText' import DialogTitle from '@material-ui/core/DialogTitle' import { Container, CircularProgress } from '@material-ui/core' import { useSnackbar } from 'notistack' import { beeDebugApi } from '../services/bee' import EthereumAddress from './EthereumAddress' interface Props { peerId: string uncashedAmount: string } export default function DepositModal({ peerId, uncashedAmount }: Props): ReactElement { const [open, setOpen] = useState(false) const [loadingCashout, setLoadingCashout] = useState(false) const { enqueueSnackbar } = useSnackbar() const handleClickOpen = () => { setOpen(true) } const handleClose = () => { setOpen(false) } const handleCashout = () => { if (peerId) { setLoadingCashout(true) beeDebugApi.chequebook .peerCashout(peerId) .then(res => { setOpen(false) enqueueSnackbar( Successfully cashed out cheque. Transaction , { variant: 'success' }, ) }) .catch((e: Error) => { enqueueSnackbar(Error: {e.message}, { variant: 'error' }) }) .finally(() => { setLoadingCashout(false) }) } else { enqueueSnackbar(Peer Id invalid, { variant: 'error' }) } } return (
Cashout Cheque {loadingCashout && ( <> Cashing out {uncashedAmount} from Peer {peerId}. Please wait... )} {!loadingCashout && ( Are you sure you want to cashout {uncashedAmount} BZZ from Peer{' '} {peerId}? )}
) }