Commit 73f29eea authored by Noah Zinsmeister's avatar Noah Zinsmeister

don't show approve for both assets...

...in the single-sided liquidity provision case
parent 8057cb9f
...@@ -13,10 +13,10 @@ import { useActiveWeb3React } from './index' ...@@ -13,10 +13,10 @@ import { useActiveWeb3React } from './index'
import { useTokenAllowance } from './useTokenAllowance' import { useTokenAllowance } from './useTokenAllowance'
export enum ApprovalState { export enum ApprovalState {
UNKNOWN, UNKNOWN = 'UNKNOWN',
NOT_APPROVED, NOT_APPROVED = 'NOT_APPROVED',
PENDING, PENDING = 'PENDING',
APPROVED, APPROVED = 'APPROVED',
} }
// returns a variable indicating the state of the approval and a function which approves if necessary or early returns // returns a variable indicating the state of the approval and a function which approves if necessary or early returns
......
...@@ -353,6 +353,10 @@ export default function AddLiquidity({ ...@@ -353,6 +353,10 @@ export default function AddLiquidity({
pool pool
) )
// we need an existence check on parsed amounts for single-asset deposits
const showApprovalA = approvalA !== ApprovalState.APPROVED && !!parsedAmounts[Field.CURRENCY_A]
const showApprovalB = approvalB !== ApprovalState.APPROVED && !!parsedAmounts[Field.CURRENCY_B]
return ( return (
<ScrollablePage> <ScrollablePage>
<TransactionConfirmationModal <TransactionConfirmationModal
...@@ -623,13 +627,13 @@ export default function AddLiquidity({ ...@@ -623,13 +627,13 @@ export default function AddLiquidity({
approvalB === ApprovalState.PENDING) && approvalB === ApprovalState.PENDING) &&
isValid && ( isValid && (
<RowBetween> <RowBetween>
{approvalA !== ApprovalState.APPROVED && ( {showApprovalA && (
<ButtonPrimary <ButtonPrimary
borderRadius="12px" borderRadius="12px"
padding={'12px'} padding={'12px'}
onClick={approveACallback} onClick={approveACallback}
disabled={approvalA === ApprovalState.PENDING} disabled={approvalA === ApprovalState.PENDING}
width={approvalB !== ApprovalState.APPROVED ? '48%' : '100%'} width={showApprovalB ? '48%' : '100%'}
> >
{approvalA === ApprovalState.PENDING ? ( {approvalA === ApprovalState.PENDING ? (
<Dots>Approving {currencies[Field.CURRENCY_A]?.symbol}</Dots> <Dots>Approving {currencies[Field.CURRENCY_A]?.symbol}</Dots>
...@@ -638,13 +642,13 @@ export default function AddLiquidity({ ...@@ -638,13 +642,13 @@ export default function AddLiquidity({
)} )}
</ButtonPrimary> </ButtonPrimary>
)} )}
{approvalB !== ApprovalState.APPROVED && ( {showApprovalB && (
<ButtonPrimary <ButtonPrimary
borderRadius="12px" borderRadius="12px"
padding={'12px'} padding={'12px'}
onClick={approveBCallback} onClick={approveBCallback}
disabled={approvalB === ApprovalState.PENDING} disabled={approvalB === ApprovalState.PENDING}
width={approvalA !== ApprovalState.APPROVED ? '48%' : '100%'} width={showApprovalA ? '48%' : '100%'}
> >
{approvalB === ApprovalState.PENDING ? ( {approvalB === ApprovalState.PENDING ? (
<Dots>Approving {currencies[Field.CURRENCY_B]?.symbol}</Dots> <Dots>Approving {currencies[Field.CURRENCY_B]?.symbol}</Dots>
......
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