change the click management on status summary

This commit is contained in:
Thomas Andres Gomez 2024-01-05 17:09:40 +01:00
parent a73a352004
commit 38ae516704
2 changed files with 11 additions and 18 deletions

View file

@ -15,7 +15,6 @@ import androidx.compose.foundation.layout.padding
import androidx.compose.foundation.layout.size import androidx.compose.foundation.layout.size
import androidx.compose.foundation.shape.CutCornerShape import androidx.compose.foundation.shape.CutCornerShape
import androidx.compose.foundation.shape.RoundedCornerShape import androidx.compose.foundation.shape.RoundedCornerShape
import androidx.compose.material.minimumInteractiveComponentSize
import androidx.compose.material3.Divider import androidx.compose.material3.Divider
import androidx.compose.material3.Icon import androidx.compose.material3.Icon
import androidx.compose.material3.MaterialTheme import androidx.compose.material3.MaterialTheme
@ -182,9 +181,15 @@ fun SummaryIcon(
@DrawableRes icon: Int?, @DrawableRes icon: Int?,
onClick: () -> Unit, onClick: () -> Unit,
) { ) {
val localModifier = remember(icon) {
if (icon != null) {
Modifier.clickable(onClick = onClick)
} else {
Modifier
}
}
Box( Box(
modifier = Modifier modifier = localModifier
.clickable(enabled = icon != null, onClick = onClick)
.size(size = MaterialTheme.lexicon.dimens.summary.cell) .size(size = MaterialTheme.lexicon.dimens.summary.cell)
.then(other = modifier), .then(other = modifier),
contentAlignment = Alignment.Center, contentAlignment = Alignment.Center,

View file

@ -95,15 +95,6 @@ fun StatisticSummary(
onStatus: (Boolean) -> Unit, onStatus: (Boolean) -> Unit,
onAlteration: (StatusSummaryUio.Status) -> Unit, onAlteration: (StatusSummaryUio.Status) -> Unit,
) { ) {
val density = LocalDensity.current
val headerSize = remember {
mutableStateOf(IntSize.Zero)
}
val headerHeight = remember {
derivedStateOf { with(density) { headerSize.value.height.toDp() - 24.dp } }
}
Box( Box(
modifier = Modifier modifier = Modifier
.padding(horizontal = 16.dp) .padding(horizontal = 16.dp)
@ -113,10 +104,8 @@ fun StatisticSummary(
modifier = Modifier.verticalScroll(state = scrollState), modifier = Modifier.verticalScroll(state = scrollState),
verticalArrangement = Arrangement.spacedBy(space = 8.dp), verticalArrangement = Arrangement.spacedBy(space = 8.dp),
) { ) {
Spacer(
modifier = Modifier.height(height = headerHeight.value),
)
AnimatedVisibility( AnimatedVisibility(
modifier = Modifier.padding(top = 96.dp + 8.dp),
visible = summary.statsVisibility.value, visible = summary.statsVisibility.value,
enter = enterTransition(), enter = enterTransition(),
) { ) {
@ -199,7 +188,6 @@ fun StatisticSummary(
AnimatedVisibility( AnimatedVisibility(
modifier = Modifier modifier = Modifier
.fillMaxWidth() .fillMaxWidth()
.onSizeChanged { headerSize.value = it }
.background(brush = rememberHeaderBackgroundGradient()) .background(brush = rememberHeaderBackgroundGradient())
.padding(bottom = 16.dp, end = 3.dp), .padding(bottom = 16.dp, end = 3.dp),
visible = summary.headerVisibility.value, visible = summary.headerVisibility.value,
@ -237,8 +225,8 @@ private fun rememberHeaderBackgroundGradient(): Brush {
} }
@Composable @Composable
@Preview(uiMode = Configuration.UI_MODE_NIGHT_NO, heightDp = 2000) @Preview(uiMode = Configuration.UI_MODE_NIGHT_NO, heightDp = 1800)
@Preview(uiMode = Configuration.UI_MODE_NIGHT_YES, heightDp = 2000) @Preview(uiMode = Configuration.UI_MODE_NIGHT_YES, heightDp = 1800)
fun StatisticSummaryPreview() { fun StatisticSummaryPreview() {
LexiconTheme { LexiconTheme {
Surface { Surface {