update decimal formatting
This commit is contained in:
parent
f55c4a8820
commit
29da9b24f6
|
@ -7,7 +7,7 @@ import React, { ChangeEvent, useCallback, useMemo, useState } from 'react'
|
|||
import mangoStore from '../../store/state'
|
||||
import { ModalProps } from '../../types/modal'
|
||||
import { notify } from '../../utils/notifications'
|
||||
import { floorToDecimal, formatFixedDecimals } from '../../utils/numbers'
|
||||
import { floorToDecimal } from '../../utils/numbers'
|
||||
import { TokenAccount } from '../../utils/tokens'
|
||||
import ButtonGroup from '../forms/ButtonGroup'
|
||||
import Input from '../forms/Input'
|
||||
|
@ -142,7 +142,7 @@ function DepositModal({ isOpen, onClose, token }: ModalCombinedProps) {
|
|||
{t('wallet-balance')}
|
||||
</span>
|
||||
<span className="text-th-fgd-1 underline">
|
||||
{formatFixedDecimals(tokenMax.maxAmount)}
|
||||
{floorToDecimal(tokenMax.maxAmount, tokenMax.maxDecimals)}
|
||||
</span>
|
||||
</LinkButton>
|
||||
</div>
|
||||
|
|
|
@ -6,7 +6,7 @@ import { ChangeEvent, useCallback, useMemo, useState } from 'react'
|
|||
import mangoStore from '../../store/state'
|
||||
import { ModalProps } from '../../types/modal'
|
||||
import { notify } from '../../utils/notifications'
|
||||
import { floorToDecimal, formatFixedDecimals } from '../../utils/numbers'
|
||||
import { floorToDecimal } from '../../utils/numbers'
|
||||
import ButtonGroup from '../forms/ButtonGroup'
|
||||
import Input from '../forms/Input'
|
||||
import Label from '../forms/Label'
|
||||
|
|
|
@ -14,7 +14,6 @@ import FlipNumbers from 'react-flip-numbers'
|
|||
import LineChartIcon from '../icons/LineChartIcon'
|
||||
import ContentBox from '../shared/ContentBox'
|
||||
import { DownTriangle, UpTriangle } from '../shared/DirectionTriangles'
|
||||
import { formatFixedDecimals } from '../../utils/numbers'
|
||||
import SheenLoader from '../shared/SheenLoader'
|
||||
import { COLORS } from '../../styles/colors'
|
||||
import { useTheme } from 'next-themes'
|
||||
|
|
|
@ -1,37 +1,26 @@
|
|||
import { useState, ChangeEvent, useCallback, useEffect, useMemo } from 'react'
|
||||
import { PublicKey, TransactionInstruction } from '@solana/web3.js'
|
||||
import { TransactionInstruction } from '@solana/web3.js'
|
||||
import { ArrowDownIcon, CogIcon } from '@heroicons/react/solid'
|
||||
import mangoStore from '../../store/state'
|
||||
import { RouteInfo } from '@jup-ag/core'
|
||||
import { Token } from '../../types/jupiter'
|
||||
import ContentBox from '../shared/ContentBox'
|
||||
import { notify } from '../../utils/notifications'
|
||||
import JupiterRoutes from './JupiterRoutes'
|
||||
import TokenSelect from '../TokenSelect'
|
||||
import useDebounce from '../shared/useDebounce'
|
||||
import {
|
||||
floorToDecimal,
|
||||
formatFixedDecimals,
|
||||
numberFormat,
|
||||
} from '../../utils/numbers'
|
||||
import { floorToDecimal, numberFormat } from '../../utils/numbers'
|
||||
import LeverageSlider from './LeverageSlider'
|
||||
import Input from '../forms/Input'
|
||||
import { useTranslation } from 'next-i18next'
|
||||
import SelectToken from './SelectToken'
|
||||
import { Transition } from '@headlessui/react'
|
||||
import Switch from '../forms/Switch'
|
||||
import Button, { LinkButton } from '../shared/Button'
|
||||
import ButtonGroup from '../forms/ButtonGroup'
|
||||
import { toUiDecimals } from '@blockworks-foundation/mango-v4'
|
||||
import Loading from '../shared/Loading'
|
||||
import { EnterBottomExitBottom } from '../shared/Transitions'
|
||||
import useJupiter from './useJupiter'
|
||||
import SwapSettings from './SwapSettings'
|
||||
|
||||
const getBestRoute = (routesInfos: RouteInfo[]) => {
|
||||
return routesInfos[0]
|
||||
}
|
||||
|
||||
const MaxWalletBalance = ({
|
||||
inputToken,
|
||||
setAmountIn,
|
||||
|
@ -59,9 +48,7 @@ const MaxWalletBalance = ({
|
|||
return (
|
||||
<LinkButton className="no-underline" onClick={setMaxInputAmount}>
|
||||
<span className="mr-1 font-normal text-th-fgd-4">{t('balance')}:</span>
|
||||
<span className="text-th-fgd-3 underline">
|
||||
{formatFixedDecimals(tokenInMax)}
|
||||
</span>
|
||||
<span className="text-th-fgd-3 underline">{tokenInMax}</span>
|
||||
</LinkButton>
|
||||
)
|
||||
}
|
||||
|
|
|
@ -22,6 +22,11 @@ export const floorToDecimal = (value: number, decimals: number) => {
|
|||
return Math.floor(value * 10 ** decimals) / 10 ** decimals
|
||||
}
|
||||
|
||||
const numberFormatter0 = Intl.NumberFormat('en', {
|
||||
minimumFractionDigits: 0,
|
||||
maximumFractionDigits: 0,
|
||||
})
|
||||
|
||||
const numberFormatter2 = Intl.NumberFormat('en', {
|
||||
minimumFractionDigits: 2,
|
||||
maximumFractionDigits: 2,
|
||||
|
@ -40,11 +45,11 @@ const numberFormatter6 = Intl.NumberFormat('en', {
|
|||
export const formatFixedDecimals = (value: number) => {
|
||||
if (value === 0) {
|
||||
return 0
|
||||
} else if (value >= 100) {
|
||||
return numberFormatter2.format(value)
|
||||
} else if (value >= 1000) {
|
||||
return numberFormatter0.format(value)
|
||||
} else if (value >= 1) {
|
||||
return numberFormatter4.format(value)
|
||||
return numberFormatter2.format(value)
|
||||
} else {
|
||||
return numberFormatter6.format(value)
|
||||
return numberFormatter4.format(value)
|
||||
}
|
||||
}
|
||||
|
|
Loading…
Reference in New Issue