diff --git a/app/src/main/kotlin/com/shonar/desktop/Screens.kt b/app/src/main/kotlin/com/shonar/desktop/Screens.kt index 7b3e4a7..a990ad2 100644 --- a/app/src/main/kotlin/com/shonar/desktop/Screens.kt +++ b/app/src/main/kotlin/com/shonar/desktop/Screens.kt @@ -1366,13 +1366,22 @@ fun SettingsScreen(state: DesktopState) { @Composable fun PipelinePanel(p: PipelineUi) { SonarCard(modifier = Modifier.fillMaxWidth()) { + // SonarCard's Surface places un-wrapped siblings in a Box — without + // this Column every row stacked on top of the headline (the + // "text overlapping while summarizing" garble). + Column( + modifier = Modifier.fillMaxWidth().padding(Shonar.CardPadding), + verticalArrangement = Arrangement.spacedBy(Shonar.Space1), + ) { Row( modifier = Modifier.fillMaxWidth(), horizontalArrangement = Arrangement.SpaceBetween, verticalAlignment = Alignment.CenterVertically, ) { Text(p.headline, style = MaterialTheme.typography.titleSmall, - color = MaterialTheme.colorScheme.primary) + color = MaterialTheme.colorScheme.primary, + modifier = Modifier.weight(1f, fill = false), + maxLines = 1, overflow = TextOverflow.Ellipsis) Text( buildString { p.elapsedSec?.let { append("${DesktopState.fmtMMSS(it)} elapsed") } @@ -1427,5 +1436,6 @@ fun PipelinePanel(p: PipelineUi) { ) } } + } } }