Updated on 2026-08-14
This commit is contained in:
parent
c3da795b23
commit
d602f2af48
6 changed files with 15 additions and 12 deletions
|
|
@ -1,6 +1,7 @@
|
|||
package com.tangem.features.swap.v2.api.choosetoken
|
||||
|
||||
import com.tangem.domain.models.currency.CryptoCurrency
|
||||
import kotlinx.coroutines.flow.SharedFlow
|
||||
|
||||
/**
|
||||
* Triggers swap token selection
|
||||
|
|
@ -8,4 +9,11 @@ import com.tangem.domain.models.currency.CryptoCurrency
|
|||
interface SwapChooseTokenNetworkTrigger {
|
||||
|
||||
suspend fun trigger(cryptoCurrency: CryptoCurrency)
|
||||
}
|
||||
|
||||
/**
|
||||
* Listens to swap token selection
|
||||
*/
|
||||
interface SwapChooseTokenNetworkListener {
|
||||
val swapChooseTokenNetworkResultFlow: SharedFlow<CryptoCurrency>
|
||||
}
|
||||
|
|
@ -30,6 +30,7 @@ import com.tangem.domain.tokens.GetMinimumTransactionAmountSyncUseCase
|
|||
import com.tangem.domain.tokens.GetMultiCryptoCurrencyStatusUseCase
|
||||
import com.tangem.domain.tokens.model.CryptoCurrencyStatus
|
||||
import com.tangem.domain.transaction.usecase.GetAllowanceUseCase
|
||||
import com.tangem.features.swap.v2.api.choosetoken.SwapChooseTokenNetworkListener
|
||||
import com.tangem.features.swap.v2.impl.R
|
||||
import com.tangem.features.swap.v2.impl.amount.SwapAmountBlockComponent.SwapChooseProviderConfig
|
||||
import com.tangem.features.swap.v2.impl.amount.SwapAmountComponentParams
|
||||
|
|
@ -40,7 +41,6 @@ import com.tangem.features.swap.v2.impl.amount.entity.SwapAmountUM
|
|||
import com.tangem.features.swap.v2.impl.amount.model.converter.SwapAmountReadyStateConverter
|
||||
import com.tangem.features.swap.v2.impl.amount.model.transformers.*
|
||||
import com.tangem.features.swap.v2.impl.chooseprovider.SwapChooseProviderComponent
|
||||
import com.tangem.features.swap.v2.impl.choosetoken.fromSupported.SwapChooseTokenNetworkListener
|
||||
import com.tangem.features.swap.v2.impl.common.entity.SwapQuoteUM
|
||||
import com.tangem.features.swap.v2.impl.common.entity.SwapQuoteUM.Content.DifferencePercent
|
||||
import com.tangem.utils.coroutines.CoroutineDispatcherProvider
|
||||
|
|
|
|||
|
|
@ -33,6 +33,7 @@ internal class SwapChooseProviderModel @Inject constructor(
|
|||
|
||||
fun onProviderClick(quoteUM: SwapQuoteUM) {
|
||||
params.callback.onProviderResult(quoteUM)
|
||||
params.onDismiss()
|
||||
}
|
||||
|
||||
private fun getInitialState(): SwapChooseProviderBottomSheetContent {
|
||||
|
|
|
|||
|
|
@ -3,10 +3,10 @@ package com.tangem.features.swap.v2.impl.choosetoken.di
|
|||
import com.tangem.core.decompose.di.ModelComponent
|
||||
import com.tangem.core.decompose.model.Model
|
||||
import com.tangem.features.swap.v2.api.choosetoken.SwapChooseTokenNetworkComponent
|
||||
import com.tangem.features.swap.v2.api.choosetoken.SwapChooseTokenNetworkListener
|
||||
import com.tangem.features.swap.v2.api.choosetoken.SwapChooseTokenNetworkTrigger
|
||||
import com.tangem.features.swap.v2.impl.choosetoken.fromSupported.DefaultSwapChooseTokenNetworkComponent
|
||||
import com.tangem.features.swap.v2.impl.choosetoken.fromSupported.DefaultSwapChooseTokenNetworkTrigger
|
||||
import com.tangem.features.swap.v2.impl.choosetoken.fromSupported.SwapChooseTokenNetworkListener
|
||||
import com.tangem.features.swap.v2.impl.choosetoken.fromSupported.model.SwapChooseTokenNetworkModel
|
||||
import dagger.Binds
|
||||
import dagger.Module
|
||||
|
|
|
|||
|
|
@ -1,19 +1,13 @@
|
|||
package com.tangem.features.swap.v2.impl.choosetoken.fromSupported
|
||||
|
||||
import com.tangem.domain.models.currency.CryptoCurrency
|
||||
import com.tangem.features.swap.v2.api.choosetoken.SwapChooseTokenNetworkListener
|
||||
import com.tangem.features.swap.v2.api.choosetoken.SwapChooseTokenNetworkTrigger
|
||||
import kotlinx.coroutines.flow.MutableSharedFlow
|
||||
import kotlinx.coroutines.flow.SharedFlow
|
||||
import javax.inject.Inject
|
||||
import javax.inject.Singleton
|
||||
|
||||
/**
|
||||
* Listens to swap token selection
|
||||
*/
|
||||
interface SwapChooseTokenNetworkListener {
|
||||
val swapChooseTokenNetworkResultFlow: SharedFlow<CryptoCurrency>
|
||||
}
|
||||
|
||||
@Singleton
|
||||
internal class DefaultSwapChooseTokenNetworkTrigger @Inject constructor() :
|
||||
SwapChooseTokenNetworkTrigger,
|
||||
|
|
@ -22,7 +16,7 @@ internal class DefaultSwapChooseTokenNetworkTrigger @Inject constructor() :
|
|||
override val swapChooseTokenNetworkResultFlow: SharedFlow<CryptoCurrency>
|
||||
field = MutableSharedFlow<CryptoCurrency>()
|
||||
|
||||
override suspend fun trigger(result: CryptoCurrency) {
|
||||
swapChooseTokenNetworkResultFlow.emit(result)
|
||||
override suspend fun trigger(cryptoCurrency: CryptoCurrency) {
|
||||
swapChooseTokenNetworkResultFlow.emit(cryptoCurrency)
|
||||
}
|
||||
}
|
||||
|
|
@ -10,7 +10,7 @@ internal object SwapChooseTokenFactory {
|
|||
fun getErrorMessage(tokenName: String, onDismiss: () -> Unit): MessageBottomSheetUMV2 {
|
||||
return messageBottomSheetUM {
|
||||
infoBlock {
|
||||
icon(R.drawable.img_attention_20) {
|
||||
icon(R.drawable.ic_alert_triangle_20) {
|
||||
type = MessageBottomSheetUMV2.Icon.Type.Attention
|
||||
backgroundType = MessageBottomSheetUMV2.Icon.BackgroundType.SameAsTint
|
||||
}
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue