Updated on 2026-08-14
This commit is contained in:
commit
3c6fbf0b26
14 changed files with 602 additions and 79 deletions
|
|
@ -14,11 +14,11 @@ import androidx.compose.ui.draw.clip
|
|||
import com.tangem.core.ui.components.bottomsheets.TangemBottomSheetConfig
|
||||
import com.tangem.core.ui.components.bottomsheets.sheet.TangemBottomSheet
|
||||
import com.tangem.core.ui.extensions.resourceReference
|
||||
import com.tangem.core.ui.extensions.selectedBorder
|
||||
import com.tangem.core.ui.res.TangemTheme
|
||||
import com.tangem.features.onramp.impl.R
|
||||
import com.tangem.features.onramp.paymentmethod.entity.PaymentMethodUM
|
||||
import com.tangem.features.onramp.paymentmethod.entity.PaymentMethodsBottomSheetConfig
|
||||
import com.tangem.features.onramp.utils.selectedBorder
|
||||
import kotlinx.collections.immutable.ImmutableList
|
||||
|
||||
@Composable
|
||||
|
|
@ -59,27 +59,16 @@ private fun SelectPaymentMethodBottomSheetContent(
|
|||
val isSelected = remember(item, selectedMethodId) {
|
||||
item.id == selectedMethodId
|
||||
}
|
||||
val itemModifier = if (isSelected) {
|
||||
Modifier
|
||||
.fillMaxWidth()
|
||||
.selectedBorder()
|
||||
.clickable(onClick = item.onSelect)
|
||||
.padding(
|
||||
start = TangemTheme.dimens.spacing12,
|
||||
top = TangemTheme.dimens.spacing10,
|
||||
bottom = TangemTheme.dimens.spacing10,
|
||||
)
|
||||
} else {
|
||||
Modifier
|
||||
.fillMaxWidth()
|
||||
.clip(RoundedCornerShape(TangemTheme.dimens.radius16))
|
||||
.clickable(onClick = item.onSelect)
|
||||
.padding(
|
||||
start = TangemTheme.dimens.spacing12,
|
||||
top = TangemTheme.dimens.spacing10,
|
||||
bottom = TangemTheme.dimens.spacing10,
|
||||
)
|
||||
}
|
||||
val itemModifier = Modifier
|
||||
.fillMaxWidth()
|
||||
.selectedBorder(isSelected = isSelected)
|
||||
.clip(RoundedCornerShape(TangemTheme.dimens.radius16))
|
||||
.clickable(onClick = item.onSelect)
|
||||
.padding(
|
||||
start = TangemTheme.dimens.spacing12,
|
||||
top = TangemTheme.dimens.spacing10,
|
||||
bottom = TangemTheme.dimens.spacing10,
|
||||
)
|
||||
PaymentMethodItem(
|
||||
modifier = itemModifier,
|
||||
paymentMethod = item,
|
||||
|
|
|
|||
|
|
@ -26,13 +26,10 @@ import androidx.compose.ui.util.fastForEach
|
|||
import coil.compose.SubcomposeAsyncImage
|
||||
import coil.request.ImageRequest
|
||||
import com.tangem.core.ui.components.RectangleShimmer
|
||||
import com.tangem.core.ui.components.bottomsheets.sheet.TangemBottomSheet
|
||||
import com.tangem.core.ui.components.bottomsheets.TangemBottomSheetConfig
|
||||
import com.tangem.core.ui.components.bottomsheets.TangemBottomSheetConfigContent
|
||||
import com.tangem.core.ui.extensions.TextReference
|
||||
import com.tangem.core.ui.extensions.resolveReference
|
||||
import com.tangem.core.ui.extensions.resourceReference
|
||||
import com.tangem.core.ui.extensions.stringResourceSafe
|
||||
import com.tangem.core.ui.components.bottomsheets.sheet.TangemBottomSheet
|
||||
import com.tangem.core.ui.extensions.*
|
||||
import com.tangem.core.ui.res.TangemTheme
|
||||
import com.tangem.core.ui.res.TangemThemePreview
|
||||
import com.tangem.domain.onramp.model.OnrampPaymentMethod
|
||||
|
|
@ -41,7 +38,6 @@ import com.tangem.features.onramp.paymentmethod.ui.PaymentMethodIcon
|
|||
import com.tangem.features.onramp.providers.entity.ProviderListItemUM
|
||||
import com.tangem.features.onramp.providers.entity.SelectPaymentAndProviderUM
|
||||
import com.tangem.features.onramp.providers.model.previewData.SelectProviderPreviewData
|
||||
import com.tangem.features.onramp.utils.selectedBorder
|
||||
|
||||
@Composable
|
||||
internal fun SelectProviderBottomSheet(config: TangemBottomSheetConfig, content: @Composable () -> Unit) {
|
||||
|
|
@ -151,13 +147,7 @@ private fun ProviderItem(state: ProviderListItemUM, modifier: Modifier = Modifie
|
|||
private fun AvailableProviderItem(state: ProviderListItemUM.Available.Content, modifier: Modifier = Modifier) {
|
||||
Row(
|
||||
modifier = modifier
|
||||
.then(
|
||||
if (state.isSelected) {
|
||||
Modifier.selectedBorder()
|
||||
} else {
|
||||
Modifier.clip(RoundedCornerShape(16.dp))
|
||||
},
|
||||
)
|
||||
.selectedBorder(isSelected = state.isSelected)
|
||||
.clickable(onClick = state.onClick)
|
||||
.padding(all = TangemTheme.dimens.spacing12),
|
||||
verticalAlignment = Alignment.CenterVertically,
|
||||
|
|
@ -227,13 +217,7 @@ private fun UnavailableProviderItem(
|
|||
) {
|
||||
Row(
|
||||
modifier = modifier
|
||||
.then(
|
||||
if (isSelected) {
|
||||
Modifier.selectedBorder()
|
||||
} else {
|
||||
Modifier.clip(RoundedCornerShape(16.dp))
|
||||
},
|
||||
)
|
||||
.selectedBorder(isSelected = isSelected)
|
||||
.padding(all = TangemTheme.dimens.spacing12),
|
||||
verticalAlignment = Alignment.CenterVertically,
|
||||
horizontalArrangement = Arrangement.spacedBy(TangemTheme.dimens.spacing12),
|
||||
|
|
|
|||
|
|
@ -1,24 +0,0 @@
|
|||
package com.tangem.features.onramp.utils
|
||||
|
||||
import androidx.compose.foundation.border
|
||||
import androidx.compose.foundation.layout.padding
|
||||
import androidx.compose.foundation.shape.RoundedCornerShape
|
||||
import androidx.compose.runtime.Composable
|
||||
import androidx.compose.ui.Modifier
|
||||
import androidx.compose.ui.draw.clip
|
||||
import androidx.compose.ui.unit.dp
|
||||
import com.tangem.core.ui.res.TangemTheme
|
||||
|
||||
@Composable
|
||||
internal fun Modifier.selectedBorder() = border(
|
||||
width = 2.5.dp,
|
||||
color = TangemTheme.colors.text.accent.copy(alpha = 0.1f),
|
||||
shape = RoundedCornerShape(18.dp),
|
||||
)
|
||||
.padding(2.5.dp)
|
||||
.border(
|
||||
width = 1.dp,
|
||||
color = TangemTheme.colors.text.accent,
|
||||
shape = RoundedCornerShape(16.dp),
|
||||
)
|
||||
.clip(RoundedCornerShape(16.dp))
|
||||
Loading…
Add table
Add a link
Reference in a new issue