feat: improve patch card

This commit is contained in:
Canny 2022-12-15 20:30:42 +03:00
parent 74318f30fb
commit 45829d00bb
No known key found for this signature in database
GPG Key ID: 395CCB0AA979F27B

View File

@ -34,30 +34,21 @@ fun PatchCard(patchClass: PatchClass, isSelected: Boolean, onSelected: () -> Uni
enabled = !patchClass.unsupported, enabled = !patchClass.unsupported,
onClick = onSelected onClick = onSelected
) { ) {
Column(modifier = Modifier.padding(12.dp, 0.dp, 12.dp, 12.dp)) { Column(modifier = Modifier.padding(16.dp, 12.dp, 16.dp, 16.dp)) {
Row { Row(
Column( verticalAlignment = Alignment.CenterVertically
Modifier
.align(Alignment.CenterVertically)
) { ) {
Text( Text(
text = name.replace("-", " ").split(" ") text = name.replace("-", " ").split(" ")
.joinToString(" ") { it.replaceFirstChar(Char::uppercase) }, .joinToString(" ") { it.replaceFirstChar(Char::uppercase) },
style = MaterialTheme.typography.titleMedium style = MaterialTheme.typography.titleMedium
) )
}
Spacer(Modifier.width(4.dp)) Spacer(Modifier.width(4.dp))
Row(
Modifier
.align(Alignment.CenterVertically)
) {
Text( Text(
text = patch.version ?: "unknown", text = patch.version ?: "unknown",
style = Typography.bodySmall style = Typography.bodySmall
) )
}
Spacer(Modifier.weight(1f, true)) Spacer(Modifier.weight(1f, true))
Column(modifier = Modifier.padding(0.dp, 6.dp)) {
Row( Row(
horizontalArrangement = Arrangement.SpaceBetween, horizontalArrangement = Arrangement.SpaceBetween,
verticalAlignment = Alignment.CenterVertically, verticalAlignment = Alignment.CenterVertically,
@ -83,16 +74,16 @@ fun PatchCard(patchClass: PatchClass, isSelected: Boolean, onSelected: () -> Uni
} }
} }
} }
}
var isExpanded by remember { mutableStateOf(false) } var isExpanded by remember { mutableStateOf(false) }
patch.description?.let { desc -> patch.description?.let { desc ->
Text( Text(
text = desc, text = desc,
modifier = Modifier modifier = Modifier
.padding(0.dp, 8.dp, 22.dp, 8.dp) .padding(0.dp, 4.dp, 30.dp, 4.dp)
.clickable { isExpanded = !isExpanded }, .clickable { isExpanded = !isExpanded },
maxLines = if (isExpanded) Int.MAX_VALUE else 1, maxLines = if (isExpanded) Int.MAX_VALUE else 1,
overflow = TextOverflow.Ellipsis, overflow = TextOverflow.Ellipsis,
softWrap = true,
style = MaterialTheme.typography.bodyMedium style = MaterialTheme.typography.bodyMedium
) )
} }