From 09b3d3be8a2a3094189ed68eb2a4ed4373bf7b94 Mon Sep 17 00:00:00 2001 From: davotoula Date: Sat, 28 Mar 2026 16:45:00 +0100 Subject: [PATCH] =?UTF-8?q?1.=20Merged=20main=20=E2=80=94=20Picked=20up=20?= =?UTF-8?q?missing=20vanish=20string=20resources=202.=20ShortNotePostViewM?= =?UTF-8?q?odel.kt=20=E2=80=94=20Added=20messageState/forwardZapToEditting?= =?UTF-8?q?State=20fields=20and=20removed=20stale=20override=20keywords=20?= =?UTF-8?q?to=20match=20updated=20IMessageField/IZapField=20interfaces=203?= =?UTF-8?q?.=20ChatNewMessageViewModel.kt=20=E2=80=94=20Same=20pattern:=20?= =?UTF-8?q?added=20messageState,=20forwardZapToEdittingState,=20toUsersSta?= =?UTF-8?q?te,=20subjectState=20fields=20and=20removed=20stale=20override?= =?UTF-8?q?=20keywords?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../chats/privateDM/send/ChatNewMessageViewModel.kt | 10 +++++++--- .../ui/screen/loggedIn/home/ShortNotePostViewModel.kt | 7 +++++-- 2 files changed, 12 insertions(+), 5 deletions(-) diff --git a/amethyst/src/main/java/com/vitorpamplona/amethyst/ui/screen/loggedIn/chats/privateDM/send/ChatNewMessageViewModel.kt b/amethyst/src/main/java/com/vitorpamplona/amethyst/ui/screen/loggedIn/chats/privateDM/send/ChatNewMessageViewModel.kt index 13130e854f..66d2a82fda 100644 --- a/amethyst/src/main/java/com/vitorpamplona/amethyst/ui/screen/loggedIn/chats/privateDM/send/ChatNewMessageViewModel.kt +++ b/amethyst/src/main/java/com/vitorpamplona/amethyst/ui/screen/loggedIn/chats/privateDM/send/ChatNewMessageViewModel.kt @@ -21,6 +21,7 @@ package com.vitorpamplona.amethyst.ui.screen.loggedIn.chats.privateDM.send import android.content.Context +import androidx.compose.foundation.text.input.TextFieldState import androidx.compose.runtime.Stable import androidx.compose.runtime.getValue import androidx.compose.runtime.mutableLongStateOf @@ -107,7 +108,6 @@ import kotlinx.coroutines.flow.collectLatest import kotlinx.coroutines.flow.combine import kotlinx.coroutines.flow.emitAll import kotlinx.coroutines.flow.flowOn -import kotlinx.coroutines.flow.map import kotlinx.coroutines.flow.mapNotNull import kotlinx.coroutines.flow.onCompletion import kotlinx.coroutines.flow.onStart @@ -204,7 +204,8 @@ class ChatNewMessageViewModel : var uploadsWaitingToBeSent by mutableStateOf>(emptyList()) - override var message by mutableStateOf(TextFieldValue("")) + override val messageState = TextFieldState() + var message by mutableStateOf(TextFieldValue("")) val urlPreviews = PreviewState() @@ -217,7 +218,9 @@ class ChatNewMessageViewModel : var emojiSuggestions: EmojiSuggestionState? = null var toUsers by mutableStateOf(TextFieldValue("")) + val toUsersState = TextFieldState() var subject by mutableStateOf(TextFieldValue("")) + val subjectState = TextFieldState() // Invoices var canAddInvoice by mutableStateOf(false) @@ -229,6 +232,7 @@ class ChatNewMessageViewModel : var wantsForwardZapTo by mutableStateOf(false) override val forwardZapTo = mutableStateOf>(SplitBuilder()) override val forwardZapToEditting = mutableStateOf(TextFieldValue("")) + override val forwardZapToEdittingState = TextFieldState() // NSFW, Sensitive var wantsToMarkAsSensitive by mutableStateOf(false) @@ -671,7 +675,7 @@ class ChatNewMessageViewModel : updateMessage(TextFieldValue(message.text + " " + it)) } - override fun updateMessage(newMessage: TextFieldValue) { + fun updateMessage(newMessage: TextFieldValue) { message = newMessage urlPreviews.update(newMessage) diff --git a/amethyst/src/main/java/com/vitorpamplona/amethyst/ui/screen/loggedIn/home/ShortNotePostViewModel.kt b/amethyst/src/main/java/com/vitorpamplona/amethyst/ui/screen/loggedIn/home/ShortNotePostViewModel.kt index 11601d54c1..98b697fddf 100644 --- a/amethyst/src/main/java/com/vitorpamplona/amethyst/ui/screen/loggedIn/home/ShortNotePostViewModel.kt +++ b/amethyst/src/main/java/com/vitorpamplona/amethyst/ui/screen/loggedIn/home/ShortNotePostViewModel.kt @@ -21,6 +21,7 @@ package com.vitorpamplona.amethyst.ui.screen.loggedIn.home import android.content.Context +import androidx.compose.foundation.text.input.TextFieldState import androidx.compose.runtime.Stable import androidx.compose.runtime.getValue import androidx.compose.runtime.mutableLongStateOf @@ -183,7 +184,8 @@ open class ShortNotePostViewModel : val iMetaAttachments = IMetaAttachments() var nip95attachments by mutableStateOf>>(emptyList()) - override var message by mutableStateOf(TextFieldValue("")) + override val messageState = TextFieldState() + var message by mutableStateOf(TextFieldValue("")) val urlPreviews = PreviewState() @@ -266,6 +268,7 @@ open class ShortNotePostViewModel : var wantsForwardZapTo by mutableStateOf(false) override var forwardZapTo = mutableStateOf>(SplitBuilder()) override var forwardZapToEditting = mutableStateOf(TextFieldValue("")) + override val forwardZapToEdittingState = TextFieldState() // NSFW, Sensitive var wantsToMarkAsSensitive by mutableStateOf(false) @@ -1107,7 +1110,7 @@ open class ShortNotePostViewModel : updateMessage(TextFieldValue(message.text + " " + it)) } - override fun updateMessage(newMessage: TextFieldValue) { + open fun updateMessage(newMessage: TextFieldValue) { message = newMessage urlPreviews.update(message)