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

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

View File

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