Code review:
flatten parent-reply resolution in JumpToParentReplyButton
This commit is contained in:
@@ -1709,18 +1709,12 @@ fun JumpToParentReplyButton(
|
|||||||
val parentNote =
|
val parentNote =
|
||||||
remember(baseNote) {
|
remember(baseNote) {
|
||||||
val noteEvent = baseNote.event as? BaseThreadedEvent ?: return@remember null
|
val noteEvent = baseNote.event as? BaseThreadedEvent ?: return@remember null
|
||||||
val replyingTo = noteEvent.replyingToAddressOrEvent()
|
val direct =
|
||||||
val resolved =
|
noteEvent
|
||||||
if (replyingTo != null) {
|
.replyingToAddressOrEvent()
|
||||||
val newNote = accountViewModel.getNoteIfExists(replyingTo)
|
?.let { accountViewModel.getNoteIfExists(it) }
|
||||||
if (newNote != null && LocalCache.getAnyChannel(newNote) == null && newNote.event?.kind != CommunityDefinitionEvent.KIND) {
|
?.takeIf { it.event !is CommunityDefinitionEvent && LocalCache.getAnyChannel(it) == null }
|
||||||
newNote
|
val resolved = direct ?: baseNote.replyTo?.lastOrNull { it.event !is CommunityDefinitionEvent }
|
||||||
} else {
|
|
||||||
baseNote.replyTo?.lastOrNull { it.event?.kind != CommunityDefinitionEvent.KIND }
|
|
||||||
}
|
|
||||||
} else {
|
|
||||||
baseNote.replyTo?.lastOrNull { it.event?.kind != CommunityDefinitionEvent.KIND }
|
|
||||||
}
|
|
||||||
resolved?.takeIf { LocalCache.getAnyChannel(it) == null }
|
resolved?.takeIf { LocalCache.getAnyChannel(it) == null }
|
||||||
} ?: return
|
} ?: return
|
||||||
|
|
||||||
|
|||||||
Reference in New Issue
Block a user