Updated on 2026-08-14
This commit is contained in:
parent
a9ed9d7776
commit
f941f6f1b9
6 changed files with 29 additions and 12 deletions
|
|
@ -4,5 +4,6 @@ internal data class ProviderListPaymentMethodUM(
|
|||
val id: String,
|
||||
val name: String,
|
||||
val imageUrl: String,
|
||||
val enabled: Boolean,
|
||||
val onClick: () -> Unit,
|
||||
)
|
||||
|
|
@ -70,7 +70,13 @@ internal class SelectProviderModel @Inject constructor(
|
|||
modelScope.launch {
|
||||
getOnrampProviderWithQuoteUseCase.invoke(paymentMethod)
|
||||
.onRight { quotes ->
|
||||
_state.update { state -> state.copy(providers = quotes.toProvidersListItems()) }
|
||||
val hasQuotesData = quotes.any { it is OnrampProviderWithQuote.Data }
|
||||
_state.update { state ->
|
||||
state.copy(
|
||||
paymentMethod = state.paymentMethod.copy(enabled = hasQuotesData),
|
||||
providers = quotes.toProvidersListItems(),
|
||||
)
|
||||
}
|
||||
}
|
||||
.onLeft { Timber.e(it) }
|
||||
}
|
||||
|
|
@ -82,6 +88,7 @@ internal class SelectProviderModel @Inject constructor(
|
|||
id = params.selectedPaymentMethod.id,
|
||||
name = params.selectedPaymentMethod.name,
|
||||
imageUrl = params.selectedPaymentMethod.imageUrl,
|
||||
enabled = false,
|
||||
onClick = ::openPaymentMethods,
|
||||
),
|
||||
providers = emptyList<ProviderListItemUM>().toImmutableList(),
|
||||
|
|
@ -101,7 +108,7 @@ internal class SelectProviderModel @Inject constructor(
|
|||
}
|
||||
}
|
||||
|
||||
private fun List<OnrampPaymentMethod>.toPaymentUMList(): List<PaymentMethodUM> = map { method ->
|
||||
private fun Set<OnrampPaymentMethod>.toPaymentUMList(): List<PaymentMethodUM> = map { method ->
|
||||
PaymentMethodUM(
|
||||
id = method.id,
|
||||
imageUrl = method.imageUrl,
|
||||
|
|
|
|||
|
|
@ -1,9 +1,12 @@
|
|||
package com.tangem.features.onramp.providers.ui
|
||||
|
||||
import android.content.res.Configuration
|
||||
import androidx.compose.foundation.*
|
||||
import androidx.compose.foundation.border
|
||||
import androidx.compose.foundation.clickable
|
||||
import androidx.compose.foundation.layout.*
|
||||
import androidx.compose.foundation.rememberScrollState
|
||||
import androidx.compose.foundation.shape.RoundedCornerShape
|
||||
import androidx.compose.foundation.verticalScroll
|
||||
import androidx.compose.material3.Icon
|
||||
import androidx.compose.material3.Text
|
||||
import androidx.compose.runtime.Composable
|
||||
|
|
@ -82,7 +85,7 @@ private fun PaymentMethodBlock(state: ProviderListPaymentMethodUM, modifier: Mod
|
|||
color = TangemTheme.colors.stroke.secondary,
|
||||
shape = RoundedCornerShape(TangemTheme.dimens.radius16),
|
||||
)
|
||||
.clickable(onClick = state.onClick)
|
||||
.clickable(enabled = state.enabled, onClick = state.onClick)
|
||||
.padding(all = TangemTheme.dimens.spacing12),
|
||||
verticalAlignment = Alignment.CenterVertically,
|
||||
horizontalArrangement = Arrangement.spacedBy(TangemTheme.dimens.spacing12),
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue