diff --git a/app/src/main/kotlin/com/wisp/app/ui/component/DmBubble.kt b/app/src/main/kotlin/com/wisp/app/ui/component/DmBubble.kt index f35b9a8..69dd912 100644 --- a/app/src/main/kotlin/com/wisp/app/ui/component/DmBubble.kt +++ b/app/src/main/kotlin/com/wisp/app/ui/component/DmBubble.kt @@ -200,6 +200,7 @@ fun DmBubble( modifier = Modifier.weight(1f, fill = isSent), contentAlignment = if (isSent) Alignment.BottomEnd else Alignment.BottomStart ) { + val bubbleMaxWidth = maxWidth @OptIn(ExperimentalFoundationApi::class) Box( modifier = Modifier @@ -221,13 +222,11 @@ fun DmBubble( ) { Column( modifier = Modifier - .width(IntrinsicSize.Max) .padding(horizontal = 12.dp, vertical = 8.dp) ) { // Header row: sender name + timestamp (received messages only) if (!isSent) { Row( - modifier = Modifier.fillMaxWidth(), verticalAlignment = Alignment.CenterVertically, horizontalArrangement = Arrangement.spacedBy(4.dp) ) { @@ -238,7 +237,7 @@ fun DmBubble( color = MaterialTheme.colorScheme.primary, maxLines = 1, overflow = TextOverflow.Ellipsis, - modifier = Modifier.weight(1f) + modifier = Modifier.widthIn(max = bubbleMaxWidth - 96.dp) ) Text( text = formatTime(message.createdAt), diff --git a/app/src/main/kotlin/com/wisp/app/ui/screen/GroupRoomScreen.kt b/app/src/main/kotlin/com/wisp/app/ui/screen/GroupRoomScreen.kt index 9137420..b7bb91a 100644 --- a/app/src/main/kotlin/com/wisp/app/ui/screen/GroupRoomScreen.kt +++ b/app/src/main/kotlin/com/wisp/app/ui/screen/GroupRoomScreen.kt @@ -1346,6 +1346,7 @@ private fun GroupMessageBubble( modifier = Modifier.weight(1f, fill = isOwnMessage), contentAlignment = if (isOwnMessage) Alignment.BottomEnd else Alignment.BottomStart ) { + val bubbleMaxWidth = maxWidth Surface( shape = if (isOwnMessage) RoundedCornerShape(topStart = 16.dp, topEnd = 16.dp, bottomEnd = 4.dp, bottomStart = 16.dp) @@ -1359,13 +1360,11 @@ private fun GroupMessageBubble( ) { Column( modifier = Modifier - .width(IntrinsicSize.Max) .padding(horizontal = 12.dp, vertical = 8.dp) ) { // Header row hidden for own messages if (!isOwnMessage) { Row( - modifier = Modifier.fillMaxWidth(), verticalAlignment = Alignment.CenterVertically, horizontalArrangement = Arrangement.spacedBy(4.dp) ) { @@ -1375,7 +1374,7 @@ private fun GroupMessageBubble( color = nameColor, maxLines = 1, overflow = TextOverflow.Ellipsis, - modifier = Modifier.weight(1f) + modifier = Modifier.widthIn(max = bubbleMaxWidth - 96.dp) ) if (hasZaps) { Text(