import { CircularProgress, Container } from '@material-ui/core' import { createStyles, makeStyles } from '@material-ui/core/styles' import { ReactElement, useContext, useEffect, useState } from 'react' import { PlusSquare } from 'react-feather' import { SwarmButton } from '../../components/SwarmButton' import TroubleshootConnectionCard from '../../components/TroubleshootConnectionCard' import { Context as BeeContext } from '../../providers/Bee' import { Context as StampsContext } from '../../providers/Stamps' import { CreatePostageStampModal } from './CreatePostageStampModal' import StampsTable from './StampsTable' const useStyles = makeStyles(() => createStyles({ root: { width: '100%', display: 'grid', }, actions: { display: 'flex', width: '100%', flex: '0 1 auto', flexWrap: 'wrap', alignItems: 'center', }, }), ) export default function Stamp(): ReactElement { const classes = useStyles() const [isBuyingStamp, setBuyingStamp] = useState(false) const { stamps, isLoading, error, start, stop } = useContext(StampsContext) const { status } = useContext(BeeContext) useEffect(() => { if (!status.all) return start() return () => stop() }, [status]) // eslint-disable-line react-hooks/exhaustive-deps if (!status.all) return return (
{error && ( Error loading postage stamps details: {error.message} )} {!error && ( <>
{isBuyingStamp ? setBuyingStamp(false)} /> : null} setBuyingStamp(true)} iconType={PlusSquare}> Buy New Postage Stamp
{isLoading && }
)}
) }