Нормальный чат

This commit is contained in:
Халимов Рустам
2026-04-15 01:30:48 +03:00
parent 487cb1b12b
commit dcb733ac01
9 changed files with 20 additions and 24 deletions
@@ -40,7 +40,8 @@ data class ChatDetailState(
val initialScrollIndex: Int? = null,
val pendingAttachments: List<File> = emptyList(),
val isUploading: Boolean = false,
val isCompressionEnabled: Boolean = true
val isCompressionEnabled: Boolean = true,
val inputText: String = ""
)
@HiltViewModel
@@ -277,11 +278,19 @@ class ChatDetailViewModel @Inject constructor(
}
}
fun sendMessage(text: String, onFail: (String) -> Unit = {}) {
fun onInputTextChanged(text: String) {
_state.update { it.copy(inputText = text) }
}
fun sendMessage(onFail: (String) -> Unit = {}) {
val chatId = currentChatId ?: return
val text = _state.value.inputText
val pending = _state.value.pendingAttachments
if (text.isBlank() && pending.isEmpty()) return
// Clear input immediately to avoid double clicks and ensure UI experience
_state.update { it.copy(inputText = "") }
val tempId = "temp_${System.currentTimeMillis()}"
val userId = getCurrentUserId()