import MaxAmountButton from '@components/shared/MaxAmountButton' import mangoStore from '@store/mangoStore' import Decimal from 'decimal.js' import { useTranslation } from 'next-i18next' import { floorToDecimal } from 'utils/numbers' import { useTokenMax } from './useTokenMax' const MaxSwapAmount = ({ setAmountIn, useMargin, }: { setAmountIn: (x: string) => void useMargin: boolean }) => { const { t } = useTranslation('common') const mangoAccountLoading = mangoStore((s) => s.mangoAccount.initialLoad) const { amount: tokenMax, amountWithBorrow, decimals, } = useTokenMax(useMargin) if (mangoAccountLoading) return null const setMax = (value: Decimal) => { setAmountIn(floorToDecimal(value, decimals).toFixed()) } return (
{tokenMax.lt(amountWithBorrow) || (tokenMax.eq(amountWithBorrow) && !useMargin) ? ( setMax(tokenMax)} value={tokenMax} /> ) : null} {useMargin ? ( setMax(amountWithBorrow)} value={amountWithBorrow} /> ) : null}
) } export default MaxSwapAmount