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)