From 4154ebd7c1b7a0c48ad1076da9128871f1e0af88 Mon Sep 17 00:00:00 2001 From: rick23p Date: Tue, 17 Aug 2021 12:58:53 +0430 Subject: [PATCH] add warning to bridge widthraw amount selector. --- .../components/WalletSelector/index.tsx | 8 ++-- .../components/AmountSelector/index.tsx | 45 ++++++++++++------- src/locales/en/translation.json | 4 +- 3 files changed, 37 insertions(+), 20 deletions(-) diff --git a/src/app/pages/BridgeDepositPage/components/WalletSelector/index.tsx b/src/app/pages/BridgeDepositPage/components/WalletSelector/index.tsx index 59101f278..ef8abf86d 100644 --- a/src/app/pages/BridgeDepositPage/components/WalletSelector/index.tsx +++ b/src/app/pages/BridgeDepositPage/components/WalletSelector/index.tsx @@ -116,7 +116,7 @@ export function WalletSelector() { { network: network?.name }, )} -
+
{}}> {t(translations.BridgeDepositPage.walletSelector.howToConnect)}{' '} {network?.chain} with{' '} @@ -142,7 +142,7 @@ export function WalletSelector() { {walletName === 'metamask' && ( walletContext.disconnect()} - className="tw-cursor-pointer tw-font-semibold tw-text-white tw-underline tw-text-center tw-mt-10" + className="tw-cursor-pointer tw-font-semibold tw-text-white tw-underline tw-text-center tw-mt-8" > {t(translations.BridgeDepositPage.changeWallet)}
diff --git a/src/app/pages/BridgeWithdrawPage/components/AmountSelector/index.tsx b/src/app/pages/BridgeWithdrawPage/components/AmountSelector/index.tsx index d114f8c3e..b1fa7252c 100644 --- a/src/app/pages/BridgeWithdrawPage/components/AmountSelector/index.tsx +++ b/src/app/pages/BridgeWithdrawPage/components/AmountSelector/index.tsx @@ -66,38 +66,46 @@ export function AmountSelector() { targetAsset!, ); + const bnAmount = useMemo(() => { + return bignumber(currentAsset.toWei(value || '0')); + }, [currentAsset, value]); + + const checkBridgeBalance = useMemo(() => { + return bridgeBalance.value !== false + ? bignumber(bridgeBalance.value).greaterThanOrEqualTo(bnAmount) + : true; + }, [bnAmount, bridgeBalance.value]); + + const checkSpentToday = useMemo(() => { + return bignumber(limits.returnData.dailyLimit).greaterThanOrEqualTo( + bnAmount.add(limits.returnData.spentToday), + ); + }, [bnAmount, limits.returnData.dailyLimit, limits.returnData.spentToday]); + const isValid = useMemo(() => { - const bnAmount = bignumber(currentAsset.toWei(value || '0')); const bnBalance = bignumber(balance.value || '0'); - const testBridgeBalance = - bridgeBalance.value !== false - ? bignumber(bridgeBalance.value).greaterThanOrEqualTo(bnAmount) - : true; + return ( !limitsLoading && !balance.loading && - testBridgeBalance && + checkBridgeBalance && bnBalance.greaterThanOrEqualTo(bnAmount) && bnAmount.greaterThan(0) && bnAmount.greaterThanOrEqualTo(limits.returnData.getMinPerToken) && bnAmount.lessThanOrEqualTo(limits.returnData.getMaxTokensAllowed) && bnAmount.greaterThan(limits.returnData.getFeePerToken) && - bignumber(limits.returnData.dailyLimit).greaterThanOrEqualTo( - bnAmount.add(limits.returnData.spentToday), - ) + checkSpentToday ); }, [ - currentAsset, - value, + bnAmount, balance.value, balance.loading, - bridgeBalance.value, limitsLoading, + checkBridgeBalance, limits.returnData.getMinPerToken, limits.returnData.getMaxTokensAllowed, limits.returnData.getFeePerToken, - limits.returnData.dailyLimit, - limits.returnData.spentToday, + checkSpentToday, ]); return ( @@ -115,13 +123,20 @@ export function AmountSelector() { maxAmount={balance.value} decimalPrecision={currentAsset.minDecimals} /> -

+

{t(trans.balance)}:{' '} {toNumberFormat( currentAsset.fromWei(balance.value), currentAsset.minDecimals, )}{' '} {currentAsset.symbol} + {(!checkBridgeBalance || !checkSpentToday) && ( +

+ {!checkBridgeBalance + ? t(trans.insufficientAggregator) + : t(trans.insufficientDaily)} +
+ )}

diff --git a/src/locales/en/translation.json b/src/locales/en/translation.json index 3342386cb..5c4d1a796 100644 --- a/src/locales/en/translation.json +++ b/src/locales/en/translation.json @@ -1558,7 +1558,9 @@ "dailyLimitSpent": "Daily Limit Spent", "fee": "Fee", "aggregatorBalance": "Aggregator Balance", - "withdrawAmount": "Withdraw Amount" + "withdrawAmount": "Withdraw Amount", + "insufficientAggregator": "Insufficient aggregator balance to withdraw.", + "insufficientDaily": "Insufficient daily limit remaining." }, "confirmStep": { "pleaseWait": "Please wait",