feat(note): copy raw JSON action in dropdown menu
This commit is contained in:
@@ -53,6 +53,7 @@ import com.vitorpamplona.amethyst.ui.screen.loggedIn.AccountViewModel
|
||||
import com.vitorpamplona.amethyst.ui.screen.loggedIn.report.ReportNoteDialog
|
||||
import com.vitorpamplona.amethyst.ui.stringRes
|
||||
import com.vitorpamplona.amethyst.ui.theme.Size24Modifier
|
||||
import com.vitorpamplona.quartz.nip01Core.jackson.JacksonMapper
|
||||
import com.vitorpamplona.quartz.nip01Core.tags.aTag.isTaggedAddressableNote
|
||||
import com.vitorpamplona.quartz.nip10Notes.TextNoteEvent
|
||||
import com.vitorpamplona.quartz.nip23LongContent.LongTextNoteEvent
|
||||
@@ -63,6 +64,7 @@ import kotlinx.coroutines.flow.combine
|
||||
import kotlinx.coroutines.flow.flowOn
|
||||
import kotlinx.coroutines.flow.onStart
|
||||
import kotlinx.coroutines.launch
|
||||
import kotlinx.coroutines.withContext
|
||||
|
||||
@Composable
|
||||
fun MoreOptionsButton(
|
||||
@@ -204,6 +206,18 @@ fun NoteDropDownMenu(
|
||||
onDismiss()
|
||||
}
|
||||
}
|
||||
M3ActionRow(icon = MaterialSymbols.ContentCopy, text = stringRes(R.string.copy_raw_json)) {
|
||||
val event = note.event
|
||||
if (event != null) {
|
||||
scope.launch {
|
||||
val json = withContext(Dispatchers.Default) { JacksonMapper.toJsonPretty(event) }
|
||||
clipboardManager.setText(json)
|
||||
onDismiss()
|
||||
}
|
||||
} else {
|
||||
onDismiss()
|
||||
}
|
||||
}
|
||||
M3ActionRow(icon = MaterialSymbols.Share, text = stringRes(R.string.quick_action_share)) {
|
||||
val sendIntent =
|
||||
Intent().apply {
|
||||
|
||||
@@ -32,6 +32,7 @@
|
||||
<string name="copy_text">Copy Text</string>
|
||||
<string name="copy_user_pubkey">Copy Author ID</string>
|
||||
<string name="copy_note_id">Copy Note ID</string>
|
||||
<string name="copy_raw_json">Copy raw JSON</string>
|
||||
<string name="broadcast">Broadcast</string>
|
||||
<string name="timestamp_it">Timestamp it</string>
|
||||
<string name="timestamp_pending">Timestamp: Pending Confirmations</string>
|
||||
|
||||
Reference in New Issue
Block a user