change the click management on status summary
This commit is contained in:
		
							parent
							
								
									a73a352004
								
							
						
					
					
						commit
						38ae516704
					
				
					 2 changed files with 11 additions and 18 deletions
				
			
		| 
						 | 
					@ -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,
 | 
				
			||||||
| 
						 | 
					
 | 
				
			||||||
| 
						 | 
					@ -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 {
 | 
				
			||||||
| 
						 | 
					
 | 
				
			||||||
		Loading…
	
	Add table
		Add a link
		
	
		Reference in a new issue