Updated on 2026-08-14
This commit is contained in:
parent
1feec554e6
commit
eff4bd0336
24 changed files with 656 additions and 14 deletions
|
|
@ -11,6 +11,7 @@ import androidx.compose.runtime.Composable
|
|||
import androidx.compose.ui.Alignment
|
||||
import androidx.compose.ui.Modifier
|
||||
import androidx.compose.ui.graphics.vector.ImageVector
|
||||
import androidx.compose.ui.platform.testTag
|
||||
import androidx.compose.ui.res.vectorResource
|
||||
import androidx.compose.ui.tooling.preview.Preview
|
||||
import androidx.compose.ui.tooling.preview.PreviewParameter
|
||||
|
|
@ -23,6 +24,7 @@ import com.tangem.core.ui.components.SpacerH
|
|||
import com.tangem.core.ui.extensions.stringResourceSafe
|
||||
import com.tangem.core.ui.res.TangemTheme
|
||||
import com.tangem.core.ui.res.TangemThemePreview
|
||||
import com.tangem.core.ui.test.SendScreenTestTags
|
||||
import com.tangem.features.send.v2.impl.R
|
||||
import com.tangem.features.send.v2.subcomponents.amount.model.SendAmountClickIntents
|
||||
import com.tangem.features.send.v2.subcomponents.amount.ui.preview.SendAmountClickIntentsStub
|
||||
|
|
@ -65,7 +67,8 @@ private fun SendConvertTokenButton(onConvertToAnother: () -> Unit) {
|
|||
Row(
|
||||
modifier = Modifier
|
||||
.padding(12.dp)
|
||||
.align(Alignment.Center),
|
||||
.align(Alignment.Center)
|
||||
.testTag(SendScreenTestTags.SWAP_TO_ANOTHER_TOKEN_BUTTON),
|
||||
verticalAlignment = Alignment.CenterVertically,
|
||||
horizontalArrangement = Arrangement.spacedBy(8.dp),
|
||||
) {
|
||||
|
|
|
|||
|
|
@ -19,6 +19,7 @@ import androidx.compose.ui.Modifier
|
|||
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.testTag
|
||||
import androidx.compose.ui.res.vectorResource
|
||||
import androidx.compose.ui.tooling.preview.Preview
|
||||
import androidx.compose.ui.tooling.preview.PreviewParameter
|
||||
|
|
@ -39,6 +40,7 @@ import com.tangem.core.ui.extensions.resolveReference
|
|||
import com.tangem.core.ui.extensions.stringResourceSafe
|
||||
import com.tangem.core.ui.res.TangemTheme
|
||||
import com.tangem.core.ui.res.TangemThemePreview
|
||||
import com.tangem.core.ui.test.SendScreenTestTags
|
||||
import com.tangem.domain.express.models.ExpressRateType
|
||||
import com.tangem.features.swap.v2.impl.R
|
||||
import com.tangem.features.swap.v2.impl.amount.entity.SwapAmountFieldUM
|
||||
|
|
@ -131,7 +133,9 @@ private fun SwapAmountBlockSeparator(onClick: () -> Unit, modifier: Modifier = M
|
|||
),
|
||||
tint = TangemTheme.colors.icon.informative,
|
||||
contentDescription = null,
|
||||
modifier = Modifier.size(16.dp),
|
||||
modifier = Modifier
|
||||
.size(16.dp)
|
||||
.testTag(SendScreenTestTags.CLOSE_CONVERT_ICON),
|
||||
)
|
||||
}
|
||||
}
|
||||
|
|
@ -333,6 +337,7 @@ private fun SwapAmountInfoMain(
|
|||
style = TangemTheme.typography.subtitle2,
|
||||
color = TangemTheme.colors.text.primary1,
|
||||
maxLines = 1,
|
||||
modifier = Modifier.testTag(SendScreenTestTags.SWAP_TOKEN_NAME),
|
||||
)
|
||||
} else {
|
||||
TextShimmer(
|
||||
|
|
|
|||
|
|
@ -22,6 +22,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.tooling.preview.Preview
|
||||
|
|
@ -40,6 +41,7 @@ import com.tangem.core.ui.extensions.stringResourceSafe
|
|||
import com.tangem.core.ui.res.TangemColorPalette
|
||||
import com.tangem.core.ui.res.TangemTheme
|
||||
import com.tangem.core.ui.res.TangemThemePreview
|
||||
import com.tangem.core.ui.test.SendConfirmScreenTestTags
|
||||
import com.tangem.domain.express.models.ExpressProvider
|
||||
import com.tangem.domain.express.models.ExpressProviderType
|
||||
import com.tangem.domain.express.models.ExpressRateType
|
||||
|
|
@ -171,7 +173,8 @@ private fun ProviderInfo(
|
|||
top.linkTo(parent.top)
|
||||
bottom.linkTo(parent.bottom)
|
||||
end.linkTo(iconRef.start, goneMargin = 12.dp)
|
||||
},
|
||||
}
|
||||
.testTag(SendConfirmScreenTestTags.PROVIDER_NAME),
|
||||
)
|
||||
Icon(
|
||||
painter = rememberVectorPainter(
|
||||
|
|
@ -287,7 +290,8 @@ private fun ConstraintLayoutScope.BestRateBadge(
|
|||
tint = TangemTheme.colors.icon.constant,
|
||||
modifier = Modifier
|
||||
.padding(iconHorizontalPaddings, iconVerticalPaddings)
|
||||
.size(iconSize),
|
||||
.size(iconSize)
|
||||
.testTag(SendConfirmScreenTestTags.BEST_RATE_BADGE),
|
||||
)
|
||||
AnimatedVisibility(
|
||||
visibleState = animateState,
|
||||
|
|
|
|||
|
|
@ -10,6 +10,7 @@ import androidx.compose.ui.Alignment
|
|||
import androidx.compose.ui.Modifier
|
||||
import androidx.compose.ui.draw.clip
|
||||
import androidx.compose.ui.platform.LocalContext
|
||||
import androidx.compose.ui.platform.testTag
|
||||
import androidx.compose.ui.res.painterResource
|
||||
import androidx.compose.ui.text.style.TextOverflow
|
||||
import androidx.compose.ui.tooling.preview.Preview
|
||||
|
|
@ -25,6 +26,7 @@ import com.tangem.core.ui.extensions.stringReference
|
|||
import com.tangem.core.ui.extensions.stringResourceSafe
|
||||
import com.tangem.core.ui.res.TangemTheme
|
||||
import com.tangem.core.ui.res.TangemThemePreview
|
||||
import com.tangem.core.ui.test.SelectSwapProviderBottomSheetTestTags
|
||||
import com.tangem.features.swap.v2.impl.chooseprovider.entity.SwapProviderState
|
||||
import com.tangem.features.swap.v2.impl.common.entity.SwapQuoteUM
|
||||
|
||||
|
|
@ -45,7 +47,9 @@ internal fun SwapProviderItem(state: SwapProviderState, modifier: Modifier = Mod
|
|||
@Composable
|
||||
private fun ProviderContentState(state: SwapProviderState.Content, modifier: Modifier = Modifier) {
|
||||
Row(
|
||||
modifier = modifier.fillMaxWidth(),
|
||||
modifier = modifier
|
||||
.fillMaxWidth()
|
||||
.testTag(SelectSwapProviderBottomSheetTestTags.PROVIDER_ITEM),
|
||||
verticalAlignment = Alignment.CenterVertically,
|
||||
) {
|
||||
SubcomposeAsyncImage(
|
||||
|
|
@ -67,12 +71,15 @@ private fun ProviderContentState(state: SwapProviderState.Content, modifier: Mod
|
|||
text = state.name,
|
||||
style = TangemTheme.typography.caption1,
|
||||
color = TangemTheme.colors.text.primary1,
|
||||
modifier = Modifier.testTag(SelectSwapProviderBottomSheetTestTags.PROVIDER_NAME),
|
||||
)
|
||||
Text(
|
||||
text = state.type,
|
||||
style = TangemTheme.typography.caption2,
|
||||
color = TangemTheme.colors.text.tertiary,
|
||||
modifier = Modifier.padding(start = 4.dp),
|
||||
modifier = Modifier
|
||||
.padding(start = 4.dp)
|
||||
.testTag(SelectSwapProviderBottomSheetTestTags.PROVIDER_TYPE),
|
||||
)
|
||||
val badgeModifier = Modifier.padding(start = 4.dp)
|
||||
when (state.additionalBadge) {
|
||||
|
|
@ -91,6 +98,7 @@ private fun ProviderContentState(state: SwapProviderState.Content, modifier: Mod
|
|||
color = TangemTheme.colors.text.tertiary,
|
||||
overflow = TextOverflow.Ellipsis,
|
||||
maxLines = 1,
|
||||
modifier = Modifier.testTag(SelectSwapProviderBottomSheetTestTags.AMOUNT),
|
||||
)
|
||||
|
||||
if (state.diffPercent is SwapQuoteUM.Content.DifferencePercent.Diff) {
|
||||
|
|
@ -143,7 +151,9 @@ private fun BestTradeItem(modifier: Modifier = Modifier) {
|
|||
text = stringResourceSafe(R.string.express_provider_best_rate),
|
||||
style = TangemTheme.typography.caption1,
|
||||
color = TangemTheme.colors.icon.accent,
|
||||
modifier = Modifier.padding(horizontal = 6.dp),
|
||||
modifier = Modifier
|
||||
.padding(horizontal = 6.dp)
|
||||
.testTag(SelectSwapProviderBottomSheetTestTags.BEST_RATE_LABEL),
|
||||
maxLines = 1,
|
||||
)
|
||||
}
|
||||
|
|
|
|||
|
|
@ -17,6 +17,7 @@ import androidx.compose.runtime.remember
|
|||
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.tooling.preview.Preview
|
||||
import androidx.compose.ui.tooling.preview.PreviewParameter
|
||||
|
|
@ -31,6 +32,7 @@ import com.tangem.core.ui.decorations.roundedShapeItemDecoration
|
|||
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.ChooseNetworkBottomSheetTestTags
|
||||
import com.tangem.features.swap.v2.impl.R
|
||||
import com.tangem.features.swap.v2.impl.choosetoken.fromSupported.entity.SwapChooseNetworkUM
|
||||
import com.tangem.features.swap.v2.impl.choosetoken.fromSupported.entity.SwapChooseTokenNetworkContentUM
|
||||
|
|
@ -116,15 +118,20 @@ private fun SwapChooseTokenNetworkContentList(swapNetworks: ImmutableList<SwapCh
|
|||
indication = ripple(),
|
||||
onClick = { network.onNetworkClick() },
|
||||
)
|
||||
.padding(vertical = 12.dp, horizontal = 14.dp),
|
||||
.padding(vertical = 12.dp, horizontal = 14.dp)
|
||||
.testTag(ChooseNetworkBottomSheetTestTags.NETWORK_ITEM),
|
||||
) {
|
||||
Image(
|
||||
modifier = Modifier.size(36.dp),
|
||||
modifier = Modifier
|
||||
.size(36.dp)
|
||||
.testTag(ChooseNetworkBottomSheetTestTags.NETWORK_ICON),
|
||||
painter = painterResource(id = network.iconResId),
|
||||
contentDescription = null,
|
||||
)
|
||||
Text(
|
||||
modifier = Modifier.padding(start = 6.dp),
|
||||
modifier = Modifier
|
||||
.padding(start = 6.dp)
|
||||
.testTag(ChooseNetworkBottomSheetTestTags.NETWORK_TITLE),
|
||||
text = network.title.resolveReference(),
|
||||
style = TangemTheme.typography.subtitle2,
|
||||
color = TangemTheme.colors.text.primary1,
|
||||
|
|
@ -137,6 +144,7 @@ private fun SwapChooseTokenNetworkContentList(swapNetworks: ImmutableList<SwapCh
|
|||
} else {
|
||||
TangemTheme.colors.text.tertiary
|
||||
},
|
||||
modifier = Modifier.testTag(ChooseNetworkBottomSheetTestTags.NETWORK_SUBTITLE),
|
||||
)
|
||||
}
|
||||
}
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue