Updated on 2026-08-14
This commit is contained in:
parent
5b395f5f16
commit
e7fc11392a
1 changed files with 54 additions and 23 deletions
|
|
@ -7,8 +7,7 @@ import androidx.compose.foundation.shape.CircleShape
|
|||
import androidx.compose.material.Icon
|
||||
import androidx.compose.material.Text
|
||||
import androidx.compose.runtime.Composable
|
||||
import androidx.compose.runtime.getValue
|
||||
import androidx.compose.runtime.rememberUpdatedState
|
||||
import androidx.compose.runtime.remember
|
||||
import androidx.compose.ui.Alignment
|
||||
import androidx.compose.ui.ExperimentalComposeUiApi
|
||||
import androidx.compose.ui.Modifier
|
||||
|
|
@ -85,14 +84,15 @@ private fun WalletCardImage(
|
|||
.height(TangemTheme.dimens.size32)
|
||||
.clip(TangemTheme.shapes.roundedCornersSmall2)
|
||||
|
||||
val checkedColorFilter by rememberUpdatedState(
|
||||
newValue = if (isChecked) {
|
||||
val tintColor = TangemTheme.colors.icon.accent.copy(alpha = .6f)
|
||||
val checkedColorFilter = remember(isChecked) {
|
||||
if (isChecked) {
|
||||
ColorFilter.tint(
|
||||
color = TangemTheme.colors.icon.accent.copy(alpha = .6f),
|
||||
color = tintColor,
|
||||
blendMode = BlendMode.SrcOver,
|
||||
)
|
||||
} else null,
|
||||
)
|
||||
} else null
|
||||
}
|
||||
|
||||
SubcomposeAsyncImage(
|
||||
modifier = cardImageModifier,
|
||||
|
|
@ -106,22 +106,15 @@ private fun WalletCardImage(
|
|||
contentDescription = null,
|
||||
)
|
||||
|
||||
if (isSelected) {
|
||||
Box(
|
||||
modifier = Modifier
|
||||
.align(Alignment.TopEnd)
|
||||
.size(TangemTheme.dimens.size18)
|
||||
.background(
|
||||
color = Color.White,
|
||||
shape = CircleShape,
|
||||
),
|
||||
contentAlignment = Alignment.Center,
|
||||
) {
|
||||
Icon(
|
||||
modifier = Modifier.padding(all = (0.5).dp),
|
||||
painter = painterResource(id = R.drawable.ic_check_circle_18),
|
||||
tint = TangemTheme.colors.icon.accent,
|
||||
contentDescription = null,
|
||||
when {
|
||||
isChecked -> {
|
||||
CheckedWalletMark(
|
||||
modifier = Modifier.matchParentSize(),
|
||||
)
|
||||
}
|
||||
isSelected -> {
|
||||
SelectedWalletBadge(
|
||||
modifier = Modifier.align(Alignment.TopEnd),
|
||||
)
|
||||
}
|
||||
}
|
||||
|
|
@ -308,4 +301,42 @@ private fun CardImageShimmer(
|
|||
.background(TangemTheme.colors.button.secondary),
|
||||
)
|
||||
}
|
||||
}
|
||||
|
||||
@Composable
|
||||
private fun SelectedWalletBadge(
|
||||
modifier: Modifier = Modifier,
|
||||
) {
|
||||
Box(
|
||||
modifier = modifier
|
||||
.size(TangemTheme.dimens.size18)
|
||||
.background(
|
||||
color = Color.White,
|
||||
shape = CircleShape,
|
||||
),
|
||||
contentAlignment = Alignment.Center,
|
||||
) {
|
||||
Icon(
|
||||
modifier = Modifier.padding(all = (0.5).dp),
|
||||
painter = painterResource(id = R.drawable.ic_check_circle_18),
|
||||
tint = TangemTheme.colors.icon.accent,
|
||||
contentDescription = null,
|
||||
)
|
||||
}
|
||||
}
|
||||
|
||||
@Composable
|
||||
private fun CheckedWalletMark(
|
||||
modifier: Modifier = Modifier,
|
||||
) {
|
||||
Box(
|
||||
modifier = modifier,
|
||||
contentAlignment = Alignment.Center,
|
||||
) {
|
||||
Icon(
|
||||
painter = painterResource(id = R.drawable.ic_check_24),
|
||||
tint = TangemTheme.colors.icon.primary2,
|
||||
contentDescription = null,
|
||||
)
|
||||
}
|
||||
}
|
||||
Loading…
Add table
Add a link
Reference in a new issue