Commit 636abe3b authored by Zach Pomerantz's avatar Zach Pomerantz Committed by GitHub

fix: respond to updated amounts immediately (#3289)

parent 8404c607
...@@ -40,10 +40,6 @@ export default function Toolbar({ disabled }: { disabled?: boolean }) { ...@@ -40,10 +40,6 @@ export default function Toolbar({ disabled }: { disabled?: boolean }) {
return <Caption.UnsupportedNetwork /> return <Caption.UnsupportedNetwork />
} }
if (balance && trade?.inputAmount.greaterThan(balance)) {
return <Caption.InsufficientBalance currency={trade.inputAmount.currency} />
}
if (inputCurrency && outputCurrency && isAmountPopulated) { if (inputCurrency && outputCurrency && isAmountPopulated) {
if (!trade || routeIsLoading) { if (!trade || routeIsLoading) {
return <Caption.LoadingTrade /> return <Caption.LoadingTrade />
...@@ -51,6 +47,9 @@ export default function Toolbar({ disabled }: { disabled?: boolean }) { ...@@ -51,6 +47,9 @@ export default function Toolbar({ disabled }: { disabled?: boolean }) {
if (!routeFound) { if (!routeFound) {
return <Caption.InsufficientLiquidity /> return <Caption.InsufficientLiquidity />
} }
if (balance && trade?.inputAmount.greaterThan(balance)) {
return <Caption.InsufficientBalance currency={trade.inputAmount.currency} />
}
if (trade.inputAmount && trade.outputAmount) { if (trade.inputAmount && trade.outputAmount) {
return <Caption.Trade trade={trade} /> return <Caption.Trade trade={trade} />
} }
......
...@@ -57,6 +57,8 @@ function useComputeSwapInfo(): SwapInfo { ...@@ -57,6 +57,8 @@ function useComputeSwapInfo(): SwapInfo {
() => tryParseCurrencyAmount(amount, (isExactIn ? inputCurrency : outputCurrency) ?? undefined), () => tryParseCurrencyAmount(amount, (isExactIn ? inputCurrency : outputCurrency) ?? undefined),
[inputCurrency, isExactIn, outputCurrency, amount] [inputCurrency, isExactIn, outputCurrency, amount]
) )
const parsedAmountIn = isExactIn ? parsedAmount : undefined
const parsedAmountOut = isExactIn ? undefined : parsedAmount
//@TODO(ianlapham): this would eventually be replaced with routing api logic. //@TODO(ianlapham): this would eventually be replaced with routing api logic.
const trade = useBestTrade( const trade = useBestTrade(
...@@ -83,10 +85,10 @@ function useComputeSwapInfo(): SwapInfo { ...@@ -83,10 +85,10 @@ function useComputeSwapInfo(): SwapInfo {
const currencyAmounts = useMemo( const currencyAmounts = useMemo(
() => ({ () => ({
[Field.INPUT]: trade.trade?.inputAmount, [Field.INPUT]: parsedAmountIn || trade.trade?.inputAmount,
[Field.OUTPUT]: trade.trade?.outputAmount, [Field.OUTPUT]: parsedAmountOut || trade.trade?.outputAmount,
}), }),
[trade.trade?.inputAmount, trade.trade?.outputAmount] [parsedAmountIn, parsedAmountOut, trade.trade?.inputAmount, trade.trade?.outputAmount]
) )
const allowedSlippage = useAllowedSlippage(trade.trade) const allowedSlippage = useAllowedSlippage(trade.trade)
......
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment