Commit 9170af88 authored by Ian Lapham's avatar Ian Lapham Committed by GitHub

handle dismiss (#1328)

parent b258f557
import { Token } from '@uniswap/sdk' import { Token } from '@uniswap/sdk'
import React, { useCallback } from 'react' import React from 'react'
import Modal from '../Modal' import Modal from '../Modal'
import { ImportToken } from 'components/SearchModal/ImportToken' import { ImportToken } from 'components/SearchModal/ImportToken'
export default function TokenWarningModal({ export default function TokenWarningModal({
isOpen, isOpen,
tokens, tokens,
onConfirm onConfirm,
onDismiss
}: { }: {
isOpen: boolean isOpen: boolean
tokens: Token[] tokens: Token[]
onConfirm: () => void onConfirm: () => void
onDismiss: () => void
}) { }) {
const handleDismiss = useCallback(() => null, [])
return ( return (
<Modal isOpen={isOpen} onDismiss={handleDismiss} maxHeight={90}> <Modal isOpen={isOpen} onDismiss={onDismiss} maxHeight={100}>
<ImportToken tokens={tokens} handleCurrencySelect={onConfirm} /> <ImportToken tokens={tokens} handleCurrencySelect={onConfirm} />
</Modal> </Modal>
) )
......
...@@ -48,8 +48,9 @@ import Loader from '../../components/Loader' ...@@ -48,8 +48,9 @@ import Loader from '../../components/Loader'
import { useIsTransactionUnsupported } from 'hooks/Trades' import { useIsTransactionUnsupported } from 'hooks/Trades'
import UnsupportedCurrencyFooter from 'components/swap/UnsupportedCurrencyFooter' import UnsupportedCurrencyFooter from 'components/swap/UnsupportedCurrencyFooter'
import { isTradeBetter } from 'utils/trades' import { isTradeBetter } from 'utils/trades'
import { RouteComponentProps } from 'react-router-dom'
export default function Swap() { export default function Swap({ history }: RouteComponentProps) {
const loadedUrlParams = useDefaultsFromURLSearch() const loadedUrlParams = useDefaultsFromURLSearch()
// token warning stuff // token warning stuff
...@@ -97,6 +98,7 @@ export default function Swap() { ...@@ -97,6 +98,7 @@ export default function Swap() {
currencies, currencies,
inputError: swapInputError inputError: swapInputError
} = useDerivedSwapInfo() } = useDerivedSwapInfo()
const { wrapType, execute: onWrap, inputError: wrapInputError } = useWrapCallback( const { wrapType, execute: onWrap, inputError: wrapInputError } = useWrapCallback(
currencies[Field.INPUT], currencies[Field.INPUT],
currencies[Field.OUTPUT], currencies[Field.OUTPUT],
...@@ -142,6 +144,12 @@ export default function Swap() { ...@@ -142,6 +144,12 @@ export default function Swap() {
[onUserInput] [onUserInput]
) )
// reset if they close warning without tokens in params
const handleDismissTokenWarning = useCallback(() => {
setDismissTokenWarning(true)
history.push('/swap/')
}, [history])
// modal and loading // modal and loading
const [{ showConfirm, tradeToConfirm, swapErrorMessage, attemptingTxn, txHash }, setSwapState] = useState<{ const [{ showConfirm, tradeToConfirm, swapErrorMessage, attemptingTxn, txHash }, setSwapState] = useState<{
showConfirm: boolean showConfirm: boolean
...@@ -297,6 +305,7 @@ export default function Swap() { ...@@ -297,6 +305,7 @@ export default function Swap() {
isOpen={importTokensNotInDefault.length > 0 && !dismissTokenWarning} isOpen={importTokensNotInDefault.length > 0 && !dismissTokenWarning}
tokens={importTokensNotInDefault} tokens={importTokensNotInDefault}
onConfirm={handleConfirmTokenWarning} onConfirm={handleConfirmTokenWarning}
onDismiss={handleDismissTokenWarning}
/> />
<SwapPoolTabs active={'swap'} /> <SwapPoolTabs active={'swap'} />
<AppBody> <AppBody>
......
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