diff --git a/src/components/Account/AccountBalancesTable/functions.ts b/src/components/Account/AccountBalancesTable/functions.ts index 1bc556d7..c0d7d569 100644 --- a/src/components/Account/AccountBalancesTable/functions.ts +++ b/src/components/Account/AccountBalancesTable/functions.ts @@ -8,10 +8,10 @@ export function getAssetAccountBalanceRow( prices: BNCoin[], position: BNCoin, apy: number, - prev: BNCoin, + prev?: BNCoin, ): AccountBalanceRow { const { amount, denom } = position - const amountChange = position.amount.minus(prev.amount) + const amountChange = !prev ? position.amount : position.amount.minus(prev.amount) return { type, @@ -28,12 +28,13 @@ export function getAssetAccountBalanceRow( export function getVaultAccountBalanceRow( vault: DepositedVault, apy: number, - prev: DepositedVault, + prev?: DepositedVault, ): AccountBalanceRow { const { name } = vault + const previous = prev || vault const totalValue = vault.values.primary.plus(vault.values.secondary) - const prevTotalValue = prev.values.primary.plus(prev.values.secondary) - const amountChange = totalValue.minus(prevTotalValue) + const prevTotalValue = previous.values.primary.plus(previous.values.secondary) + const amountChange = !prev ? totalValue : totalValue.minus(prevTotalValue) return { type: 'vault', @@ -59,4 +60,4 @@ export function getAmountChangeColor( if (amount.isLessThan(0)) return 'text-loss' return '' -} \ No newline at end of file +} diff --git a/src/components/Account/AccountBalancesTable/useAccountBalanceData.tsx b/src/components/Account/AccountBalancesTable/useAccountBalanceData.tsx index f2f0fb58..243c1ae5 100644 --- a/src/components/Account/AccountBalancesTable/useAccountBalanceData.tsx +++ b/src/components/Account/AccountBalancesTable/useAccountBalanceData.tsx @@ -35,7 +35,7 @@ export default function useAccountBalanceData(props: Props) { if (!asset) return const apy = 0 const prevDeposit = updatedAccount - ? account?.deposits.find((position) => position.denom === deposit.denom) ?? deposit + ? account?.deposits.find(byDenom(deposit.denom)) : deposit deposits.push(getAssetAccountBalanceRow('deposits', asset, prices, deposit, apy, prevDeposit)) }) @@ -48,7 +48,7 @@ export default function useAccountBalanceData(props: Props) { ) const apy = convertAprToApy(apr, 365) const prevLending = updatedAccount - ? account?.lends.find((position) => position.denom === lending.denom) ?? lending + ? account?.lends.find((position) => position.denom === lending.denom) : lending return getAssetAccountBalanceRow('lending', asset, prices, lending, apy, prevLending) }) @@ -56,7 +56,7 @@ export default function useAccountBalanceData(props: Props) { const vaults = accountVaults.map((vault) => { const apy = (vault.apy ?? 0) * 100 const prevVault = updatedAccount - ? account?.vaults.find((position) => position.name === vault.name) ?? vault + ? account?.vaults.find((position) => position.name === vault.name) : vault return getVaultAccountBalanceRow(vault, apy, prevVault) }) @@ -65,10 +65,10 @@ export default function useAccountBalanceData(props: Props) { const asset = ASSETS.find(byDenom(debt.denom)) ?? ASSETS[0] const apy = borrowingData.find((market) => market.asset.denom === debt.denom)?.borrowRate ?? 0 const prevDebt = updatedAccount - ? account?.debts.find((position) => position.denom === debt.denom) ?? debt + ? account?.debts.find((position) => position.denom === debt.denom) : debt return getAssetAccountBalanceRow('borrowing', asset, prices, debt, apy * -100, prevDebt) }) return [...deposits, ...lends, ...vaults, ...debts] }, [prices, account, updatedAccount, borrowingData, lendingData]) -} \ No newline at end of file +}