feat(@wallet): popuplate data for multiple addresses
This commit is contained in:
parent
150a3d242e
commit
946534127a
|
@ -25,8 +25,11 @@ proc delete*(self: Controller) =
|
|||
proc init*(self: Controller) =
|
||||
discard
|
||||
|
||||
proc getWalletAccountByAddress*(self: Controller, address: string): wallet_account_service.WalletAccountDto =
|
||||
return self.walletAccountService.getAccountByAddress(address)
|
||||
proc getWalletAccountsByAddresses*(self: Controller, addresses: seq[string]): seq[wallet_account_service.WalletAccountDto] =
|
||||
return self.walletAccountService.getAccountsByAddresses(addresses)
|
||||
|
||||
proc getWalletTokensByAddresses*(self: Controller, addresses: seq[string]): seq[wallet_account_service.WalletTokenDto] =
|
||||
return self.walletAccountService.getTokensByAddresses(addresses)
|
||||
|
||||
proc getCurrentCurrency*(self: Controller): string =
|
||||
return self.walletAccountService.getCurrency()
|
||||
|
|
|
@ -8,7 +8,6 @@ type
|
|||
balanceLoading: bool
|
||||
color: string
|
||||
emoji: string
|
||||
# To do once we implement <All accounts> view
|
||||
isAllAccounts: bool
|
||||
hideWatchAccounts: bool
|
||||
|
||||
|
|
|
@ -60,19 +60,34 @@ proc setBalance(self: Module, tokens: seq[WalletTokenDto], chainIds: seq[int]) =
|
|||
self.view.setCurrencyBalance(currencyAmountToItem(totalCurrencyBalanceForAllAssets, currencyFormat))
|
||||
|
||||
method filterChanged*(self: Module, addresses: seq[string], chainIds: seq[int]) =
|
||||
let walletAccount = self.controller.getWalletAccountByAddress(addresses[0])
|
||||
|
||||
let item = initItem(
|
||||
walletAccount.name,
|
||||
walletAccount.mixedCaseAddress,
|
||||
walletAccount.ens,
|
||||
walletAccount.assetsLoading,
|
||||
walletAccount.color,
|
||||
walletAccount.emoji,
|
||||
)
|
||||
let walletAccounts = self.controller.getWalletAccountsByAddresses(addresses)
|
||||
if addresses.len > 1:
|
||||
let item = initItem(
|
||||
"",
|
||||
"",
|
||||
"",
|
||||
walletAccounts[0].assetsLoading,
|
||||
"",
|
||||
"",
|
||||
isAllAccounts=true,
|
||||
hideWatchAccounts=false # TODO(alaibe): need update when doing the action
|
||||
)
|
||||
self.view.setData(item)
|
||||
else:
|
||||
let walletAccount = walletAccounts[0]
|
||||
let item = initItem(
|
||||
walletAccount.name,
|
||||
walletAccount.mixedCaseAddress,
|
||||
walletAccount.ens,
|
||||
walletAccount.assetsLoading,
|
||||
walletAccount.color,
|
||||
walletAccount.emoji,
|
||||
)
|
||||
|
||||
self.view.setData(item)
|
||||
if walletAccount.tokens.len == 0 and walletAccount.assetsLoading:
|
||||
self.view.setData(item)
|
||||
|
||||
let walletTokens = self.controller.getWalletTokensByAddresses(addresses)
|
||||
if walletTokens.len == 0 and walletAccounts[0].assetsLoading:
|
||||
self.view.setCurrencyBalance(newCurrencyAmount())
|
||||
else:
|
||||
self.setBalance(walletAccount.tokens, chainIds)
|
||||
self.setBalance(walletTokens, chainIds)
|
||||
|
|
Loading…
Reference in New Issue