Fix layout issues

Signed-off-by: denis0001-dev <denis0001.dev@ya.ru>
This commit is contained in:
2026-02-12 13:08:14 +03:00
Unverified
parent 9fa3b31744
commit c6a9e32a48
@@ -11,6 +11,7 @@ import androidx.compose.foundation.gestures.detectTapGestures
import androidx.compose.foundation.isSystemInDarkTheme import androidx.compose.foundation.isSystemInDarkTheme
import androidx.compose.foundation.layout.Arrangement import androidx.compose.foundation.layout.Arrangement
import androidx.compose.foundation.layout.Box import androidx.compose.foundation.layout.Box
import androidx.compose.foundation.layout.BoxWithConstraints
import androidx.compose.foundation.layout.Column import androidx.compose.foundation.layout.Column
import androidx.compose.foundation.layout.IntrinsicSize import androidx.compose.foundation.layout.IntrinsicSize
import androidx.compose.foundation.layout.Row import androidx.compose.foundation.layout.Row
@@ -90,17 +91,21 @@ fun MessageItem(
Spacer(modifier = Modifier.width(8.dp)) Spacer(modifier = Modifier.width(8.dp))
} }
BoxWithConstraints(
modifier = Modifier.weight(1f, fill = false)
) {
// Allow bubbles to grow up to 70% of the available row width
val maxBubbleWidth = maxWidth * 0.7f
Column( Column(
modifier = Modifier
.weight(1f, fill = false)
.widthIn(max = 280.dp),
horizontalAlignment = if (isAuthor) Alignment.End else Alignment.Start horizontalAlignment = if (isAuthor) Alignment.End else Alignment.Start
) { ) {
// Message bubble // Message bubble
val isDark = isSystemInDarkTheme() val isDark = isSystemInDarkTheme()
Box( Box(
modifier = Modifier modifier = Modifier
.width(IntrinsicSize.Min) // Max width: 70% of row, min width: content-driven
.widthIn(max = maxBubbleWidth)
.clip( .clip(
RoundedCornerShape( RoundedCornerShape(
topStart = 20.dp, topStart = 20.dp,
@@ -242,6 +247,7 @@ fun MessageItem(
} }
} }
} }
}
} }
@ExperimentalTime @ExperimentalTime