Updated on 2026-08-14

This commit is contained in:
Tangem 2025-07-29 11:26:48 +03:00
parent 496072829c
commit 8ec30bd373
40 changed files with 1214 additions and 33 deletions

View file

@ -15,6 +15,7 @@ import androidx.compose.ui.Modifier
import androidx.compose.ui.draw.clip
import androidx.compose.ui.focus.FocusRequester
import androidx.compose.ui.focus.focusRequester
import androidx.compose.ui.platform.testTag
import androidx.compose.ui.res.painterResource
import androidx.compose.ui.text.style.TextAlign
import androidx.compose.ui.text.style.TextDirection
@ -26,6 +27,7 @@ import com.tangem.core.ui.components.fields.AmountTextField
import com.tangem.core.ui.components.fields.visualtransformations.AmountVisualTransformation
import com.tangem.core.ui.extensions.resolveReference
import com.tangem.core.ui.res.TangemTheme
import com.tangem.core.ui.test.BuyTokenDetailsScreenTestTags
import com.tangem.core.ui.utils.rememberDecimalFormat
import com.tangem.features.onramp.impl.R
import com.tangem.features.onramp.main.entity.OnrampAmountBlockUM
@ -84,7 +86,8 @@ private fun OnrampAmountField(amountField: AmountFieldModel) {
start = TangemTheme.dimens.spacing12,
end = TangemTheme.dimens.spacing12,
)
.requiredHeightIn(min = TangemTheme.dimens.size32),
.requiredHeightIn(min = TangemTheme.dimens.size32)
.testTag(BuyTokenDetailsScreenTestTags.FIAT_AMOUNT_TEXT_FIELD),
)
LaunchedEffect(key1 = Unit) {
@ -101,7 +104,8 @@ private fun OnrampAmountSecondary(state: OnrampAmountSecondaryFieldUM) {
top = TangemTheme.dimens.spacing8,
start = TangemTheme.dimens.spacing12,
end = TangemTheme.dimens.spacing12,
),
)
.testTag(BuyTokenDetailsScreenTestTags.TOKEN_AMOUNT),
contentAlignment = Alignment.Center,
) {
when (state) {
@ -138,12 +142,15 @@ private fun OnrampCurrencyIcon(currencyUM: OnrampCurrencyUM, modifier: Modifier
AsyncImage(
modifier = Modifier
.size(TangemTheme.dimens.size40)
.clip(CircleShape),
.clip(CircleShape)
.testTag(BuyTokenDetailsScreenTestTags.FIAT_CURRENCY_ICON),
model = currencyUM.iconUrl,
contentDescription = null,
)
Icon(
modifier = Modifier.size(TangemTheme.dimens.size16),
modifier = Modifier
.size(TangemTheme.dimens.size16)
.testTag(BuyTokenDetailsScreenTestTags.EXPAND_FIAT_LIST_BUTTON),
painter = painterResource(id = R.drawable.ic_chevron_24),
tint = TangemTheme.colors.icon.informative,
contentDescription = null,

View file

@ -8,6 +8,7 @@ import androidx.compose.foundation.layout.*
import androidx.compose.foundation.text.ClickableText
import androidx.compose.runtime.Composable
import androidx.compose.ui.Modifier
import androidx.compose.ui.platform.testTag
import androidx.compose.ui.text.buildAnnotatedString
import androidx.compose.ui.text.style.TextAlign
import androidx.compose.ui.unit.dp
@ -15,6 +16,7 @@ import com.tangem.core.ui.components.PrimaryButton
import com.tangem.core.ui.extensions.appendColored
import com.tangem.core.ui.extensions.stringResourceSafe
import com.tangem.core.ui.res.TangemTheme
import com.tangem.core.ui.test.BuyTokenDetailsScreenTestTags
import com.tangem.features.onramp.impl.R
import com.tangem.features.onramp.main.entity.OnrampMainComponentUM
import com.tangem.features.onramp.main.entity.OnrampProviderBlockUM
@ -77,6 +79,7 @@ private fun OnrampTosText(provider: OnrampProviderBlockUM.Content?) {
color = TangemTheme.colors.text.tertiary,
textAlign = TextAlign.Center,
),
modifier = Modifier.testTag(BuyTokenDetailsScreenTestTags.TOS_BLOCK),
onClick = { offset ->
clickableAnnotation.getStringAnnotations(
tag = TERMS_OF_USE_KEY,

View file

@ -13,12 +13,14 @@ 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.SpanStyle
import androidx.compose.ui.text.buildAnnotatedString
import androidx.compose.ui.text.withStyle
import com.tangem.core.ui.extensions.appendSpace
import com.tangem.core.ui.extensions.stringResourceSafe
import com.tangem.core.ui.res.TangemTheme
import com.tangem.core.ui.test.BuyTokenDetailsScreenTestTags
import com.tangem.features.onramp.impl.R
import com.tangem.features.onramp.main.entity.OnrampProviderBlockUM
import com.tangem.features.onramp.paymentmethod.ui.PaymentMethodIcon
@ -60,6 +62,7 @@ private fun OnrampProviderBlock(state: OnrampProviderBlockUM.Content, modifier:
},
color = TangemTheme.colors.text.tertiary,
style = TangemTheme.typography.body2,
modifier = modifier.testTag(BuyTokenDetailsScreenTestTags.PROVIDER_TITLE),
)
Text(
text = buildAnnotatedString {
@ -69,6 +72,7 @@ private fun OnrampProviderBlock(state: OnrampProviderBlockUM.Content, modifier:
},
style = TangemTheme.typography.caption2,
color = TangemTheme.colors.text.tertiary,
modifier = modifier.testTag(BuyTokenDetailsScreenTestTags.PROVIDER_TEXT),
)
}
AnimatedVisibility(
@ -108,6 +112,7 @@ private fun OnrampProviderLoading(modifier: Modifier = Modifier) {
text = stringResourceSafe(id = R.string.express_provider),
style = TangemTheme.typography.subtitle2,
color = TangemTheme.colors.text.tertiary,
modifier = Modifier.testTag(BuyTokenDetailsScreenTestTags.PROVIDER_LOADING_TITLE),
)
Row(
verticalAlignment = Alignment.CenterVertically,
@ -122,6 +127,7 @@ private fun OnrampProviderLoading(modifier: Modifier = Modifier) {
text = stringResourceSafe(id = R.string.express_fetch_best_rates),
style = TangemTheme.typography.body2,
color = TangemTheme.colors.text.tertiary,
modifier = Modifier.testTag(BuyTokenDetailsScreenTestTags.PROVIDER_LOADING_TEXT),
)
}
}

View file

@ -7,10 +7,12 @@ import androidx.compose.runtime.Composable
import androidx.compose.ui.Modifier
import androidx.compose.ui.draw.clip
import androidx.compose.ui.platform.LocalContext
import androidx.compose.ui.platform.testTag
import coil.compose.SubcomposeAsyncImage
import coil.request.ImageRequest
import com.tangem.core.ui.res.TangemColorPalette
import com.tangem.core.ui.res.TangemTheme
import com.tangem.core.ui.test.SelectProviderBottomSheetTestTags
@Composable
internal fun PaymentMethodIcon(imageUrl: String, modifier: Modifier = Modifier) {
@ -19,7 +21,8 @@ internal fun PaymentMethodIcon(imageUrl: String, modifier: Modifier = Modifier)
.size(TangemTheme.dimens.size40)
.clip(TangemTheme.shapes.roundedCorners8)
.background(TangemColorPalette.Light1)
.padding(TangemTheme.dimens.spacing6),
.padding(TangemTheme.dimens.spacing6)
.testTag(SelectProviderBottomSheetTestTags.PAYMENT_METHOD_ICON),
model = ImageRequest.Builder(context = LocalContext.current)
.data(imageUrl)
.crossfade(enable = true)

View file

@ -11,11 +11,13 @@ import androidx.compose.runtime.remember
import androidx.compose.ui.Alignment
import androidx.compose.ui.Modifier
import androidx.compose.ui.draw.clip
import androidx.compose.ui.platform.testTag
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.core.ui.test.SelectPaymentMethodBottomSheetTestTags
import com.tangem.features.onramp.impl.R
import com.tangem.features.onramp.paymentmethod.entity.PaymentMethodUM
import com.tangem.features.onramp.paymentmethod.entity.PaymentMethodsBottomSheetConfig
@ -49,7 +51,7 @@ private fun SelectPaymentMethodBottomSheetContent(
modifier: Modifier = Modifier,
) {
LazyColumn(
modifier = modifier,
modifier = modifier.testTag(SelectPaymentMethodBottomSheetTestTags.LAZY_LIST),
) {
items(
items = methods,
@ -86,7 +88,10 @@ private fun PaymentMethodItem(paymentMethod: PaymentMethodUM, isSelected: Boolea
verticalAlignment = Alignment.CenterVertically,
horizontalArrangement = Arrangement.spacedBy(TangemTheme.dimens.spacing12),
) {
PaymentMethodIcon(paymentMethod.imageUrl)
PaymentMethodIcon(
imageUrl = paymentMethod.imageUrl,
modifier = Modifier.testTag(SelectPaymentMethodBottomSheetTestTags.PAYMENT_METHOD_ICON),
)
Text(
text = paymentMethod.name,
style = TangemTheme.typography.subtitle2,

View file

@ -15,6 +15,7 @@ import androidx.compose.ui.draw.clip
import androidx.compose.ui.graphics.vector.ImageVector
import androidx.compose.ui.graphics.vector.rememberVectorPainter
import androidx.compose.ui.platform.LocalContext
import androidx.compose.ui.platform.testTag
import androidx.compose.ui.res.painterResource
import androidx.compose.ui.res.vectorResource
import androidx.compose.ui.text.style.TextAlign
@ -32,6 +33,7 @@ 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.core.ui.test.SelectProviderBottomSheetTestTags
import com.tangem.domain.onramp.model.OnrampPaymentMethod
import com.tangem.features.onramp.impl.R
import com.tangem.features.onramp.paymentmethod.ui.PaymentMethodIcon
@ -101,15 +103,19 @@ private fun PaymentMethodBlock(
text = stringResourceSafe(id = R.string.onramp_pay_with),
style = TangemTheme.typography.body2,
color = TangemTheme.colors.text.tertiary,
modifier = Modifier.testTag(SelectProviderBottomSheetTestTags.PAYMENT_METHOD_TITLE),
)
Text(
text = state.name,
style = TangemTheme.typography.caption2,
color = TangemTheme.colors.text.primary1,
modifier = Modifier.testTag(SelectProviderBottomSheetTestTags.PAYMENT_METHOD_NAME),
)
}
Icon(
modifier = Modifier.size(TangemTheme.dimens.size24),
modifier = Modifier
.size(TangemTheme.dimens.size24)
.testTag(SelectProviderBottomSheetTestTags.PAYMENT_METHOD_EXPAND_BUTTON),
painter = painterResource(id = R.drawable.ic_chevron_24),
contentDescription = null,
tint = TangemTheme.colors.icon.informative,
@ -149,14 +155,16 @@ private fun AvailableProviderItem(state: ProviderListItemUM.Available.Content, m
modifier = modifier
.selectedBorder(isSelected = state.isSelected)
.clickable(onClick = state.onClick)
.padding(all = TangemTheme.dimens.spacing12),
.padding(all = TangemTheme.dimens.spacing12)
.testTag(SelectProviderBottomSheetTestTags.AVAILABLE_PROVIDER_ITEM),
verticalAlignment = Alignment.CenterVertically,
horizontalArrangement = Arrangement.spacedBy(TangemTheme.dimens.spacing12),
) {
SubcomposeAsyncImage(
modifier = Modifier
.size(size = TangemTheme.dimens.size40)
.clip(TangemTheme.shapes.roundedCorners8),
.clip(TangemTheme.shapes.roundedCorners8)
.testTag(SelectProviderBottomSheetTestTags.AVAILABLE_PROVIDER_NAME),
model = ImageRequest.Builder(context = LocalContext.current)
.data(state.imageUrl)
.crossfade(enable = true)
@ -166,7 +174,9 @@ private fun AvailableProviderItem(state: ProviderListItemUM.Available.Content, m
contentDescription = null,
)
Text(
modifier = Modifier.weight(1F),
modifier = Modifier
.weight(1F)
.testTag(SelectProviderBottomSheetTestTags.TOKEN_AMOUNT),
text = state.name,
style = TangemTheme.typography.subtitle2,
color = if (state.isSelected) TangemTheme.colors.text.primary1 else TangemTheme.colors.text.secondary,
@ -189,7 +199,8 @@ private fun AvailableProviderItem(state: ProviderListItemUM.Available.Content, m
modifier = Modifier
.clip(RoundedCornerShape(4.dp))
.background(TangemTheme.colors.icon.accent)
.padding(vertical = 1.dp, horizontal = 6.dp),
.padding(vertical = 1.dp, horizontal = 6.dp)
.testTag(SelectProviderBottomSheetTestTags.BEST_RATE_LABEL),
)
}
state.diffRate != null -> {
@ -218,7 +229,8 @@ private fun UnavailableProviderItem(
Row(
modifier = modifier
.selectedBorder(isSelected = isSelected)
.padding(all = TangemTheme.dimens.spacing12),
.padding(all = TangemTheme.dimens.spacing12)
.testTag(SelectProviderBottomSheetTestTags.UNAVAILABLE_PROVIDER_ITEM),
verticalAlignment = Alignment.CenterVertically,
horizontalArrangement = Arrangement.spacedBy(TangemTheme.dimens.spacing12),
) {
@ -240,11 +252,13 @@ private fun UnavailableProviderItem(
text = providerName,
style = TangemTheme.typography.subtitle2,
color = TangemTheme.colors.text.secondary,
modifier = Modifier.testTag(SelectProviderBottomSheetTestTags.UNAVAILABLE_PROVIDER_NAME),
)
Text(
text = subtitle.resolveReference(),
style = TangemTheme.typography.caption2,
color = TangemTheme.colors.text.tertiary,
modifier = Modifier.testTag(SelectProviderBottomSheetTestTags.UNAVAILABLE_PROVIDER_SUBTITLE),
)
}
}
@ -259,7 +273,8 @@ private fun OnrampMoreProviders() {
contentDescription = null,
tint = TangemTheme.colors.icon.informative,
modifier = Modifier
.padding(top = 16.dp),
.padding(top = 16.dp)
.testTag(SelectProviderBottomSheetTestTags.MORE_PROVIDERS_ICON),
)
Text(
text = stringResourceSafe(R.string.express_more_providers_soon),
@ -267,7 +282,8 @@ private fun OnrampMoreProviders() {
color = TangemTheme.colors.icon.informative,
modifier = Modifier
.padding(top = 4.dp, bottom = 24.dp)
.padding(horizontal = TangemTheme.dimens.spacing56),
.padding(horizontal = TangemTheme.dimens.spacing56)
.testTag(SelectProviderBottomSheetTestTags.MORE_PROVIDERS_TEXT),
textAlign = TextAlign.Center,
)
}

View file

@ -11,6 +11,7 @@ import androidx.compose.runtime.Composable
import androidx.compose.ui.Alignment
import androidx.compose.ui.Modifier
import androidx.compose.ui.draw.alpha
import androidx.compose.ui.platform.testTag
import androidx.compose.ui.res.painterResource
import androidx.compose.ui.text.style.TextOverflow
import coil.compose.AsyncImage
@ -25,6 +26,7 @@ import com.tangem.core.ui.components.fields.SearchBar
import com.tangem.core.ui.extensions.resourceReference
import com.tangem.core.ui.extensions.stringResourceSafe
import com.tangem.core.ui.res.TangemTheme
import com.tangem.core.ui.test.SelectCountryBottomSheetTestTags
import com.tangem.features.onramp.impl.R
import com.tangem.features.onramp.selectcountry.entity.CountryItemState
import com.tangem.features.onramp.selectcountry.entity.CountryListUM
@ -40,7 +42,7 @@ internal fun SelectCountryBottomSheet(config: TangemBottomSheetConfig, content:
@Composable
internal fun OnrampCountryList(state: CountryListUM, modifier: Modifier = Modifier) {
LazyColumn(
modifier = modifier,
modifier = modifier.testTag(SelectCountryBottomSheetTestTags.LAZY_LIST),
contentPadding = PaddingValues(horizontal = TangemTheme.dimens.spacing16),
) {
item(key = "search_bar") {
@ -102,13 +104,15 @@ private fun LazyListScope.countryListWithContent(state: CountryListUM.Content) {
modifier = Modifier
.fillMaxWidth()
.clickable(onClick = item.onClick)
.padding(vertical = TangemTheme.dimens.spacing16),
.padding(vertical = TangemTheme.dimens.spacing16)
.testTag(SelectCountryBottomSheetTestTags.COUNTRY_ITEM),
state = item,
)
is CountryItemState.WithContent.Unavailable -> UnavailableCountryItem(
modifier = Modifier
.fillMaxWidth()
.padding(vertical = TangemTheme.dimens.spacing16),
.padding(vertical = TangemTheme.dimens.spacing16)
.testTag(SelectCountryBottomSheetTestTags.UNAVAILABLE_COUNTRY_ITEM),
state = item,
)
}
@ -138,13 +142,17 @@ private fun ContentCountryItem(state: CountryItemState.WithContent.Content, modi
verticalAlignment = Alignment.CenterVertically,
) {
AsyncImage(
modifier = Modifier.size(TangemTheme.dimens.size36),
modifier = Modifier
.size(TangemTheme.dimens.size36)
.testTag(SelectCountryBottomSheetTestTags.COUNTRY_ICON),
model = state.flagUrl,
contentDescription = null,
)
Text(
text = state.countryName,
modifier = Modifier.weight(1F),
modifier = Modifier
.weight(1F)
.testTag(SelectCountryBottomSheetTestTags.COUNTRY_NAME),
overflow = TextOverflow.Ellipsis,
maxLines = 1,
style = TangemTheme.typography.subtitle2,
@ -172,7 +180,8 @@ private fun UnavailableCountryItem(state: CountryItemState.WithContent.Unavailab
AsyncImage(
modifier = Modifier
.size(TangemTheme.dimens.size36)
.alpha(0.4F),
.alpha(0.4F)
.testTag(SelectCountryBottomSheetTestTags.UNAVAILABLE_COUNTRY_ICON),
model = state.flagUrl,
contentDescription = null,
)

View file

@ -11,6 +11,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.util.fastForEach
import coil.compose.AsyncImage
import com.tangem.core.ui.components.CircleShimmer
@ -25,6 +26,7 @@ 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.res.TangemTheme
import com.tangem.core.ui.test.BuyTokenFiatListTestTags
import com.tangem.features.onramp.impl.R
import com.tangem.features.onramp.selectcurrency.entity.CurrenciesListUM
import com.tangem.features.onramp.selectcurrency.entity.CurrencyItemState
@ -40,7 +42,7 @@ internal fun SelectCurrencyBottomSheet(config: TangemBottomSheetConfig, content:
@Composable
internal fun OnrampCurrencyList(state: CurrenciesListUM, modifier: Modifier = Modifier) {
LazyColumn(
modifier = modifier,
modifier = modifier.testTag(BuyTokenFiatListTestTags.LAZY_LIST),
contentPadding = PaddingValues(horizontal = TangemTheme.dimens.spacing16),
) {
item(key = "search_bar") {
@ -106,7 +108,8 @@ private fun LazyListScope.currencyListContent(state: CurrenciesListUM.Content) {
modifier = Modifier
.fillMaxWidth()
.clickable(onClick = item.onClick)
.padding(vertical = TangemTheme.dimens.spacing16),
.padding(vertical = TangemTheme.dimens.spacing16)
.testTag(BuyTokenFiatListTestTags.LAZY_LIST_ITEM),
currency = item,
)
},

View file

@ -10,10 +10,12 @@ import androidx.compose.foundation.lazy.LazyColumn
import androidx.compose.runtime.Composable
import androidx.compose.ui.Modifier
import androidx.compose.ui.input.nestedscroll.nestedScroll
import androidx.compose.ui.platform.testTag
import androidx.compose.ui.unit.dp
import com.tangem.core.ui.components.appbar.AppBarWithBackButton
import com.tangem.core.ui.extensions.stringResourceSafe
import com.tangem.core.ui.res.TangemTheme
import com.tangem.core.ui.test.BuyTokenScreenTestTags
import com.tangem.core.ui.utils.rememberHideKeyboardNestedScrollConnection
import com.tangem.features.onramp.hottokens.HotCryptoComponent
import com.tangem.features.onramp.impl.R
@ -36,7 +38,8 @@ internal fun OnrampSelectToken(
.nestedScroll(nestedScrollConnection)
.background(TangemTheme.colors.background.secondary)
.imePadding()
.systemBarsPadding(),
.systemBarsPadding()
.testTag(BuyTokenScreenTestTags.LAZY_LIST),
) {
stickyHeader(key = "header") {
AppBarWithBackButton(

View file

@ -12,6 +12,7 @@ import androidx.compose.runtime.key
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.res.painterResource
import androidx.compose.ui.util.fastForEach
import coil.compose.AsyncImage
@ -19,6 +20,7 @@ import com.tangem.core.ui.components.SpacerWMax
import com.tangem.core.ui.components.appbar.AppBarWithBackButton
import com.tangem.core.ui.extensions.stringResourceSafe
import com.tangem.core.ui.res.TangemTheme
import com.tangem.core.ui.test.ResidenceSettingsScreenTestTags
import com.tangem.core.ui.utils.WindowInsetsZero
import com.tangem.features.onramp.impl.R
import com.tangem.features.onramp.settings.entity.OnrampSettingsItemUM
@ -95,6 +97,7 @@ private fun ResidenceSection(state: OnrampSettingsItemUM.Residence, modifier: Mo
text = state.countryName,
color = TangemTheme.colors.text.primary1,
style = TangemTheme.typography.body2,
modifier = Modifier.testTag(ResidenceSettingsScreenTestTags.COUNTRY_NAME),
)
Icon(
painter = painterResource(id = R.drawable.ic_chevron_right_24),

View file

@ -9,6 +9,8 @@ import androidx.compose.foundation.layout.padding
import androidx.compose.runtime.Composable
import androidx.compose.runtime.key
import androidx.compose.ui.Modifier
import androidx.compose.ui.platform.testTag
import androidx.compose.ui.semantics.semantics
import androidx.compose.ui.tooling.preview.Preview
import androidx.compose.ui.tooling.preview.PreviewParameter
import androidx.compose.ui.unit.dp
@ -24,6 +26,8 @@ import com.tangem.core.ui.components.tokenlist.state.TokensListItemUM
import com.tangem.core.ui.decorations.roundedShapeItemDecoration
import com.tangem.core.ui.res.TangemTheme
import com.tangem.core.ui.res.TangemThemePreview
import com.tangem.core.ui.test.BuyTokenScreenTestTags
import com.tangem.core.ui.utils.lazyListItemPosition
import com.tangem.features.onramp.tokenlist.entity.TokenListUM
import com.tangem.features.onramp.tokenlist.ui.preview.PreviewTokenListUMProvider
import kotlinx.collections.immutable.ImmutableList
@ -90,7 +94,9 @@ private fun ItemsBlock(items: ImmutableList<TokensListItemUM>, isBalanceHidden:
lastIndex = items.lastIndex,
addDefaultPadding = false,
backgroundColor = TangemTheme.colors.background.primary,
),
)
.testTag(BuyTokenScreenTestTags.LAZY_LIST_ITEM)
.semantics { lazyListItemPosition = index },
)
}
}

View file

@ -4,6 +4,7 @@ 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.platform.testTag
import androidx.compose.ui.text.style.TextOverflow
import androidx.compose.ui.unit.TextUnit
import androidx.compose.ui.unit.dp
@ -14,6 +15,7 @@ import com.tangem.core.ui.components.buttons.actions.ActionButtonConfig
import com.tangem.core.ui.components.buttons.actions.ActionButtonContent
import com.tangem.core.ui.extensions.resolveReference
import com.tangem.core.ui.res.TangemTheme
import com.tangem.core.ui.test.MainScreenTestTags
/**
[REDACTED_AUTHOR]
@ -48,7 +50,7 @@ internal fun MultiCurrencyAction(
paddingBetweenIconAndText = 4.dp,
)
},
modifier = modifier,
modifier = modifier.testTag(MainScreenTestTags.MULTI_CURRENCY_ACTION_BUTTON),
color = TangemTheme.colors.button.secondary,
)
}