From 4f187feab2c663162b7f90f2debf4a50305ab130 Mon Sep 17 00:00:00 2001 From: Eric85710 Date: Tue, 26 May 2026 15:09:20 +0800 Subject: [PATCH] dm-43 --- .../Detail/Message_Messaging_ViewModel.kt | 15 ++++++++++++++- 1 file changed, 14 insertions(+), 1 deletion(-) diff --git a/app/src/main/java/com/example/login_v3/home/Message/ViewModel/Detail/Message_Messaging_ViewModel.kt b/app/src/main/java/com/example/login_v3/home/Message/ViewModel/Detail/Message_Messaging_ViewModel.kt index 9e17437..9753152 100644 --- a/app/src/main/java/com/example/login_v3/home/Message/ViewModel/Detail/Message_Messaging_ViewModel.kt +++ b/app/src/main/java/com/example/login_v3/home/Message/ViewModel/Detail/Message_Messaging_ViewModel.kt @@ -48,8 +48,13 @@ class ChatViewModel @Inject constructor( private val tokenManager: TokenManager ) : ViewModel() { + //reply function private val _replyingMessage = MutableStateFlow(null) val replyingMessage: StateFlow = _replyingMessage.asStateFlow() + // ๐Ÿ’ก ๆ–ฐๅขž๏ผš็•ถไฝฟ็”จ่€…้ปž้ธๆŸๆข่จŠๆฏ็š„ใ€Œๅ›ž่ฆ†ใ€ๆŒ‰้ˆ•ๆ™‚ๅ‘ผๅซ + fun setReplyingMessage(message: Message?) { + _replyingMessage.value = message + } //UI state var private val _uiState = MutableStateFlow(MessagesUiState.Loading) @@ -119,10 +124,18 @@ class ChatViewModel @Inject constructor( viewModelScope.launch { _sendMessageState.value = SendMessageState.Loading - val result = repository.sendMessage(roomId, content, replyToId) + // ๐Ÿ’ก ๅ–ๅพ—็•ถๅ‰ๆ˜ฏๅฆๆœ‰ๆญฃๅœจๅ›ž่ฆ†็š„่จŠๆฏ ID + val replyToId = _replyingMessage.value?.id + + val result = repository.sendMessage( + roomId = roomId, + content = content, + replyToId = replyToId + ) result.onSuccess { newMessage -> _sendMessageState.value = SendMessageState.Success(newMessage) + _replyingMessage.value = null // ๐Ÿ˜Žใ€่ถ…่ฎš็š„้ซ”้ฉ—ๅ„ชๅŒ–ใ€‘๏ผš็™ผ้€ๆˆๅŠŸๅพŒ๏ผŒ็›ดๆŽฅๆŠŠๆ–ฐ่จŠๆฏๆ‰‹ๅ‹•ๅกž้€ฒ็พๆœ‰็š„ UI ๅˆ—่กจ่ฃก val currentState = _uiState.value