Turns the Zap notification card in to ZapRequest/ZapEvent events.

This commit is contained in:
Vitor Pamplona
2023-02-21 11:33:03 -05:00
parent a34cf117a0
commit 18f25aa4d8
3 changed files with 7 additions and 7 deletions
@@ -102,7 +102,7 @@ fun ZapSetCompose(zapSetCard: ZapSetCard, modifier: Modifier = Modifier, isInner
FlowRow() {
zapSetCard.zapEvents.forEach {
NoteAuthorPicture(
note = it,
note = it.key,
navController = navController,
userAccount = account.userProfile(),
size = 35.dp
@@ -24,8 +24,8 @@ class LikeSetCard(val note: Note, val likeEvents: List<Note>): Card() {
override fun id() = note.idHex + "L" + createdAt
}
class ZapSetCard(val note: Note, val zapEvents: List<Note>): Card() {
val createdAt = zapEvents.maxOf { it.event?.createdAt ?: 0 }
class ZapSetCard(val note: Note, val zapEvents: Map<Note, Note>): Card() {
val createdAt = zapEvents.maxOf { it.value.event?.createdAt ?: 0 }
override fun createdAt(): Long {
return createdAt
}
@@ -71,15 +71,15 @@ open class CardFeedViewModel(val dataSource: FeedFilter<Note>): ViewModel() {
val reactionCards = reactionsPerEvent.map { LikeSetCard(it.key, it.value) }
val zapsPerEvent = mutableMapOf<Note, MutableList<Note>>()
val zapsPerEvent = mutableMapOf<Note, MutableMap<Note, Note>>()
notes
.filter { it.event is LnZapEvent}
.forEach { zapEvent ->
val zappedPost = zapEvent.replyTo?.lastOrNull() { it.event !is ChannelMetadataEvent && it.event !is ChannelCreateEvent }
if (zappedPost != null) {
val key = zappedPost.zaps.filter { it.value == zapEvent }.keys.firstOrNull()
if (key != null) {
zapsPerEvent.getOrPut(zappedPost, { mutableListOf() }).add(key)
val zapRequest = zappedPost.zaps.filter { it.value == zapEvent }.keys.firstOrNull()
if (zapRequest != null) {
zapsPerEvent.getOrPut(zappedPost, { mutableMapOf() }).put(zapRequest, zapEvent)
}
}
}