import { Suspense, useMemo } from 'react' import useBorrowMarketAssetsTableData from 'components/borrow/Table/useBorrowMarketAssetsTableData' import DisplayCurrency from 'components/common/DisplayCurrency' import { FormattedNumber } from 'components/common/FormattedNumber' import useLendingMarketAssetsTableData from 'components/earn/lend/Table/useLendingMarketAssetsTableData' import Skeleton from 'components/portfolio/SummarySkeleton' import { MAX_AMOUNT_DECIMALS } from 'constants/math' import useAccount from 'hooks/accounts/useAccount' import useAllAssets from 'hooks/assets/useAllAssets' import useHealthComputer from 'hooks/useHealthComputer' import useHLSStakingAssets from 'hooks/useHLSStakingAssets' import usePrices from 'hooks/usePrices' import useVaultAprs from 'hooks/vaults/useVaultAprs' import { getAccountSummaryStats } from 'utils/accounts' import { DEFAULT_PORTFOLIO_STATS } from 'utils/constants' interface Props { accountId: string v1?: boolean } function Content(props: Props) { const { data: account } = useAccount(props.accountId, true) const { data: prices } = usePrices() const { data: vaultAprs } = useVaultAprs() const { health, healthFactor } = useHealthComputer(account) const data = useBorrowMarketAssetsTableData() const borrowAssets = useMemo(() => data?.allAssets || [], [data]) const { allAssets: lendingAssets } = useLendingMarketAssetsTableData() const { data: hlsStrategies } = useHLSStakingAssets() const assets = useAllAssets() const stats = useMemo(() => { if (!account || !borrowAssets.length || !lendingAssets.length) return DEFAULT_PORTFOLIO_STATS const { positionValue, debts, netWorth, apr, leverage } = getAccountSummaryStats( account, prices, borrowAssets, lendingAssets, hlsStrategies, assets, vaultAprs, account.kind === 'high_levered_strategy', ) return [ { title: , sub: DEFAULT_PORTFOLIO_STATS[0].sub, }, { title: , sub: DEFAULT_PORTFOLIO_STATS[1].sub, }, { title: , sub: DEFAULT_PORTFOLIO_STATS[2].sub, }, { title: ( ), sub: DEFAULT_PORTFOLIO_STATS[3].sub, }, { title: ( ), sub: props.v1 ? 'Total Leverage' : DEFAULT_PORTFOLIO_STATS[4].sub, }, ] }, [account, assets, borrowAssets, hlsStrategies, lendingAssets, prices, vaultAprs, props.v1]) return ( ) } export default function Summary(props: Props) { return ( } > ) }