Updated on 2026-08-14
This commit is contained in:
parent
0af5b06cbb
commit
09cb780a4f
10 changed files with 122 additions and 0 deletions
|
|
@ -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)
|
||||
}
|
||||
|
|
@ -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 ->
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue