From 17f82d7afc6d21a5810275120bfa60f26c8c6af8 Mon Sep 17 00:00:00 2001 From: simke9445 Date: Sun, 17 Mar 2024 00:12:16 +0100 Subject: [PATCH] add token + amount inputs to migrate job dialog + adapt logic for funding job --- .../migrate-job/MigrateJobDialog.tsx | 51 +++++++++- .../migrate-job/useMigrateJobForm.tsx | 93 ++++++++++++++++--- .../pages/balances/token-input/TokenInput.tsx | 5 +- apps/warp-protocol/src/tx/useMigrateJobTx.ts | 31 ++++++- 4 files changed, 157 insertions(+), 23 deletions(-) diff --git a/apps/warp-protocol/src/components/layout/migrate-jobs/migrate-job/MigrateJobDialog.tsx b/apps/warp-protocol/src/components/layout/migrate-jobs/migrate-job/MigrateJobDialog.tsx index 408cd30d..9778c52c 100644 --- a/apps/warp-protocol/src/components/layout/migrate-jobs/migrate-job/MigrateJobDialog.tsx +++ b/apps/warp-protocol/src/components/layout/migrate-jobs/migrate-job/MigrateJobDialog.tsx @@ -8,6 +8,10 @@ import { Job } from 'types'; import { NumericInput } from 'components/primitives/numeric-input'; import { useMigrateJobForm } from './useMigrateJobForm'; import { FundingAccountInput } from './funding-account-input/FundingAccountInput'; +import { TokenInput } from 'pages/balances/token-input/TokenInput'; +import { AmountInput } from 'pages/dashboard/jobs-widget/inputs/AmountInput'; +import { demicrofy, microfy } from '@terra-money/apps/libs/formatting'; +import Big from 'big.js'; type MigrateJobDialogProps = { job: Job; @@ -18,14 +22,19 @@ export const MigrateJobDialog = (props: DialogProps closeDialog(undefined, { closeAll: true })} /> - You may specify additional fields such as duration of stay or optionally attach a funding account. + You may specify additional fields such as duration of stay, optional funding account or job funds. Job funds + are drawn from the wallet. In case you want to provide Warp account funds, first withdraw the assets to your + wallet. input({ fundingAccount: acc })} /> + { + input({ token }); + }} + /> + + + input({ + amount: value.target.value, + }) + } + onBalanceClick={(value) => { + if (token) { + input({ + amount: demicrofy(value, token?.decimals).toString(), + }); + } + }} + error={amountError} + balance={balance} + balanceLoading={balanceLoading} + token={token} + valid={amountValid} + />