5eb06254de
* feat: add deposits table to deposits tab on portfolio page * feat: refactor use-withdraw hook to not invoke eth tx * feat: rename hook for clarity * feat: fix withdrawal creation test * feat: update withdraw-manager and withrawals-table tests * chore: fix lint * feat: remove web3 input to avoid double dialog * chore: use renderHook from testing-library/react * chore: update to use non deprecated fields * chore: remove usage of all bridge contract * feat: correctly merge cache update in withdrawals table * feat: changes to support token app withdrawals * chore: add height to ag grid table wrapping element * feat: add txhash col to withdraw table * feat: provide better ui if withdrawal is not ready to be completed * feat: use separate dialogs for txs * feat: allow user to immediately complete withdrawal if delay not triggered * feat: add withdraw store to tidy up state management * chore: fix tests * chore: convert callback to promises, fix tests, delete withdraw page * chore: fix lint errors * fix: withdrawals link in nav * feat: style changes after design update * fix: proposal form test * chore: tidy error ui logic * feat: review comments * chore: lint * feat: add better typing for tables * chore: put withdrawals tab at the end * chore: update i18n * fix: dialog in positions manager due to rename * chore: increase spacing in withdrawal form * chore: update tests * chore: lint * chore: use new assetsConnection and update cy test * fix: incorrect shape of withdrawal generate function * feat: delete withdrawals page now that its shown on the portfolio page * chore: update tests to check for withdrawals page * chore: fix tests again * fix: page title test
51 lines
1.5 KiB
TypeScript
51 lines
1.5 KiB
TypeScript
import { AsyncRenderer, Button } from '@vegaprotocol/ui-toolkit';
|
|
import {
|
|
useWithdrawals,
|
|
WithdrawalDialogs,
|
|
WithdrawalsTable,
|
|
} from '@vegaprotocol/withdraws';
|
|
import { t } from '@vegaprotocol/react-helpers';
|
|
import { useState } from 'react';
|
|
import { VegaWalletContainer } from '../../components/vega-wallet-container';
|
|
import { Web3Container } from '@vegaprotocol/web3';
|
|
|
|
export const WithdrawalsContainer = () => {
|
|
const { withdrawals, loading, error } = useWithdrawals();
|
|
const [withdrawDialog, setWithdrawDialog] = useState(false);
|
|
|
|
console.log('render');
|
|
return (
|
|
<Web3Container>
|
|
<VegaWalletContainer>
|
|
<div className="h-full grid grid-rows-[min-content_1fr]">
|
|
<header className="flex justify-between items-center p-4">
|
|
<h4 className="text-lg text-black dark:text-white">
|
|
{t('Withdrawals')}
|
|
</h4>
|
|
<Button
|
|
onClick={() => setWithdrawDialog(true)}
|
|
data-testid="withdraw-dialog-button"
|
|
>
|
|
{t('Withdraw')}
|
|
</Button>
|
|
</header>
|
|
<div>
|
|
<AsyncRenderer
|
|
data={withdrawals}
|
|
loading={loading}
|
|
error={error}
|
|
render={(data) => {
|
|
return <WithdrawalsTable withdrawals={data} />;
|
|
}}
|
|
/>
|
|
</div>
|
|
</div>
|
|
<WithdrawalDialogs
|
|
withdrawDialog={withdrawDialog}
|
|
setWithdrawDialog={setWithdrawDialog}
|
|
/>
|
|
</VegaWalletContainer>
|
|
</Web3Container>
|
|
);
|
|
};
|