From db8b6484b3b89e02f18c01eb1ffd0c3e93c2d90f Mon Sep 17 00:00:00 2001 From: Tangem Date: Mon, 1 Apr 2024 15:38:28 +0500 Subject: [PATCH] Updated on 2026-08-14 --- .../presentation/ui/amount/AmountField.kt | 13 +++--- .../ui/amount/AmountFieldContainer.kt | 1 - .../ui/amount/SendAmountContent.kt | 44 ++++++++++++++++++- 3 files changed, 50 insertions(+), 8 deletions(-) diff --git a/features/send/impl/src/main/java/com/tangem/features/send/impl/presentation/ui/amount/AmountField.kt b/features/send/impl/src/main/java/com/tangem/features/send/impl/presentation/ui/amount/AmountField.kt index e6206028fe..4c45622e33 100644 --- a/features/send/impl/src/main/java/com/tangem/features/send/impl/presentation/ui/amount/AmountField.kt +++ b/features/send/impl/src/main/java/com/tangem/features/send/impl/presentation/ui/amount/AmountField.kt @@ -3,8 +3,7 @@ package com.tangem.features.send.impl.presentation.ui.amount import androidx.compose.animation.AnimatedVisibility import androidx.compose.animation.fadeIn import androidx.compose.animation.fadeOut -import androidx.compose.foundation.layout.Box -import androidx.compose.foundation.layout.padding +import androidx.compose.foundation.layout.* import androidx.compose.material3.Text import androidx.compose.runtime.Composable import androidx.compose.ui.Alignment.Companion.BottomCenter @@ -22,15 +21,15 @@ import com.tangem.core.ui.utils.rememberDecimalFormat import com.tangem.features.send.impl.presentation.state.fields.SendTextField @Composable -internal fun AmountField(sendField: SendTextField.AmountField, isFiat: Boolean, isEnabled: Boolean) { +internal fun AmountField(sendField: SendTextField.AmountField, isEnabled: Boolean) { val decimalFormat = rememberDecimalFormat() - val (primaryValue, secondaryValue) = if (isFiat) { + val (primaryValue, secondaryValue) = if (sendField.isFiatValue) { sendField.fiatValue to sendField.value } else { sendField.value to sendField.fiatValue } - val (primaryAmount, secondaryAmount) = if (isFiat) { + val (primaryAmount, secondaryAmount) = if (sendField.isFiatValue) { sendField.fiatAmount to sendField.cryptoAmount } else { sendField.cryptoAmount to sendField.fiatAmount @@ -48,13 +47,15 @@ internal fun AmountField(sendField: SendTextField.AmountField, isFiat: Boolean, textAlign = TextAlign.Center, ), isEnabled = isEnabled, + isAutoResize = true, placeholderAlignment = TopCenter, modifier = Modifier .padding( top = TangemTheme.dimens.spacing24, start = TangemTheme.dimens.spacing12, end = TangemTheme.dimens.spacing12, - ), + ) + .requiredHeightIn(min = TangemTheme.dimens.size32), ) Box( diff --git a/features/send/impl/src/main/java/com/tangem/features/send/impl/presentation/ui/amount/AmountFieldContainer.kt b/features/send/impl/src/main/java/com/tangem/features/send/impl/presentation/ui/amount/AmountFieldContainer.kt index 836ffd79a8..5cf940b41b 100644 --- a/features/send/impl/src/main/java/com/tangem/features/send/impl/presentation/ui/amount/AmountFieldContainer.kt +++ b/features/send/impl/src/main/java/com/tangem/features/send/impl/presentation/ui/amount/AmountFieldContainer.kt @@ -62,7 +62,6 @@ internal fun LazyListScope.amountField( ) AmountField( sendField = amountState.amountTextField, - isFiat = amountState.amountTextField.isFiatValue, isEnabled = !amountState.isFeeLoading, ) } diff --git a/features/send/impl/src/main/java/com/tangem/features/send/impl/presentation/ui/amount/SendAmountContent.kt b/features/send/impl/src/main/java/com/tangem/features/send/impl/presentation/ui/amount/SendAmountContent.kt index 739ee94f29..2156dc6f48 100644 --- a/features/send/impl/src/main/java/com/tangem/features/send/impl/presentation/ui/amount/SendAmountContent.kt +++ b/features/send/impl/src/main/java/com/tangem/features/send/impl/presentation/ui/amount/SendAmountContent.kt @@ -5,8 +5,13 @@ import androidx.compose.foundation.layout.padding import androidx.compose.foundation.lazy.LazyColumn import androidx.compose.runtime.Composable import androidx.compose.ui.Modifier +import androidx.compose.ui.tooling.preview.Preview +import androidx.compose.ui.tooling.preview.PreviewParameter +import androidx.compose.ui.tooling.preview.PreviewParameterProvider import com.tangem.core.ui.res.TangemTheme import com.tangem.features.send.impl.presentation.state.SendStates +import com.tangem.features.send.impl.presentation.state.previewdata.AmountStatePreviewData +import com.tangem.features.send.impl.presentation.state.previewdata.SendClickIntentsStub import com.tangem.features.send.impl.presentation.ui.common.notifications import com.tangem.features.send.impl.presentation.viewmodel.SendClickIntents @@ -30,4 +35,41 @@ internal fun SendAmountContent( ) notifications(amountState.notifications) } -} \ No newline at end of file +} + +// region Preview +@Preview +@Composable +private fun AmountFieldPreview_Light( + @PreviewParameter(AmountFieldPreviewProvider::class) amountState: SendStates.AmountState, +) { + TangemTheme { + SendAmountContent( + amountState = amountState, + isBalanceHiding = false, + clickIntents = SendClickIntentsStub, + ) + } +} + +@Preview +@Composable +private fun AmountFieldPreview_Dark( + @PreviewParameter(AmountFieldPreviewProvider::class) amountState: SendStates.AmountState, +) { + TangemTheme(isDark = true) { + SendAmountContent( + amountState = amountState, + isBalanceHiding = false, + clickIntents = SendClickIntentsStub, + ) + } +} + +private class AmountFieldPreviewProvider : PreviewParameterProvider { + override val values: Sequence + get() = sequenceOf( + AmountStatePreviewData.amountState, + ) +} +// endregion \ No newline at end of file