import BigNumber from 'bignumber.js' import classNames from 'classnames' import AssetImage from 'components/AssetImage' import Button from 'components/Button' import DisplayCurrency from 'components/DisplayCurrency' import { FormattedNumber } from 'components/FormattedNumber' import { ExclamationMarkTriangle, TrashBin } from 'components/Icons' import NumberInput from 'components/NumberInput' import Select from 'components/Select' import Text from 'components/Text' import { Tooltip } from 'components/Tooltip' import { ASSETS } from 'constants/assets' import useStore from 'store' import { BNCoin } from 'types/classes/BNCoin' import { BN } from 'utils/helpers' interface Props { amount: BigNumber asset: Asset max: BigNumber onChange: (amount: BigNumber) => void accountId?: string balances?: Coin[] className?: string disabled?: boolean hasSelect?: boolean maxText?: string warning?: string onChangeAsset?: (asset: Asset) => void onDelete?: () => void } export default function TokenInput(props: Props) { const baseCurrency = useStore((s) => s.baseCurrency) function onMaxBtnClick() { props.onChange(BN(props.max)) } function onChangeAsset(denom: string) { if (!props.onChangeAsset) return const newAsset = ASSETS.find((asset) => asset.denom === denom) ?? baseCurrency props.onChangeAsset(newAsset) } return (
{props.hasSelect && props.balances ? (