Updated on 2026-08-14
This commit is contained in:
parent
6caeea3576
commit
68e8215e50
10 changed files with 302 additions and 7 deletions
|
|
@ -14,6 +14,7 @@ import com.tangem.core.ui.format.bigdecimal.format
|
|||
import com.tangem.core.ui.format.bigdecimal.getJavaCurrencyByCode
|
||||
import com.tangem.core.ui.format.bigdecimal.optionalDecimals
|
||||
import com.tangem.core.ui.message.DialogMessage
|
||||
import com.tangem.core.ui.test.TangemPayTestTags
|
||||
import com.tangem.domain.models.StatusSource
|
||||
import com.tangem.domain.models.account.PaymentAccountStatusValue
|
||||
import com.tangem.domain.models.account.findCardWithId
|
||||
|
|
@ -201,6 +202,7 @@ internal class TangemPayCardLimitSetupModel @Inject constructor(
|
|||
val label = preset.format { fiat(currency.currencyCode, currency.symbol).optionalDecimals() }
|
||||
TangemPayCardLimitSetupUM.LimitPresetUM(
|
||||
label = label,
|
||||
testTag = TangemPayTestTags.dailyLimitPresetChip(preset.stripTrailingZeros().toPlainString()),
|
||||
onClick = { onPresetClick(preset) },
|
||||
)
|
||||
}.toPersistentList()
|
||||
|
|
|
|||
|
|
@ -15,6 +15,7 @@ import androidx.compose.runtime.Composable
|
|||
import androidx.compose.ui.Alignment
|
||||
import androidx.compose.ui.Modifier
|
||||
import androidx.compose.ui.draw.clip
|
||||
import androidx.compose.ui.platform.testTag
|
||||
import androidx.compose.ui.text.input.KeyboardType
|
||||
import androidx.compose.ui.text.style.TextAlign
|
||||
import androidx.compose.ui.tooling.preview.Preview
|
||||
|
|
@ -30,6 +31,7 @@ import com.tangem.core.ui.extensions.resolveReference
|
|||
import com.tangem.core.ui.extensions.resourceReference
|
||||
import com.tangem.core.ui.res.TangemTheme
|
||||
import com.tangem.core.ui.res.TangemThemePreviewRedesign
|
||||
import com.tangem.core.ui.test.TangemPayTestTags
|
||||
import com.tangem.core.ui.utils.rememberDecimalFormat
|
||||
import com.tangem.features.tangempay.details.impl.R
|
||||
import kotlinx.collections.immutable.ImmutableList
|
||||
|
|
@ -79,7 +81,8 @@ private fun Content(state: TangemPayCardLimitSetupUM, modifier: Modifier = Modif
|
|||
modifier = Modifier
|
||||
.fillMaxWidth()
|
||||
.padding(horizontal = TangemTheme.dimens2.x4)
|
||||
.padding(top = TangemTheme.dimens2.x3),
|
||||
.padding(top = TangemTheme.dimens2.x3)
|
||||
.testTag(TangemPayTestTags.DAILY_LIMIT_SET_BUTTON),
|
||||
size = TangemButton.Size.X12,
|
||||
text = resourceReference(R.string.tangempay_daily_limit_set_button),
|
||||
onClick = state.onSubmitClick,
|
||||
|
|
@ -99,6 +102,7 @@ private fun AmountBlock(state: TangemPayCardLimitSetupUM, modifier: Modifier = M
|
|||
verticalArrangement = Arrangement.spacedBy(TangemTheme.dimens2.x3),
|
||||
) {
|
||||
Text(
|
||||
modifier = Modifier.testTag(TangemPayTestTags.DAILY_LIMIT_HINT),
|
||||
text = state.subtitle.resolveReference(),
|
||||
style = TangemTheme.typography3.subheading.medium,
|
||||
color = TangemTheme.colors3.text.tertiary,
|
||||
|
|
@ -158,6 +162,7 @@ private fun PresetChip(preset: TangemPayCardLimitSetupUM.LimitPresetUM, modifier
|
|||
.clip(RoundedCornerShape(14.dp))
|
||||
.background(TangemTheme.colors3.bg.tertiary)
|
||||
.clickable(onClick = preset.onClick)
|
||||
.testTag(preset.testTag)
|
||||
.padding(horizontal = TangemTheme.dimens2.x5, vertical = TangemTheme.dimens2.x1)
|
||||
.wrapContentHeight(),
|
||||
horizontalArrangement = Arrangement.Center,
|
||||
|
|
|
|||
|
|
@ -5,6 +5,7 @@ import androidx.compose.ui.Modifier
|
|||
import androidx.compose.ui.tooling.preview.Preview
|
||||
import com.tangem.core.ui.extensions.resourceReference
|
||||
import com.tangem.core.ui.res.TangemThemePreviewRedesign
|
||||
import com.tangem.core.ui.test.TangemPayTestTags
|
||||
import com.tangem.features.tangempay.details.impl.R
|
||||
import com.tangem.features.tangempay.ui.components.TangemPaySuccessScreenWrapper
|
||||
|
||||
|
|
@ -16,6 +17,8 @@ internal fun TangemPayCardLimitSetupSuccessScreenV2(onDoneClick: () -> Unit, mod
|
|||
subtitle = resourceReference(R.string.tangempay_card_page_daily_limit_success_description),
|
||||
buttonText = resourceReference(R.string.common_done),
|
||||
onButtonClick = onDoneClick,
|
||||
titleTestTag = TangemPayTestTags.DAILY_LIMIT_SUCCESS_TITLE,
|
||||
buttonTestTag = TangemPayTestTags.DAILY_LIMIT_DONE_BUTTON,
|
||||
)
|
||||
}
|
||||
|
||||
|
|
|
|||
|
|
@ -28,6 +28,7 @@ internal data class TangemPayCardLimitSetupUM(
|
|||
@Immutable
|
||||
internal data class LimitPresetUM(
|
||||
val label: String,
|
||||
val testTag: String,
|
||||
val onClick: () -> Unit,
|
||||
)
|
||||
|
||||
|
|
@ -42,10 +43,10 @@ internal data class TangemPayCardLimitSetupUM(
|
|||
subtitle: TextReference = TextReference.Str("Set a limit from $0 to $50,000"),
|
||||
currencyCode: String = "$",
|
||||
presets: ImmutableList<LimitPresetUM> = persistentListOf(
|
||||
LimitPresetUM(label = "$0", onClick = {}),
|
||||
LimitPresetUM(label = "$5,000", onClick = {}),
|
||||
LimitPresetUM(label = "$10,000", onClick = {}),
|
||||
LimitPresetUM(label = "$25,000", onClick = {}),
|
||||
LimitPresetUM(label = "$0", testTag = "", onClick = {}),
|
||||
LimitPresetUM(label = "$5,000", testTag = "", onClick = {}),
|
||||
LimitPresetUM(label = "$10,000", testTag = "", onClick = {}),
|
||||
LimitPresetUM(label = "$25,000", testTag = "", onClick = {}),
|
||||
),
|
||||
submitButtonEnabled: Boolean = true,
|
||||
submitButtonLoading: Boolean = false,
|
||||
|
|
|
|||
|
|
@ -15,6 +15,7 @@ import androidx.compose.ui.Modifier
|
|||
import androidx.compose.ui.draw.clip
|
||||
import androidx.compose.ui.graphics.vector.ImageVector
|
||||
import androidx.compose.ui.layout.layoutId
|
||||
import androidx.compose.ui.platform.testTag
|
||||
import androidx.compose.ui.res.painterResource
|
||||
import androidx.compose.ui.res.vectorResource
|
||||
import androidx.compose.ui.text.style.TextOverflow
|
||||
|
|
@ -34,6 +35,7 @@ import com.tangem.core.ui.extensions.stringResourceSafe
|
|||
import com.tangem.core.ui.res.*
|
||||
import com.tangem.core.ui.res.generated.icons.Icons
|
||||
import com.tangem.core.ui.res.generated.icons.ic_arrow_refresh_32
|
||||
import com.tangem.core.ui.test.TangemPayTestTags
|
||||
import com.tangem.features.tangempay.details.impl.R
|
||||
import com.tangem.features.tangempay.entity.TangemPayDailyLimitBlockState
|
||||
|
||||
|
|
@ -159,7 +161,8 @@ private fun CurrentLimitBlockV2(state: TangemPayDailyLimitBlockState, modifier:
|
|||
TangemButton(
|
||||
modifier = Modifier
|
||||
.padding(start = TangemTheme.dimens2.x3)
|
||||
.layoutId(TangemRowLayoutId.TAIL),
|
||||
.layoutId(TangemRowLayoutId.TAIL)
|
||||
.testTag(TangemPayTestTags.DAILY_LIMIT_CHANGE_BUTTON),
|
||||
variant = TangemButton.Variant.Secondary,
|
||||
text = resourceReference(R.string.tangempay_card_page_daily_limit_change),
|
||||
onClick = state.onChangeClick,
|
||||
|
|
@ -264,7 +267,7 @@ private fun SubtitleLimit(state: TangemPayDailyLimitBlockState, modifier: Modifi
|
|||
}
|
||||
is TangemPayDailyLimitBlockState.Content -> {
|
||||
Text(
|
||||
modifier = modifier,
|
||||
modifier = modifier.testTag(TangemPayTestTags.DAILY_LIMIT_CURRENT_VALUE),
|
||||
text = state.limit,
|
||||
style = TangemTheme.typography3.body.medium,
|
||||
color = TangemTheme.colors3.text.primary,
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue