android: refine message bubble shapes and parity checklist
Some checks failed
CI / test (push) Failing after 2m11s
Some checks failed
CI / test (push) Failing after 2m11s
This commit is contained in:
@@ -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.
|
||||
|
||||
@@ -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(
|
||||
|
||||
@@ -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 (обои в фоне, читабельный контраст поверх).
|
||||
|
||||
Reference in New Issue
Block a user