fix: highlighting new positions on balances table (#433)
* fix: highlighting new positions on balances table * Update src/components/Account/AccountBalancesTable/useAccountBalanceData.tsx Co-authored-by: Yusuf Seyrek <yusufseyrek@users.noreply.github.com> * fix: according to comments --------- Co-authored-by: Yusuf Seyrek <yusufseyrek@users.noreply.github.com>
This commit is contained in:
parent
f0f400d8f7
commit
5ff848bca7
@ -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 ''
|
||||
}
|
||||
}
|
||||
|
@ -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])
|
||||
}
|
||||
}
|
||||
|
Loading…
Reference in New Issue
Block a user