import BigNumber from 'bignumber.js' import classNames from 'classnames' import { useState } from 'react' import Button from 'components/Button' import FormattedNumber from 'components/FormattedNumber' import ArrowRightLine from 'components/Icons/arrow-right-line.svg' import ChevronDown from 'components/Icons/chevron-down.svg' import ChevronLeft from 'components/Icons/chevron-left.svg' import Text from 'components/Text' import useAccountStats from 'hooks/useAccountStats' import useCreditAccountPositions from 'hooks/useCreditAccountPositions' import useMarkets from 'hooks/useMarkets' import useTokenPrices from 'hooks/useTokenPrices' import { useAccountDetailsStore } from 'stores' import { chain } from 'utils/chains' import { getTokenDecimals, getTokenSymbol } from 'utils/tokens' import AccountManageOverlay from './AccountManageOverlay' const AccountDetails = () => { const selectedAccount = useAccountDetailsStore((s) => s.selectedAccount) const isOpen = useAccountDetailsStore((s) => s.isOpen) const { data: positionsData, isLoading: isLoadingPositions } = useCreditAccountPositions( selectedAccount ?? '', ) const { data: tokenPrices } = useTokenPrices() const { data: marketsData } = useMarkets() const accountStats = useAccountStats() const [showManageMenu, setShowManageMenu] = useState(false) const getTokenTotalUSDValue = (amount: string, denom: string) => { // early return if prices are not fetched yet if (!tokenPrices) return 0 return ( BigNumber(amount) .div(10 ** getTokenDecimals(denom)) .toNumber() * tokenPrices[denom] ) } return (