Updated on 2026-08-14

This commit is contained in:
Tangem 2024-08-19 21:45:49 +04:00
parent 94fb2540ec
commit 5a83e6824f
2 changed files with 9 additions and 15 deletions

View file

@ -66,5 +66,6 @@ dependencies {
/* Other */
implementation(deps.kotlin.immutable.collections)
implementation(deps.reKotlin)
implementation(deps.timber)
}

View file

@ -5,9 +5,8 @@ import com.tangem.core.decompose.di.ComponentScoped
import com.tangem.core.decompose.model.Model
import com.tangem.core.decompose.model.ParamsContainer
import com.tangem.core.decompose.navigation.Router
import com.tangem.domain.feedback.FeedbackManager
import com.tangem.domain.feedback.GetCardInfoUseCase
import com.tangem.domain.feedback.models.FeedbackEmailType
import com.tangem.domain.redux.LegacyAction
import com.tangem.domain.redux.ReduxStateHolder
import com.tangem.domain.walletconnect.CheckIsWalletConnectAvailableUseCase
import com.tangem.domain.wallets.usecase.GetSelectedWalletSyncUseCase
import com.tangem.features.details.component.DetailsComponent
@ -31,15 +30,14 @@ import javax.inject.Inject
@ComponentScoped
@Suppress("LongParameterList")
internal class DetailsModel @Inject constructor(
private val socialsBuilder: SocialsBuilder,
socialsBuilder: SocialsBuilder,
private val itemsBuilder: ItemsBuilder,
private val appVersionProvider: AppVersionProvider,
private val checkIsWalletConnectAvailableUseCase: CheckIsWalletConnectAvailableUseCase,
private val router: Router,
private val paramsContainer: ParamsContainer,
paramsContainer: ParamsContainer,
private val getSelectedWalletSyncUseCase: GetSelectedWalletSyncUseCase,
private val getCardInfoUseCase: GetCardInfoUseCase,
private val feedbackManager: FeedbackManager,
private val appStateHolder: ReduxStateHolder,
override val dispatchers: CoroutineDispatcherProvider,
) : Model() {
@ -84,18 +82,13 @@ internal class DetailsModel @Inject constructor(
val scanResponse = getSelectedWalletSyncUseCase().getOrNull()?.scanResponse
?: error("Selected wallet is null")
val cardInfo = getCardInfoUseCase(scanResponse = scanResponse).getOrNull()
?: error("CardInfo must be not null")
feedbackManager.sendEmail(type = FeedbackEmailType.DirectUserRequest(cardInfo))
appStateHolder.dispatch(LegacyAction.SendEmailSupport(scanResponse))
}
}
private suspend fun updateState(items: ImmutableList<DetailsItemUM>) {
private fun updateState(items: ImmutableList<DetailsItemUM>) {
state.update { prevState ->
prevState.copy(
items = items,
)
prevState.copy(items = items)
}
}