Allows Rendering of PrivateMessages as Notes (for notifications) with correct redirection to the private room when clicked

This commit is contained in:
Vitor Pamplona
2023-03-09 08:49:29 -05:00
parent ceb0895b8d
commit d148644799

View File

@@ -44,6 +44,7 @@ import com.vitorpamplona.amethyst.service.model.ChannelCreateEvent
import com.vitorpamplona.amethyst.service.model.ChannelMessageEvent import com.vitorpamplona.amethyst.service.model.ChannelMessageEvent
import com.vitorpamplona.amethyst.service.model.ChannelMetadataEvent import com.vitorpamplona.amethyst.service.model.ChannelMetadataEvent
import com.vitorpamplona.amethyst.service.model.LongTextNoteEvent import com.vitorpamplona.amethyst.service.model.LongTextNoteEvent
import com.vitorpamplona.amethyst.service.model.PrivateDmEvent
import com.vitorpamplona.amethyst.service.model.ReactionEvent import com.vitorpamplona.amethyst.service.model.ReactionEvent
import com.vitorpamplona.amethyst.service.model.ReportEvent import com.vitorpamplona.amethyst.service.model.ReportEvent
import com.vitorpamplona.amethyst.service.model.RepostEvent import com.vitorpamplona.amethyst.service.model.RepostEvent
@@ -140,16 +141,18 @@ fun NoteCompose(
modifier = modifier modifier = modifier
.combinedClickable( .combinedClickable(
onClick = { onClick = {
if (noteEvent !is ChannelMessageEvent) { if (noteEvent is ChannelMessageEvent) {
navController.navigate("Note/${note.idHex}") { baseChannel?.let {
navController.navigate("Channel/${it.idHex}")
}
} else if (noteEvent is PrivateDmEvent) {
navController.navigate("Room/${note.author?.pubkeyHex}") {
launchSingleTop = true launchSingleTop = true
} }
} else { } else {
note navController.navigate("Note/${note.idHex}") {
.channel() launchSingleTop = true
?.let { }
navController.navigate("Channel/${it.idHex}")
}
} }
}, },
onLongClick = { popupExpanded = true } onLongClick = { popupExpanded = true }