Turns the Zap notification card in to ZapRequest/ZapEvent events.
This commit is contained in:
@@ -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)
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user