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[],
|
prices: BNCoin[],
|
||||||
position: BNCoin,
|
position: BNCoin,
|
||||||
apy: number,
|
apy: number,
|
||||||
prev: BNCoin,
|
prev?: BNCoin,
|
||||||
): AccountBalanceRow {
|
): AccountBalanceRow {
|
||||||
const { amount, denom } = position
|
const { amount, denom } = position
|
||||||
const amountChange = position.amount.minus(prev.amount)
|
const amountChange = !prev ? position.amount : position.amount.minus(prev.amount)
|
||||||
|
|
||||||
return {
|
return {
|
||||||
type,
|
type,
|
||||||
@ -28,12 +28,13 @@ export function getAssetAccountBalanceRow(
|
|||||||
export function getVaultAccountBalanceRow(
|
export function getVaultAccountBalanceRow(
|
||||||
vault: DepositedVault,
|
vault: DepositedVault,
|
||||||
apy: number,
|
apy: number,
|
||||||
prev: DepositedVault,
|
prev?: DepositedVault,
|
||||||
): AccountBalanceRow {
|
): AccountBalanceRow {
|
||||||
const { name } = vault
|
const { name } = vault
|
||||||
|
const previous = prev || vault
|
||||||
const totalValue = vault.values.primary.plus(vault.values.secondary)
|
const totalValue = vault.values.primary.plus(vault.values.secondary)
|
||||||
const prevTotalValue = prev.values.primary.plus(prev.values.secondary)
|
const prevTotalValue = previous.values.primary.plus(previous.values.secondary)
|
||||||
const amountChange = totalValue.minus(prevTotalValue)
|
const amountChange = !prev ? totalValue : totalValue.minus(prevTotalValue)
|
||||||
|
|
||||||
return {
|
return {
|
||||||
type: 'vault',
|
type: 'vault',
|
||||||
@ -59,4 +60,4 @@ export function getAmountChangeColor(
|
|||||||
if (amount.isLessThan(0)) return 'text-loss'
|
if (amount.isLessThan(0)) return 'text-loss'
|
||||||
|
|
||||||
return ''
|
return ''
|
||||||
}
|
}
|
||||||
|
@ -35,7 +35,7 @@ export default function useAccountBalanceData(props: Props) {
|
|||||||
if (!asset) return
|
if (!asset) return
|
||||||
const apy = 0
|
const apy = 0
|
||||||
const prevDeposit = updatedAccount
|
const prevDeposit = updatedAccount
|
||||||
? account?.deposits.find((position) => position.denom === deposit.denom) ?? deposit
|
? account?.deposits.find(byDenom(deposit.denom))
|
||||||
: deposit
|
: deposit
|
||||||
deposits.push(getAssetAccountBalanceRow('deposits', asset, prices, deposit, apy, prevDeposit))
|
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 apy = convertAprToApy(apr, 365)
|
||||||
const prevLending = updatedAccount
|
const prevLending = updatedAccount
|
||||||
? account?.lends.find((position) => position.denom === lending.denom) ?? lending
|
? account?.lends.find((position) => position.denom === lending.denom)
|
||||||
: lending
|
: lending
|
||||||
return getAssetAccountBalanceRow('lending', asset, prices, lending, apy, prevLending)
|
return getAssetAccountBalanceRow('lending', asset, prices, lending, apy, prevLending)
|
||||||
})
|
})
|
||||||
@ -56,7 +56,7 @@ export default function useAccountBalanceData(props: Props) {
|
|||||||
const vaults = accountVaults.map((vault) => {
|
const vaults = accountVaults.map((vault) => {
|
||||||
const apy = (vault.apy ?? 0) * 100
|
const apy = (vault.apy ?? 0) * 100
|
||||||
const prevVault = updatedAccount
|
const prevVault = updatedAccount
|
||||||
? account?.vaults.find((position) => position.name === vault.name) ?? vault
|
? account?.vaults.find((position) => position.name === vault.name)
|
||||||
: vault
|
: vault
|
||||||
return getVaultAccountBalanceRow(vault, apy, prevVault)
|
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 asset = ASSETS.find(byDenom(debt.denom)) ?? ASSETS[0]
|
||||||
const apy = borrowingData.find((market) => market.asset.denom === debt.denom)?.borrowRate ?? 0
|
const apy = borrowingData.find((market) => market.asset.denom === debt.denom)?.borrowRate ?? 0
|
||||||
const prevDebt = updatedAccount
|
const prevDebt = updatedAccount
|
||||||
? account?.debts.find((position) => position.denom === debt.denom) ?? debt
|
? account?.debts.find((position) => position.denom === debt.denom)
|
||||||
: debt
|
: debt
|
||||||
return getAssetAccountBalanceRow('borrowing', asset, prices, debt, apy * -100, prevDebt)
|
return getAssetAccountBalanceRow('borrowing', asset, prices, debt, apy * -100, prevDebt)
|
||||||
})
|
})
|
||||||
return [...deposits, ...lends, ...vaults, ...debts]
|
return [...deposits, ...lends, ...vaults, ...debts]
|
||||||
}, [prices, account, updatedAccount, borrowingData, lendingData])
|
}, [prices, account, updatedAccount, borrowingData, lendingData])
|
||||||
}
|
}
|
||||||
|
Loading…
Reference in New Issue
Block a user