From 79d3eb78b0c063fc63e116044d066d157432376c Mon Sep 17 00:00:00 2001 From: machiav3lli Date: Sun, 18 Sep 2022 15:43:49 +0200 Subject: [PATCH] Update: Revamp Repos' layout --- .../ui/compose/components/RespositoryItem.kt | 61 ++++++++----------- 1 file changed, 27 insertions(+), 34 deletions(-) diff --git a/src/main/kotlin/com/machiav3lli/fdroid/ui/compose/components/RespositoryItem.kt b/src/main/kotlin/com/machiav3lli/fdroid/ui/compose/components/RespositoryItem.kt index ec283697..f463771f 100644 --- a/src/main/kotlin/com/machiav3lli/fdroid/ui/compose/components/RespositoryItem.kt +++ b/src/main/kotlin/com/machiav3lli/fdroid/ui/compose/components/RespositoryItem.kt @@ -15,6 +15,7 @@ import androidx.compose.material3.Icon import androidx.compose.material3.MaterialTheme import androidx.compose.material3.Surface import androidx.compose.material3.Text +import androidx.compose.material3.surfaceColorAtElevation import androidx.compose.runtime.Composable import androidx.compose.runtime.getValue import androidx.compose.runtime.mutableStateOf @@ -38,7 +39,7 @@ fun RepositoryItem( mutableStateOf(repository.enabled) } val backgroundColor by animateColorAsState( - targetValue = if (isEnabled) MaterialTheme.colorScheme.primaryContainer + targetValue = if (isEnabled) MaterialTheme.colorScheme.surfaceColorAtElevation(32.dp) else MaterialTheme.colorScheme.background ) @@ -55,7 +56,7 @@ fun RepositoryItem( onLongClick = { onLongClick(repository) } ), color = backgroundColor, - shape = MaterialTheme.shapes.extraLarge + shape = MaterialTheme.shapes.large ) { Row( modifier = Modifier.padding( @@ -65,44 +66,36 @@ fun RepositoryItem( horizontalArrangement = Arrangement.SpaceBetween, verticalAlignment = Alignment.CenterVertically ) { - RepositoryItemText( - repositoryName = repository.name, - repositoryDescription = repository.description - ) + + Column( + modifier = modifier.fillMaxWidth(0.9f), + horizontalAlignment = Alignment.Start, + verticalArrangement = Arrangement.spacedBy(8.dp) + ) { + Text( + text = repository.name.trim(), + style = MaterialTheme.typography.titleMedium, + color = if (isEnabled) MaterialTheme.colorScheme.onPrimaryContainer + else MaterialTheme.colorScheme.onSurface, + maxLines = 1 + ) + repository.description.trim().let { + Text( + text = it, + style = MaterialTheme.typography.bodyMedium, + overflow = TextOverflow.Ellipsis, + color = MaterialTheme.colorScheme.onSurfaceVariant, + maxLines = 1 + ) + } + } AnimatedVisibility(visible = isEnabled) { Icon( imageVector = Icons.Default.Done, + tint = MaterialTheme.colorScheme.primary, contentDescription = "Repository Enabled" ) } } } -} - -@Composable -private fun RepositoryItemText( - modifier: Modifier = Modifier, - repositoryName: String, - repositoryDescription: String? -) { - Column( - modifier = modifier.fillMaxWidth(0.9f), - horizontalAlignment = Alignment.Start, - verticalArrangement = Arrangement.spacedBy(8.dp) - ) { - Text( - text = repositoryName.trim(), - style = MaterialTheme.typography.titleMedium, - maxLines = 1 - ) - repositoryDescription?.trim()?.let { - Text( - text = it, - style = MaterialTheme.typography.bodyMedium, - overflow = TextOverflow.Ellipsis, - color = MaterialTheme.colorScheme.onSurfaceVariant, - maxLines = 1 - ) - } - } } \ No newline at end of file