* 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
50 lines
1.5 KiB
TypeScript
50 lines
1.5 KiB
TypeScript
import { t } from '@vegaprotocol/react-helpers';
|
|
import { Dialog } from '@vegaprotocol/ui-toolkit';
|
|
import { useVegaWallet } from '@vegaprotocol/wallet';
|
|
import { useCompleteWithdraw } from './use-complete-withdraw';
|
|
import { useCreateWithdraw } from './use-create-withdraw';
|
|
import { WithdrawFormContainer } from './withdraw-form-container';
|
|
import { WithdrawalFeedback } from './withdrawal-feedback';
|
|
|
|
export const WithdrawalDialogs = ({
|
|
withdrawDialog,
|
|
setWithdrawDialog,
|
|
}: {
|
|
withdrawDialog: boolean;
|
|
setWithdrawDialog: (open: boolean) => void;
|
|
}) => {
|
|
const { keypair } = useVegaWallet();
|
|
const createWithdraw = useCreateWithdraw();
|
|
const completeWithdraw = useCompleteWithdraw();
|
|
return (
|
|
<>
|
|
<Dialog
|
|
title={t('Withdraw')}
|
|
open={withdrawDialog}
|
|
onChange={(isOpen) => setWithdrawDialog(isOpen)}
|
|
size="small"
|
|
>
|
|
<WithdrawFormContainer
|
|
partyId={keypair?.pub}
|
|
submit={(args) => {
|
|
setWithdrawDialog(false);
|
|
createWithdraw.submit(args);
|
|
}}
|
|
/>
|
|
</Dialog>
|
|
<createWithdraw.Dialog>
|
|
<WithdrawalFeedback
|
|
withdrawal={createWithdraw.withdrawal}
|
|
transaction={createWithdraw.transaction}
|
|
availableTimestamp={createWithdraw.availableTimestamp}
|
|
submitWithdraw={(id) => {
|
|
createWithdraw.reset();
|
|
completeWithdraw.submit(id);
|
|
}}
|
|
/>
|
|
</createWithdraw.Dialog>
|
|
<completeWithdraw.Dialog />
|
|
</>
|
|
);
|
|
};
|