Updated on 2026-08-14

This commit is contained in:
Tangem 2023-08-22 20:41:14 +08:00
parent 0af5b06cbb
commit 09cb780a4f
10 changed files with 122 additions and 0 deletions

View file

@ -2,7 +2,9 @@ package com.tangem.feature.wallet.presentation.wallet.viewmodels
import com.tangem.core.ui.components.transactions.intents.TxHistoryClickIntents
import com.tangem.domain.tokens.models.CryptoCurrency
import com.tangem.domain.wallets.models.UserWalletId
@Suppress("TooManyFunctions")
internal interface WalletClickIntents : TxHistoryClickIntents {
fun onBackClick()
@ -36,4 +38,8 @@ internal interface WalletClickIntents : TxHistoryClickIntents {
fun onBottomSheetDismiss()
fun onTokenClick(currency: CryptoCurrency)
fun onRenameClick(userWalletId: UserWalletId, name: String)
fun onDeleteClick(userWalletId: UserWalletId)
}

View file

@ -60,6 +60,8 @@ internal class WalletViewModel @Inject constructor(
private val saveWalletUseCase: SaveWalletUseCase,
private val getSelectedWalletUseCase: GetSelectedWalletUseCase,
private val selectWalletUseCase: SelectWalletUseCase,
private val updateWalletUseCase: UpdateWalletUseCase,
private val deleteWalletUseCase: DeleteWalletUseCase,
private val getBiometricsStatusUseCase: GetBiometricsStatusUseCase,
private val setAccessCodeRequestPolicyUseCase: SetAccessCodeRequestPolicyUseCase,
private val getAccessCodeSavingStatusUseCase: GetAccessCodeSavingStatusUseCase,
@ -459,6 +461,18 @@ internal class WalletViewModel @Inject constructor(
router.openTokenDetails(currency = currency)
}
override fun onRenameClick(userWalletId: UserWalletId, name: String) {
viewModelScope.launch(dispatchers.io) {
updateWalletUseCase(userWalletId = userWalletId, update = { it.copy(name) })
}
}
override fun onDeleteClick(userWalletId: UserWalletId) {
viewModelScope.launch(dispatchers.io) {
deleteWalletUseCase(userWalletId)
}
}
private fun createSelectedAppCurrencyFlow(): StateFlow<AppCurrency> {
return getSelectedAppCurrencyUseCase()
.map { maybeAppCurrency ->