import { CachePolicy, ListOperationResultStatus, } from '@sudoplatform/sudo-common' import { Card, VSpace } from '@sudoplatform/web-ui' import { Select } from 'antd' import React, { useContext, useState } from 'react' import { useAsync, useAsyncFn } from 'react-use' import { AppContext } from '../../containers/AppContext' import { ErrorFeedback } from '../ErrorFeedback' import { LearnMore } from '../LearnMore' import { TransactionList } from './TransactionList' export const TransactionManagement: React.FC = () => { const { virtualCardsClient } = useContext(AppContext) const [, setChosenCardId] = useState(undefined) const virtualCardsResult = useAsync(async () => { const result = await virtualCardsClient.listVirtualCards({ cachePolicy: CachePolicy.RemoteOnly, }) if (result.status === ListOperationResultStatus.Failure) { throw new Error('Failed to list virtual cards') } return result.items }) const [listTransactionsResult, listTransactions] = useAsyncFn( async (cardId: string) => { return await virtualCardsClient.listTransactionsByCardId({ cardId }) }, ) return ( {virtualCardsResult.error ? ( ) : virtualCardsResult.value?.length ? (