import React from 'react' import Grid from '@material-ui/core/Grid' import { v2 } from 'api' import * as jsonapi from 'utils/json-api-client' import * as presenters from 'core/store/presenters' import { useErrorHandler } from 'hooks/useErrorHandler' import { useLoadingPlaceholder } from 'hooks/useLoadingPlaceholder' import Table from '@material-ui/core/Table' import TableBody from '@material-ui/core/TableBody' import TableCell from '@material-ui/core/TableCell' import TableHead from '@material-ui/core/TableHead' import TableRow from '@material-ui/core/TableRow' import Card from '@material-ui/core/Card' import CardContent from '@material-ui/core/CardContent' import CardHeader from '@material-ui/core/CardHeader' import Typography from '@material-ui/core/Typography' import { TimeAgo } from 'components/TimeAgo' import { createStyles, withStyles, WithStyles, Theme, } from '@material-ui/core/styles' import { Copy } from './Copy' const styles = (theme: Theme) => createStyles({ card: { padding: theme.spacing.unit, marginBottom: theme.spacing.unit * 3, }, }) export const AccountAddresses = withStyles(styles)( ({ classes }: WithStyles) => { const [accountBalances, setAccountBalances] = React.useState< jsonapi.ApiResponse['data'] >() const { error, ErrorComponent, setError } = useErrorHandler() const { isLoading, LoadingPlaceholder } = useLoadingPlaceholder( !error && !accountBalances, ) const handleFetchIndex = React.useCallback(() => { v2.user.balances .getAccountBalances() .then(({ data }) => { setAccountBalances(data) }) .catch(setError) }, [setError]) React.useEffect(() => { handleFetchIndex() }, [handleFetchIndex]) return ( Address Type Adam balance OKT balance Created {isLoading && ( )} {accountBalances?.length === 0 && ( No entries to show. )} {accountBalances?.map((balance) => ( {balance.attributes.address}{' '} {balance.attributes.isFunding ? 'Emergency funding' : 'Regular'} {balance.attributes.linkBalance} {balance.attributes.ethBalance} {balance.attributes.createdAt || ''} ))}
) }, )