diff --git a/app/src/main/java/chat/vojo/proxy/ui/ConnectionScreen.kt b/app/src/main/java/chat/vojo/proxy/ui/ConnectionScreen.kt index 642806a..f0a32ac 100644 --- a/app/src/main/java/chat/vojo/proxy/ui/ConnectionScreen.kt +++ b/app/src/main/java/chat/vojo/proxy/ui/ConnectionScreen.kt @@ -17,6 +17,8 @@ import androidx.compose.foundation.layout.Box import androidx.compose.foundation.layout.Column import androidx.compose.foundation.layout.Row import androidx.compose.foundation.layout.Spacer +import androidx.compose.foundation.layout.IntrinsicSize +import androidx.compose.foundation.layout.defaultMinSize import androidx.compose.foundation.layout.fillMaxHeight import androidx.compose.foundation.layout.fillMaxSize import androidx.compose.foundation.layout.fillMaxWidth @@ -724,7 +726,10 @@ private fun RailRow( drawBottom: Boolean, pulse: Boolean, ) { - Row(Modifier.fillMaxWidth().height(if (sub.isNullOrBlank()) 42.dp else 50.dp)) { + // Height follows the content so a long label/detail WRAPS instead of being clipped. + // IntrinsicSize.Min lets the rail line (fillMaxHeight) stretch to whatever the wrapped + // text needs; the text column's defaultMinSize keeps the old rhythm for short rows. + Row(Modifier.fillMaxWidth().height(IntrinsicSize.Min)) { Text( time, Modifier.width(50.dp).padding(end = 12.dp, top = 3.dp), @@ -746,14 +751,19 @@ private fun RailRow( RailDot(color, pulse, Modifier.align(Alignment.TopCenter).padding(top = 2.dp)) } Spacer(Modifier.width(14.dp)) - Column { + Column( + Modifier + .weight(1f) + .defaultMinSize(minHeight = if (sub.isNullOrBlank()) 42.dp else 50.dp) + .padding(bottom = 6.dp), + ) { Text( label, color = if (error) Vojo.danger else Vojo.text, - fontSize = 14.5.sp, fontWeight = FontWeight.Medium, maxLines = 1, overflow = TextOverflow.Ellipsis, + fontSize = 14.5.sp, fontWeight = FontWeight.Medium, ) if (!sub.isNullOrBlank()) { - Text(sub, color = Vojo.muted, fontFamily = Vojo.mono, fontSize = 12.sp, maxLines = 1, overflow = TextOverflow.Ellipsis) + Text(sub, color = Vojo.muted, fontFamily = Vojo.mono, fontSize = 12.sp) } } }