From 0664746c14b1ef5f77b21215b5fbba666ffd6e1e Mon Sep 17 00:00:00 2001 From: Sorin Chis Date: Tue, 16 Apr 2024 14:05:55 +0300 Subject: [PATCH] move swap form context --- .../app/containers/swap/SwapPageContainer.js | 5 ++++- .../app/containers/swap/asset-swap/SwapPage.js | 14 ++++++++++---- 2 files changed, 14 insertions(+), 5 deletions(-) diff --git a/packages/yoroi-extension/app/containers/swap/SwapPageContainer.js b/packages/yoroi-extension/app/containers/swap/SwapPageContainer.js index 48208547b2..777a82e203 100644 --- a/packages/yoroi-extension/app/containers/swap/SwapPageContainer.js +++ b/packages/yoroi-extension/app/containers/swap/SwapPageContainer.js @@ -15,6 +15,7 @@ import TopBarLayout from '../../components/layout/TopBarLayout'; import SidebarContainer from '../SidebarContainer'; import NavBarTitle from '../../components/topbar/NavBarTitle'; import NavBarContainerRevamp from '../NavBarContainerRevamp'; +import { SwapFormProvider } from './context/swap-form'; type Props = {| ...StoresAndActionsProps, @@ -75,7 +76,9 @@ class SwapPageContainer extends Component { showAsCard withPadding={false} > - {children} + + {children} + ); } diff --git a/packages/yoroi-extension/app/containers/swap/asset-swap/SwapPage.js b/packages/yoroi-extension/app/containers/swap/asset-swap/SwapPage.js index df5cab882b..091c0454df 100644 --- a/packages/yoroi-extension/app/containers/swap/asset-swap/SwapPage.js +++ b/packages/yoroi-extension/app/containers/swap/asset-swap/SwapPage.js @@ -6,7 +6,6 @@ import { CreateSwapOrder } from './CreateSwapOrder'; import ConfirmSwapTransaction from './ConfirmSwapTransaction'; import TxSubmittedStep from './TxSubmittedStep'; import LimitOrderWarningDialog from '../../../components/swap/LimitOrderWarningDialog'; -import { SwapFormProvider } from '../context/swap-form'; import type { StoresAndActionsProps } from '../../../types/injectedProps.types'; import { useSwap } from '@yoroi/swap'; import { runInAction } from 'mobx'; @@ -23,6 +22,7 @@ import { HaskellShelleyTxSignRequest } from '../../../api/ada/transactions/shell import LoadingOverlay from '../../../components/swap/LoadingOverlay'; import { IncorrectWalletPasswordError } from '../../../api/common/errors'; import { observer } from 'mobx-react'; +import useSwapForm from '../context/swap-form/useSwapForm'; export const PRICE_IMPACT_MODERATE_RISK = 1; export const PRICE_IMPACT_HIGH_RISK = 10; @@ -45,7 +45,9 @@ function SwapPage(props: StoresAndActionsProps): Node { limitPrice: orderLimitPrice, }, frontendFeeTiersChanged, + orderData, } = useSwap(); + const { sellTokenInfo, buyTokenInfo } = useSwapForm(); const isMarketOrder = orderType === 'market'; const impact = isMarketOrder ? Number(selectedPoolCalculation?.prices.priceImpact ?? 0) : 0; @@ -58,9 +60,13 @@ function SwapPage(props: StoresAndActionsProps): Node { const [signRequest, setSignRequest] = useState(null); const userPasswordState = StateWrap(useState('')); const txSubmitErrorState = StateWrap(useState(null)); + const isValidTickers = sellTokenInfo?.ticker && buyTokenInfo?.ticker; const swapFormCanContinue = - selectedPoolCalculation != null && sell.quantity !== '0' && buy.quantity !== '0'; + selectedPoolCalculation != null && + sell.quantity !== '0' && + buy.quantity !== '0' && + isValidTickers; const confirmationCanContinue = userPasswordState.value !== '' && signRequest != null; @@ -277,7 +283,7 @@ function SwapPage(props: StoresAndActionsProps): Node { }; return ( - + <> )} - + ); }