fix: fix message bubble

This commit is contained in:
k1ngsterr1
2026-02-03 05:01:23 +05:00
parent 3953f66986
commit fa22c2dccd

View File

@@ -80,7 +80,8 @@ fun TelegramStyleMessageContent(
textContent: @Composable () -> Unit,
timeContent: @Composable () -> Unit,
modifier: Modifier = Modifier,
spacing: Int = 10
spacing: Int = 10,
fillWidth: Boolean = false // 🔥 Если true - время всегда справа на всю ширину контейнера
) {
val density = LocalDensity.current
val spacingPx = with(density) { spacing.dp.roundToPx() }
@@ -115,7 +116,14 @@ fun TelegramStyleMessageContent(
// Определяем layout
val (width, height, timeX, timeY) =
if (!textWraps && totalSingleLineWidth <= constraints.maxWidth) {
if (fillWidth) {
// 🔥 Для caption - занимаем всю доступную ширину, время справа на одной линии
val w = constraints.maxWidth
val h = maxOf(textPlaceable.height, timePlaceable.height)
val tX = w - timeWidth // Время справа
val tY = h - timePlaceable.height // Время внизу строки (выровнено по baseline)
LayoutResult(w, h, tX, tY)
} else if (!textWraps && totalSingleLineWidth <= constraints.maxWidth) {
// Текст и время на одной строке
val w = totalSingleLineWidth
val h = maxOf(textPlaceable.height, timePlaceable.height)
@@ -584,6 +592,7 @@ fun MessageBubble(
Box(
modifier =
Modifier
.fillMaxWidth() // 🔥 Растягиваем на ширину фото для правильного позиционирования времени
.background(bubbleColor)
.padding(
start = captionPaddingStart,
@@ -627,7 +636,8 @@ fun MessageBubble(
}
}
},
spacing = 8
spacing = 8,
fillWidth = true // 🔥 Время справа на всю ширину фото
)
}
} else if (message.attachments.isNotEmpty() && message.text.isNotEmpty()) {