Merge pull request #2051 from vitorpamplona/claude/fix-quote-cursor-position-QOw9L
Fix quote placement to begin at start of message
This commit is contained in:
+2
-1
@@ -36,6 +36,7 @@ import com.vitorpamplona.amethyst.R
|
|||||||
import com.vitorpamplona.amethyst.commons.compose.currentWord
|
import com.vitorpamplona.amethyst.commons.compose.currentWord
|
||||||
import com.vitorpamplona.amethyst.commons.compose.insertUrlAtCursor
|
import com.vitorpamplona.amethyst.commons.compose.insertUrlAtCursor
|
||||||
import com.vitorpamplona.amethyst.commons.compose.replaceCurrentWord
|
import com.vitorpamplona.amethyst.commons.compose.replaceCurrentWord
|
||||||
|
import com.vitorpamplona.amethyst.commons.compose.setTextAndPlaceCursorAtBeginning
|
||||||
import com.vitorpamplona.amethyst.commons.model.nip30CustomEmojis.EmojiPackState
|
import com.vitorpamplona.amethyst.commons.model.nip30CustomEmojis.EmojiPackState
|
||||||
import com.vitorpamplona.amethyst.model.Account
|
import com.vitorpamplona.amethyst.model.Account
|
||||||
import com.vitorpamplona.amethyst.model.LocalCache
|
import com.vitorpamplona.amethyst.model.LocalCache
|
||||||
@@ -244,7 +245,7 @@ open class CommentPostViewModel :
|
|||||||
}
|
}
|
||||||
|
|
||||||
open fun quote(quote: Note) {
|
open fun quote(quote: Note) {
|
||||||
message.setTextAndPlaceCursorAtEnd(message.text.toString() + "\nnostr:${quote.toNEvent()}")
|
message.setTextAndPlaceCursorAtBeginning(message.text.toString() + "\nnostr:${quote.toNEvent()}")
|
||||||
|
|
||||||
quote.author?.let { quotedUser ->
|
quote.author?.let { quotedUser ->
|
||||||
if (quotedUser.pubkeyHex != accountViewModel.userProfile().pubkeyHex) {
|
if (quotedUser.pubkeyHex != accountViewModel.userProfile().pubkeyHex) {
|
||||||
|
|||||||
+2
-1
@@ -38,6 +38,7 @@ import com.vitorpamplona.amethyst.R
|
|||||||
import com.vitorpamplona.amethyst.commons.compose.currentWord
|
import com.vitorpamplona.amethyst.commons.compose.currentWord
|
||||||
import com.vitorpamplona.amethyst.commons.compose.insertUrlAtCursor
|
import com.vitorpamplona.amethyst.commons.compose.insertUrlAtCursor
|
||||||
import com.vitorpamplona.amethyst.commons.compose.replaceCurrentWord
|
import com.vitorpamplona.amethyst.commons.compose.replaceCurrentWord
|
||||||
|
import com.vitorpamplona.amethyst.commons.compose.setTextAndPlaceCursorAtBeginning
|
||||||
import com.vitorpamplona.amethyst.commons.model.nip30CustomEmojis.EmojiPackState.EmojiMedia
|
import com.vitorpamplona.amethyst.commons.model.nip30CustomEmojis.EmojiPackState.EmojiMedia
|
||||||
import com.vitorpamplona.amethyst.model.Account
|
import com.vitorpamplona.amethyst.model.Account
|
||||||
import com.vitorpamplona.amethyst.model.LocalCache
|
import com.vitorpamplona.amethyst.model.LocalCache
|
||||||
@@ -369,7 +370,7 @@ open class ShortNotePostViewModel :
|
|||||||
multiOrchestrator = null
|
multiOrchestrator = null
|
||||||
|
|
||||||
quote?.let { quotedNote ->
|
quote?.let { quotedNote ->
|
||||||
message.setTextAndPlaceCursorAtEnd(message.text.toString() + "\nnostr:${quotedNote.toNEvent()}")
|
message.setTextAndPlaceCursorAtBeginning(message.text.toString() + "\nnostr:${quotedNote.toNEvent()}")
|
||||||
|
|
||||||
quotedNote.author?.let { quotedUser ->
|
quotedNote.author?.let { quotedUser ->
|
||||||
if (quotedUser.pubkeyHex != user.pubkeyHex) {
|
if (quotedUser.pubkeyHex != user.pubkeyHex) {
|
||||||
|
|||||||
+7
@@ -25,6 +25,13 @@ import androidx.compose.ui.text.TextRange
|
|||||||
import kotlin.math.max
|
import kotlin.math.max
|
||||||
import kotlin.math.min
|
import kotlin.math.min
|
||||||
|
|
||||||
|
fun TextFieldState.setTextAndPlaceCursorAtBeginning(text: String) {
|
||||||
|
edit {
|
||||||
|
replace(0, length, text)
|
||||||
|
selection = TextRange(0, 0)
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
fun TextFieldState.insertUrlAtCursor(url: String) {
|
fun TextFieldState.insertUrlAtCursor(url: String) {
|
||||||
edit {
|
edit {
|
||||||
var toInsert = url.trim()
|
var toInsert = url.trim()
|
||||||
|
|||||||
Reference in New Issue
Block a user