import { TokenList } from "@uniswap/token-lists/dist/types"; import React from "react"; import { Token, Currency } from "@uniswap/sdk-core"; import styled from "styled-components/macro"; import { TYPE, CloseIcon } from "../../theme"; import Card from "../Card"; import { AutoColumn } from "../Column"; import { RowBetween, RowFixed } from "../Row"; import CurrencyLogo from "../CurrencyLogo"; import { ArrowLeft, AlertCircle } from "react-feather"; import { transparentize } from "polished"; import useTheme from "../../hooks/useTheme"; import { ButtonPrimary } from "../Button"; import { SectionBreak } from "../order/styleds"; import { useAddUserToken } from "../../state/guser/hooks"; import { useWeb3 } from "../../web3"; import { ExternalLink } from "../../theme/components"; import ListLogo from "../ListLogo"; import { ExplorerDataType, getExplorerLink } from "../../utils/getExplorerLink"; import { PaddedColumn } from "./styleds"; const Wrapper = styled.div` position: relative; width: 100%; overflow: auto; `; const WarningWrapper = styled(Card)<{ highWarning: boolean }>` background-color: ${({ theme, highWarning }) => highWarning ? transparentize(0.8, theme.red1) : transparentize(0.8, theme.yellow2)}; width: fit-content; `; const AddressText = styled(TYPE.blue)` font-size: 12px; ${({ theme }) => theme.mediaWidth.upToSmall` font-size: 10px; `} `; interface ImportProps { tokens: Token[]; list?: TokenList; onBack?: () => void; onDismiss?: () => void; handleCurrencySelect?: (currency: Currency) => void; } export function ImportToken({ tokens, list, onBack, onDismiss, handleCurrencySelect, }: ImportProps) { const theme = useTheme(); const { chainId } = useWeb3(); const addToken = useAddUserToken(); return ( {onBack ? ( ) : (
)} Import {tokens.length > 1 ? "Tokens" : "Token"} {onDismiss ? :
} { "This token doesn't appear on the active token list(s). Make sure this is the token that you want to trade." } {tokens.map((token) => { return ( {token.symbol} {token.name} {chainId && ( {token.address} )} {list !== undefined ? ( {list.logoURI && ( )} via {list.name} token list ) : ( Unknown Source )} ); })} { tokens.map((token) => addToken(token)); handleCurrencySelect && handleCurrencySelect(tokens[0]); }} className=".token-dismiss-button" > Import ); }