refactor: improve layout for speed preferences

This commit is contained in:
Antoine Jaury
2026-10-19 14:40:03 +02:00
parent 0d42413136
commit 0add1176db
2 changed files with 21 additions and 2 deletions
@@ -61,18 +61,23 @@ fun LabeledSlider(
) { ) {
Row( Row(
modifier = Modifier.fillMaxWidth(), modifier = Modifier.fillMaxWidth(),
horizontalArrangement = Arrangement.SpaceBetween, horizontalArrangement = Arrangement.spacedBy(16.dp),
verticalAlignment = Alignment.CenterVertically, verticalAlignment = Alignment.CenterVertically,
) { ) {
// The title takes the remaining width and wraps if needed, so the value always keeps
// its full width on a single line.
Text( Text(
text = title, text = title,
style = MaterialTheme.typography.titleMedium, style = MaterialTheme.typography.titleMedium,
color = MaterialTheme.colorScheme.onSurface.copy(alpha = contentAlpha), color = MaterialTheme.colorScheme.onSurface.copy(alpha = contentAlpha),
modifier = Modifier.weight(1f),
) )
Text( Text(
text = valueLabel, text = valueLabel,
style = MaterialTheme.typography.titleMedium, style = MaterialTheme.typography.titleMedium,
color = MaterialTheme.colorScheme.primary.copy(alpha = contentAlpha), color = MaterialTheme.colorScheme.primary.copy(alpha = contentAlpha),
maxLines = 1,
softWrap = false,
) )
} }
Slider( Slider(
@@ -110,6 +115,20 @@ private fun LabeledSliderPreview() {
} }
} }
@Preview(widthDp = 200)
@Composable
private fun LabeledSliderLongTitlePreview() {
MaterialTheme {
LabeledSlider(
title = "Break between phrases",
valueLabel = "3 s",
value = 3f,
valueRange = 0f..5f,
steps = 4,
)
}
}
@Preview @Preview
@Composable @Composable
private fun LabeledSliderDisabledPreview() { private fun LabeledSliderDisabledPreview() {