diff --git a/app/src/main/java/com/vitorpamplona/amethyst/service/model/TextNoteEvent.kt b/app/src/main/java/com/vitorpamplona/amethyst/service/model/TextNoteEvent.kt index 616f40d7c..e0b0a98f3 100644 --- a/app/src/main/java/com/vitorpamplona/amethyst/service/model/TextNoteEvent.kt +++ b/app/src/main/java/com/vitorpamplona/amethyst/service/model/TextNoteEvent.kt @@ -19,6 +19,8 @@ class TextNoteEvent( sig: HexKey ) : BaseTextNoteEvent(id, pubKey, createdAt, kind, tags, content, sig) { + fun subject() = tags.firstOrNull() { it.size > 1 && it[0] == "subject" }?.get(1) + companion object { const val kind = 1 diff --git a/app/src/main/java/com/vitorpamplona/amethyst/ui/note/NoteCompose.kt b/app/src/main/java/com/vitorpamplona/amethyst/ui/note/NoteCompose.kt index 236484ad2..109b5aef2 100644 --- a/app/src/main/java/com/vitorpamplona/amethyst/ui/note/NoteCompose.kt +++ b/app/src/main/java/com/vitorpamplona/amethyst/ui/note/NoteCompose.kt @@ -739,7 +739,7 @@ fun routeFor(note: Note, loggedIn: User): String? { } @Composable -private fun RenderTextEvent( +fun RenderTextEvent( note: Note, makeItShort: Boolean, canPreview: Boolean, @@ -747,7 +747,16 @@ private fun RenderTextEvent( accountViewModel: AccountViewModel, nav: (String) -> Unit ) { - val eventContent = remember(note.event) { accountViewModel.decrypt(note) } + val eventContent = remember(note.event) { + val subject = (note.event as? TextNoteEvent)?.subject()?.ifEmpty { null } + val body = accountViewModel.decrypt(note) + + if (subject != null) { + "## $subject\n$body" + } else { + body + } + } if (eventContent != null) { val isAuthorTheLoggedUser = remember(note.event) { accountViewModel.isLoggedUser(note.author) } @@ -787,7 +796,7 @@ private fun RenderTextEvent( } @Composable -private fun RenderPoll( +fun RenderPoll( note: Note, makeItShort: Boolean, canPreview: Boolean,