Заготовка
This commit is contained in:
@@ -29,6 +29,7 @@ import androidx.compose.ui.window.Popup
|
||||
import chats.domain.model.Message
|
||||
import chats.domain.model.MediaType
|
||||
import chats.domain.model.Media
|
||||
import chats.domain.model.MessageStatus
|
||||
import coil.compose.AsyncImage
|
||||
import core.presentation.components.AppVideoPlayer
|
||||
import core.presentation.components.AppAudioPlayer
|
||||
@@ -483,12 +484,44 @@ fun MessageBubble(
|
||||
}
|
||||
if (isCurrentUser) {
|
||||
Spacer(modifier = Modifier.width(2.dp))
|
||||
Icon(
|
||||
imageVector = if (message.isRead) Icons.Default.DoneAll else Icons.Default.Done,
|
||||
contentDescription = null,
|
||||
modifier = Modifier.size(12.dp),
|
||||
tint = contentColor.copy(alpha = 0.6f)
|
||||
)
|
||||
// Отображение статуса отправки сообщения
|
||||
when (message.status) {
|
||||
MessageStatus.PENDING -> {
|
||||
// Часы - ожидает отправки
|
||||
Icon(
|
||||
imageVector = Icons.Default.Schedule,
|
||||
contentDescription = "Pending",
|
||||
modifier = Modifier.size(12.dp),
|
||||
tint = contentColor.copy(alpha = 0.6f)
|
||||
)
|
||||
}
|
||||
MessageStatus.SENDING -> {
|
||||
// Круговой индикатор загрузки
|
||||
CircularProgressIndicator(
|
||||
modifier = Modifier.size(10.dp),
|
||||
strokeWidth = 1.5.dp,
|
||||
color = contentColor.copy(alpha = 0.6f)
|
||||
)
|
||||
}
|
||||
MessageStatus.FAILED -> {
|
||||
// Красный крестик - ошибка отправки
|
||||
Icon(
|
||||
imageVector = Icons.Default.Error,
|
||||
contentDescription = "Failed",
|
||||
modifier = Modifier.size(12.dp),
|
||||
tint = Color(0xFFFF5252)
|
||||
)
|
||||
}
|
||||
else -> {
|
||||
// Одна галочка для SENT, две для DELIVERED/READ
|
||||
Icon(
|
||||
imageVector = if (message.status == MessageStatus.READ) Icons.Default.DoneAll else Icons.Default.Done,
|
||||
contentDescription = null,
|
||||
modifier = Modifier.size(12.dp),
|
||||
tint = if (message.status == MessageStatus.READ) Color(0xFF4CAF50) else contentColor.copy(alpha = 0.6f)
|
||||
)
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
} // End of bubble Column
|
||||
|
||||
Reference in New Issue
Block a user