Заготовка
This commit is contained in:
@@ -2,6 +2,8 @@ package chats.domain.model
|
||||
|
||||
import androidx.compose.runtime.Immutable
|
||||
|
||||
import chats.domain.model.MessageStatus
|
||||
|
||||
@Immutable
|
||||
data class Message(
|
||||
val id: String,
|
||||
@@ -19,7 +21,8 @@ data class Message(
|
||||
val isPinned: Boolean = false,
|
||||
val isForwarded: Boolean = false,
|
||||
val forwardedFromName: String? = null,
|
||||
val replyTo: Message? = null
|
||||
val replyTo: Message? = null,
|
||||
val status: MessageStatus = MessageStatus.SENT // Новое поле для офлайн-статуса
|
||||
)
|
||||
|
||||
@Immutable
|
||||
|
||||
@@ -0,0 +1,30 @@
|
||||
package chats.domain.model
|
||||
|
||||
/**
|
||||
* Статусы сообщения для отображения в UI и синхронизации
|
||||
*/
|
||||
enum class MessageStatus {
|
||||
/** Сообщение создано локально, ожидает отправки */
|
||||
PENDING,
|
||||
|
||||
/** Начата отправка на сервер */
|
||||
SENDING,
|
||||
|
||||
/** Сообщение успешно отправлено на сервер */
|
||||
SENT,
|
||||
|
||||
/** Сообщение доставлено получателю */
|
||||
DELIVERED,
|
||||
|
||||
/** Сообщение прочитано получателем */
|
||||
READ,
|
||||
|
||||
/** Ошибка отправки */
|
||||
FAILED,
|
||||
|
||||
/** Удалено локально */
|
||||
DELETED,
|
||||
|
||||
/** Неизвестный статус */
|
||||
UNKNOWN
|
||||
}
|
||||
Reference in New Issue
Block a user