fixes redirection of routeFor when passing an App Definition Event.

This commit is contained in:
Vitor Pamplona
2024-05-17 18:05:17 -04:00
parent 4c1cd1c9ab
commit d6988ad4e1
2 changed files with 10 additions and 12 deletions

View File

@@ -26,6 +26,7 @@ import com.vitorpamplona.amethyst.model.User
import com.vitorpamplona.amethyst.ui.screen.loggedIn.AccountViewModel import com.vitorpamplona.amethyst.ui.screen.loggedIn.AccountViewModel
import com.vitorpamplona.quartz.encoders.HexKey import com.vitorpamplona.quartz.encoders.HexKey
import com.vitorpamplona.quartz.events.AddressableEvent import com.vitorpamplona.quartz.events.AddressableEvent
import com.vitorpamplona.quartz.events.AppDefinitionEvent
import com.vitorpamplona.quartz.events.ChannelCreateEvent import com.vitorpamplona.quartz.events.ChannelCreateEvent
import com.vitorpamplona.quartz.events.ChatroomKey import com.vitorpamplona.quartz.events.ChatroomKey
import com.vitorpamplona.quartz.events.ChatroomKeyable import com.vitorpamplona.quartz.events.ChatroomKeyable
@@ -75,6 +76,8 @@ fun routeFor(
} else { } else {
return "Note/${URLEncoder.encode(noteEvent.id(), "utf-8")}" return "Note/${URLEncoder.encode(noteEvent.id(), "utf-8")}"
} }
} else if (noteEvent is AppDefinitionEvent) {
return "ContentDiscovery/${noteEvent.id}"
} else if (noteEvent is IsInPublicChatChannel) { } else if (noteEvent is IsInPublicChatChannel) {
noteEvent.channel()?.let { noteEvent.channel()?.let {
return "Channel/$it" return "Channel/$it"

View File

@@ -424,18 +424,13 @@ fun ClickableNote(
.combinedClickable( .combinedClickable(
onClick = { onClick = {
scope.launch { scope.launch {
if (baseNote.event is AppDefinitionEvent) { val redirectToNote =
// nav(Route.ContentDiscovery.route + "/${(baseNote.event as AppDefinitionEvent).pubKey()}") if (baseNote.event is RepostEvent || baseNote.event is GenericRepostEvent) {
nav("ContentDiscovery/${(baseNote.event as AppDefinitionEvent).pubKey()}") baseNote.replyTo?.lastOrNull() ?: baseNote
} else { } else {
val redirectToNote = baseNote
if (baseNote.event is RepostEvent || baseNote.event is GenericRepostEvent) { }
baseNote.replyTo?.lastOrNull() ?: baseNote routeFor(redirectToNote, accountViewModel.userProfile())?.let { nav(it) }
} else {
baseNote
}
routeFor(redirectToNote, accountViewModel.userProfile())?.let { nav(it) }
}
} }
}, },
onLongClick = showPopup, onLongClick = showPopup,