Updated on 2026-08-14
This commit is contained in:
parent
2c17fd0161
commit
3dcd1ddb3d
6 changed files with 13 additions and 12 deletions
|
|
@ -36,7 +36,7 @@ data class WalletState(
|
|||
val walletManagers: List<WalletManager> = emptyList(),
|
||||
val isMultiwalletAllowed: Boolean = false,
|
||||
val cardCurrency: CryptoCurrencyName? = null,
|
||||
val selectedWallet: Currency? = null,
|
||||
val selectedCurrency: Currency? = null,
|
||||
val primaryBlockchain: Blockchain? = null,
|
||||
val primaryToken: Token? = null,
|
||||
val isTestnet: Boolean = false,
|
||||
|
|
@ -93,7 +93,7 @@ data class WalletState(
|
|||
}
|
||||
|
||||
fun getSelectedWalletData(): WalletData? {
|
||||
return walletsData.find { it.currency == selectedWallet }
|
||||
return walletsData.find { it.currency == selectedCurrency }
|
||||
}
|
||||
|
||||
fun canBeRemoved(walletData: WalletData?): Boolean {
|
||||
|
|
|
|||
|
|
@ -203,7 +203,7 @@ class WalletMiddleware {
|
|||
}
|
||||
}
|
||||
is WalletAction.ShowDialog.QrCode -> {
|
||||
val selectedWalletData = walletState.getWalletData(walletState.selectedWallet) ?: return
|
||||
val selectedWalletData = walletState.getWalletData(walletState.selectedCurrency) ?: return
|
||||
val selectedAddressData = selectedWalletData.walletAddresses?.selectedAddress ?: return
|
||||
|
||||
val currency = selectedWalletData.currency
|
||||
|
|
|
|||
|
|
@ -21,7 +21,7 @@ class MultiWalletReducer {
|
|||
state.addWalletManagers(action.walletManagers)
|
||||
}
|
||||
is WalletAction.MultiWallet.AddBlockchains -> {
|
||||
val wallets = action.blockchains.map { blockchain ->
|
||||
val walletsData = action.blockchains.map { blockchain ->
|
||||
val wallet = state.getWalletManager(blockchain)?.wallet
|
||||
val cardToken = if (!state.isMultiwalletAllowed) {
|
||||
wallet?.getFirstToken()?.symbol?.let { TokenData("", tokenSymbol = it) }
|
||||
|
|
@ -41,14 +41,14 @@ class MultiWalletReducer {
|
|||
)
|
||||
}
|
||||
|
||||
val selectedWallet = if (!state.isMultiwalletAllowed) {
|
||||
wallets[0].currency
|
||||
val selectedCurrency = if (!state.isMultiwalletAllowed) {
|
||||
walletsData[0].currency
|
||||
} else {
|
||||
state.selectedWallet
|
||||
state.selectedCurrency
|
||||
}
|
||||
state.copy(
|
||||
walletsData = wallets,
|
||||
selectedWallet = selectedWallet
|
||||
walletsData = walletsData,
|
||||
selectedCurrency = selectedCurrency
|
||||
)
|
||||
}
|
||||
is WalletAction.MultiWallet.AddBlockchain -> {
|
||||
|
|
@ -115,7 +115,7 @@ class MultiWalletReducer {
|
|||
state.copy(isMultiwalletAllowed = action.isMultiwalletAllowed)
|
||||
|
||||
is WalletAction.MultiWallet.SelectWallet ->
|
||||
state.copy(selectedWallet = action.walletData?.currency)
|
||||
state.copy(selectedCurrency = action.walletData?.currency)
|
||||
|
||||
is WalletAction.MultiWallet.RemoveWallet -> {
|
||||
val wallets = state.walletsData.filterNot {
|
||||
|
|
|
|||
|
|
@ -137,6 +137,7 @@ class OnWalletLoadedReducer {
|
|||
val pendingTransactions = wallet.recentTransactions
|
||||
.toPendingTransactions(wallet.address)
|
||||
|
||||
//TO:
|
||||
val sendButtonEnabled = amount?.isZero() == false && pendingTransactions.isEmpty()
|
||||
val balanceStatus = if (pendingTransactions.isNotEmpty()) {
|
||||
BalanceStatus.TransactionInProgress
|
||||
|
|
|
|||
|
|
@ -228,7 +228,7 @@ private fun internalReduce(action: Action, state: AppState): WalletState {
|
|||
is WalletAction.Send.Cancel -> newState = newState.copy(walletDialog = null)
|
||||
is WalletAction.TradeCryptoAction -> return newState
|
||||
is WalletAction.ChangeSelectedAddress -> {
|
||||
val selectedWalletData = newState.getWalletData(newState.selectedWallet)
|
||||
val selectedWalletData = newState.getWalletData(newState.selectedCurrency)
|
||||
|
||||
val walletAddresses =
|
||||
newState.getWalletData(selectedWalletData?.currency)?.walletAddresses
|
||||
|
|
|
|||
|
|
@ -94,7 +94,7 @@ class WalletDetailsFragment : Fragment(R.layout.fragment_wallet_details),
|
|||
|
||||
override fun newState(state: WalletState) {
|
||||
if (activity == null || view == null) return
|
||||
if (state.selectedWallet == null) return
|
||||
if (state.selectedCurrency == null) return
|
||||
val selectedWallet = state.getSelectedWalletData() ?: return
|
||||
|
||||
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue