diff --git a/android/CHANGELOG.md b/android/CHANGELOG.md index f72e9a8..110731e 100644 --- a/android/CHANGELOG.md +++ b/android/CHANGELOG.md @@ -264,3 +264,8 @@ - Added floating rounded bottom navigation container on chat list screen. - Added active tab visual state (Chats selected) with pill styling. - Updated Telegram UI checklists for bottom-nav shell parity (batch 1 and batch 2). + +### Step 44 - Chat UI / bubble density pass +- Updated message bubble shapes for incoming/outgoing messages to denser rounded Telegram-like contours. +- Kept bottom-right time + delivery state rendering in bubble footer after time formatting update. +- Updated Telegram UI batch-2 checklist item for message bubble parity. diff --git a/android/app/src/main/java/ru/daemonlord/messenger/ui/chat/ChatScreen.kt b/android/app/src/main/java/ru/daemonlord/messenger/ui/chat/ChatScreen.kt index ef93138..151ebe6 100644 --- a/android/app/src/main/java/ru/daemonlord/messenger/ui/chat/ChatScreen.kt +++ b/android/app/src/main/java/ru/daemonlord/messenger/ui/chat/ChatScreen.kt @@ -553,6 +553,11 @@ private fun MessageBubble( onLongPress: () -> Unit, ) { val isOutgoing = message.isOutgoing + val bubbleShape = if (isOutgoing) { + RoundedCornerShape(topStart = 16.dp, topEnd = 16.dp, bottomStart = 16.dp, bottomEnd = 6.dp) + } else { + RoundedCornerShape(topStart = 16.dp, topEnd = 16.dp, bottomStart = 6.dp, bottomEnd = 16.dp) + } val bubbleColor = if (isOutgoing) { MaterialTheme.colorScheme.primaryContainer } else { @@ -564,13 +569,14 @@ private fun MessageBubble( modifier = Modifier .fillMaxWidth(0.86f) .background( - if (isSelected) MaterialTheme.colorScheme.tertiaryContainer else bubbleColor + color = if (isSelected) MaterialTheme.colorScheme.tertiaryContainer else bubbleColor, + shape = bubbleShape, ) .combinedClickable( onClick = onClick, onLongClick = onLongPress, ) - .padding(horizontal = 10.dp, vertical = 8.dp), + .padding(horizontal = 10.dp, vertical = 7.dp), ) { if (isSelected) { Text( diff --git a/docs/android-ui-batch-2-checklist.md b/docs/android-ui-batch-2-checklist.md index 3c33100..9540ecf 100644 --- a/docs/android-ui-batch-2-checklist.md +++ b/docs/android-ui-batch-2-checklist.md @@ -10,7 +10,7 @@ - [x] Полупрозрачный rounded input контейнер. - [x] Иконка emoji слева, поле ввода, скрепка, кнопка отправки/голосового. - [x] Корректные отступы от nav bar + IME. -- [ ] Сообщения вход/выход: плотные пузыри, время и delivery статус внизу справа. +- [x] Сообщения вход/выход: плотные пузыри, время и delivery статус внизу справа. - [x] Reply-preview внутри outgoing bubble (вертикальная полоска, автор, snippet). - [x] Forwarded header в сообщении ("Переслано от ...") + мини-аватар. - [x] Поддержка chat wallpaper (обои в фоне, читабельный контраст поверх).