Белый цвет даты и пустого стейта при обоях, фикс обрезки имени в группах

- dateHeader и empty state текст белые при тёмной теме или обоях
- Увеличена минимальная ширина бабла для групповых сообщений
- Медиа-бабл расширяется для имени отправителя в группе

Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
This commit is contained in:
2026-03-16 21:26:03 +07:00
parent 9e7a2e4998
commit d5b6ca3a7e
2 changed files with 13 additions and 8 deletions

View File

@@ -210,7 +210,7 @@ fun ChatDetailScreen(
val chatWallpaperResId = remember(chatWallpaperId) { ThemeWallpapers.drawableResOrNull(chatWallpaperId) }
val textColor = if (isDarkTheme) Color.White else Color.Black
val secondaryTextColor = if (isDarkTheme) Color(0xFF8E8E93) else Color(0xFF8E8E93)
val dateHeaderTextColor = if (isDarkTheme) Color.White else secondaryTextColor
val dateHeaderTextColor = if (isDarkTheme || chatWallpaperResId != null) Color.White else secondaryTextColor
val headerIconColor = Color.White
// 🔥 Keyboard & Emoji Coordinator
@@ -2399,7 +2399,7 @@ fun ChatDetailScreen(
"No messages yet",
fontSize = 16.sp,
color =
secondaryTextColor,
dateHeaderTextColor,
fontWeight =
FontWeight
.Medium
@@ -2419,7 +2419,7 @@ fun ChatDetailScreen(
"Send a message to start the conversation",
fontSize = 14.sp,
color =
secondaryTextColor
dateHeaderTextColor
.copy(
alpha =
0.7f

View File

@@ -752,18 +752,23 @@ fun MessageBubble(
280.dp
}
val hasGroupSenderName = showGroupSenderLabel && !message.isOutgoing && senderName.isNotBlank()
val bubbleWidthModifier =
if (isSafeSystemMessage) {
Modifier.widthIn(min = 220.dp, max = 320.dp)
} else if (isStandaloneGroupInvite) {
Modifier.widthIn(min = 180.dp, max = 260.dp)
} else if (hasImageWithCaption || hasOnlyMedia) {
Modifier.width(
photoWidth
) // 🔥 Фиксированная ширина = размер фото (убирает лишний
// отступ)
if (hasGroupSenderName) {
Modifier.widthIn(min = photoWidth)
} else {
Modifier.width(
photoWidth
) // 🔥 Фиксированная ширина = размер фото (убирает лишний
// отступ)
}
} else {
Modifier.widthIn(min = 60.dp, max = 280.dp)
Modifier.widthIn(min = if (hasGroupSenderName) 120.dp else 60.dp, max = 280.dp)
}
Box(