Updated on 2026-08-14

This commit is contained in:
Tangem 2025-07-21 18:04:33 +05:00
parent c813e330c2
commit 541bea5fe0
11 changed files with 230 additions and 23 deletions

View file

@ -20,6 +20,9 @@ internal class DefaultFeeSelectorReloadTrigger @Inject constructor() :
override val reloadTriggerFlow: SharedFlow<FeeSelectorData>
field = MutableSharedFlow()
override val loadingStateTriggerFlow: SharedFlow<Unit>
field = MutableSharedFlow()
override val checkReloadTriggerFlow: SharedFlow<Unit>
field = MutableSharedFlow()
@ -30,6 +33,10 @@ internal class DefaultFeeSelectorReloadTrigger @Inject constructor() :
reloadTriggerFlow.emit(feeData)
}
override suspend fun triggerLoadingState() {
loadingStateTriggerFlow.emit(Unit)
}
override suspend fun triggerCheckUpdate() {
checkReloadTriggerFlow.emit(Unit)
}

View file

@ -54,6 +54,7 @@ internal class FeeSelectorModel @Inject constructor(
initAppCurrency()
subscribeOnFeeReloadTriggerUpdates()
subscribeOnFeeCheckReloadTriggerUpdates()
subscribeOnFeeLoadingStateTriggerUpdates()
loadFee()
}
@ -68,7 +69,7 @@ internal class FeeSelectorModel @Inject constructor(
}
private fun loadFee() {
uiState.update(FeeSelectorLoadingTransformers)
uiState.update(FeeSelectorLoadingTransformer)
modelScope.launch {
params.onLoadFee()
.fold(
@ -135,6 +136,12 @@ internal class FeeSelectorModel @Inject constructor(
.launchIn(modelScope)
}
private fun subscribeOnFeeLoadingStateTriggerUpdates() {
feeSelectorReloadListener.loadingStateTriggerFlow
.onEach { uiState.update(FeeSelectorLoadingTransformer) }
.launchIn(modelScope)
}
private fun subscribeOnFeeCheckReloadTriggerUpdates() {
feeSelectorCheckReloadListener.checkReloadTriggerFlow
.onEach { checkLoadFee() }

View file

@ -3,7 +3,7 @@ package com.tangem.features.send.v2.feeselector.model.transformers
import com.tangem.features.send.v2.api.entity.FeeSelectorUM
import com.tangem.utils.transformer.Transformer
internal object FeeSelectorLoadingTransformers : Transformer<FeeSelectorUM> {
internal object FeeSelectorLoadingTransformer : Transformer<FeeSelectorUM> {
override fun transform(prevState: FeeSelectorUM): FeeSelectorUM {
return FeeSelectorUM.Loading