import { useQuery } from '@apollo/react-hooks' import { makeStyles } from '@material-ui/core/styles' import gql from 'graphql-tag' import moment from 'moment' import * as R from 'ramda' import React, { useContext } from 'react' import AppContext from 'src/AppContext' import { Tooltip } from 'src/components/Tooltip' import TitleSection from 'src/components/layout/TitleSection' import DataTable from 'src/components/tables/DataTable' import { H4, Info2, P } from 'src/components/typography' import styles from './Accounting.styles' const formatCurrency = amount => amount.toLocaleString('en-US', { maximumFractionDigits: 2 }) const useStyles = makeStyles(styles) const GET_OPERATOR_BY_USERNAME = gql` query operatorByUsername($username: String) { operatorByUsername(username: $username) { id entityId name fiatBalances cryptoBalances machines joined assetValue preferredFiatCurrency contactInfo { name email } fundings { id origin destination fiatAmount fiatBalanceAfter fiatCurrency created status description } } } ` const Assets = ({ balance, hedgingReserve, currency }) => { const classes = useStyles() return (

Pazuz fiat balance

{formatCurrency(balance)} {R.toUpper(currency)}
-

Hedging reserve

{formatCurrency(hedgingReserve)} {R.toUpper(currency)}
=

Available balance

{formatCurrency(balance - hedgingReserve)} {R.toUpper(currency)}
) } const Accounting = () => { const classes = useStyles() const { userData } = useContext(AppContext) const { data, loading } = useQuery(GET_OPERATOR_BY_USERNAME, { context: { clientName: 'pazuz' }, variables: { username: userData?.username } }) const operatorData = R.path(['operatorByUsername'], data) const elements = [ { header: 'Operation', width: 500, size: 'sm', textAlign: 'left', view: it => { return ( {it.description} {!!it.extraInfo && (

{it.extraInfo}

)}
) } }, { header: 'Amount', width: 147, size: 'sm', textAlign: 'right', view: it => `${formatCurrency(it.fiatAmount)} ${R.toUpper(it.fiatCurrency)}` }, { header: 'Balance after operation', width: 250, size: 'sm', textAlign: 'right', view: it => `${formatCurrency(it.fiatBalanceAfter)} ${R.toUpper(it.fiatCurrency)}` }, { header: 'Date', width: 150, size: 'sm', textAlign: 'right', view: it => moment.utc(it.created).format('YYYY-MM-DD') }, { header: 'Time', width: 150, size: 'sm', textAlign: 'right', view: it => moment.utc(it.created).format('HH:mm:ss') } ] return ( !loading && ( <>

Fiat balance history

) ) } export default Accounting