Updated on 2026-08-14

This commit is contained in:
Tangem 2024-09-24 16:47:06 +03:00
parent cf021480f9
commit a14eaba613
10 changed files with 77 additions and 26 deletions

View file

@ -20,8 +20,10 @@ import androidx.compose.ui.text.style.TextOverflow
import androidx.compose.ui.tooling.preview.Preview
import androidx.compose.ui.tooling.preview.PreviewParameter
import androidx.compose.ui.tooling.preview.datasource.CollectionPreviewParameterProvider
import androidx.constraintlayout.compose.ChainStyle
import androidx.constraintlayout.compose.ConstraintLayout
import androidx.constraintlayout.compose.Dimension
import androidx.constraintlayout.compose.Visibility
import com.tangem.core.ui.R
import com.tangem.core.ui.components.CircleShimmer
import com.tangem.core.ui.components.RectangleShimmer
@ -68,6 +70,9 @@ fun Transaction(state: TransactionState, isBalanceHidden: Boolean, modifier: Mod
ConstraintLayout(modifier = Modifier.fillMaxWidth()) {
val (iconItem, titleItem, subtitleItem, amountItem, timestampItem) = createRefs()
createVerticalChain(titleItem, subtitleItem, chainStyle = ChainStyle.Spread)
createVerticalChain(amountItem, timestampItem, chainStyle = ChainStyle.Spread)
Icon(
state = state,
modifier = Modifier
@ -102,6 +107,7 @@ fun Transaction(state: TransactionState, isBalanceHidden: Boolean, modifier: Mod
end = TangemTheme.dimens.spacing4,
)
.constrainAs(subtitleItem) {
visibility = state.isGoneIf { subtitle.isNullOrEmpty() }
top.linkTo(titleItem.bottom)
bottom.linkTo(parent.bottom)
start.linkTo(iconItem.end)
@ -114,6 +120,7 @@ fun Transaction(state: TransactionState, isBalanceHidden: Boolean, modifier: Mod
state = state,
isBalanceHidden = isBalanceHidden,
modifier = Modifier.constrainAs(amountItem) {
visibility = state.isGoneIf { amount.isEmpty() }
top.linkTo(parent.top)
bottom.linkTo(timestampItem.top)
start.linkTo(titleItem.end)
@ -315,6 +322,10 @@ private fun LockedContent(modifier: Modifier = Modifier) {
)
}
private fun TransactionState.isGoneIf(goneCondition: TransactionState.Content.() -> Boolean): Visibility {
return if ((this as? TransactionState.Content)?.goneCondition() == true) Visibility.Gone else Visibility.Visible
}
@Preview(showBackground = true, widthDp = 368)
@Preview(showBackground = true, widthDp = 368, uiMode = Configuration.UI_MODE_NIGHT_YES)
@Composable

View file

@ -0,0 +1,11 @@
<vector xmlns:android="http://schemas.android.com/apk/res/android"
android:width="24dp"
android:height="24dp"
android:viewportWidth="20"
android:viewportHeight="20">
<path
android:fillColor="#000000"
android:pathData="M5.833,12.5H7.5C7.5,13.4 8.642,14.167 10,14.167C11.358,14.167 12.5,13.4 12.5,12.5C12.5,11.583 11.633,11.25 9.8,10.808C8.033,10.367 5.833,9.817 5.833,7.5C5.833,6.008 7.058,4.742 8.75,4.317V2.5H11.25V4.317C12.942,4.742 14.167,6.008 14.167,7.5H12.5C12.5,6.6 11.358,5.833 10,5.833C8.642,5.833 7.5,6.6 7.5,7.5C7.5,8.417 8.367,8.75 10.2,9.192C11.967,9.633 14.167,10.183 14.167,12.5C14.167,13.992 12.942,15.258 11.25,15.683V17.5H8.75V15.683C7.058,15.258 5.833,13.992 5.833,12.5Z" />
</vector>