Меню для сообщений

This commit is contained in:
Халимов Рустам
2026-04-17 23:44:11 +03:00
parent ed7521a563
commit 754e9e8ad0
10 changed files with 277 additions and 73 deletions
@@ -42,7 +42,8 @@ data class ChatDetailState(
val isUploading: Boolean = false,
val isCompressionEnabled: Boolean = true,
val inputText: String = "",
val replyingMessage: Message? = null
val replyingMessage: Message? = null,
val selectedMessageIds: Set<String> = emptySet()
)
@HiltViewModel
@@ -312,6 +313,21 @@ class ChatDetailViewModel @Inject constructor(
_state.update { it.copy(replyingMessage = message) }
}
fun toggleSelection(messageId: String) {
_state.update { s ->
val newSelection = if (s.selectedMessageIds.contains(messageId)) {
s.selectedMessageIds - messageId
} else {
s.selectedMessageIds + messageId
}
s.copy(selectedMessageIds = newSelection)
}
}
fun clearSelection() {
_state.update { it.copy(selectedMessageIds = emptySet()) }
}
fun cancelReply() {
_state.update { it.copy(replyingMessage = null) }
}