diff --git a/app/src/main/java/com/vitorpamplona/amethyst/service/NostrSingleEventDataSource.kt b/app/src/main/java/com/vitorpamplona/amethyst/service/NostrSingleEventDataSource.kt index 3fce56a25..7f44107d4 100644 --- a/app/src/main/java/com/vitorpamplona/amethyst/service/NostrSingleEventDataSource.kt +++ b/app/src/main/java/com/vitorpamplona/amethyst/service/NostrSingleEventDataSource.kt @@ -29,7 +29,8 @@ object NostrSingleEventDataSource : NostrDataSource("SingleEventFeed") { ReactionEvent.kind, RepostEvent.kind, ReportEvent.kind, LnZapEvent.kind, LnZapRequestEvent.kind, BadgeAwardEvent.kind, BadgeDefinitionEvent.kind, BadgeProfilesEvent.kind, - PollNoteEvent.kind, AudioTrackEvent.kind, PinListEvent.kind + PollNoteEvent.kind, AudioTrackEvent.kind, PinListEvent.kind, + PeopleListEvent.kind, BookmarkListEvent.kind ), tags = mapOf("a" to listOf(aTag.toTag())), since = it.lastReactionsDownloadTime @@ -121,7 +122,8 @@ object NostrSingleEventDataSource : NostrDataSource("SingleEventFeed") { BadgeDefinitionEvent.kind, BadgeAwardEvent.kind, BadgeProfilesEvent.kind, PrivateDmEvent.kind, FileHeaderEvent.kind, FileStorageEvent.kind, FileStorageHeaderEvent.kind, - HighlightEvent.kind, AudioTrackEvent.kind, PinListEvent.kind + HighlightEvent.kind, AudioTrackEvent.kind, PinListEvent.kind, + PeopleListEvent.kind, BookmarkListEvent.kind ), ids = interestedEvents.toList() ) diff --git a/app/src/main/java/com/vitorpamplona/amethyst/ui/note/MultiSetCompose.kt b/app/src/main/java/com/vitorpamplona/amethyst/ui/note/MultiSetCompose.kt index 94d70c962..6d7268e2c 100644 --- a/app/src/main/java/com/vitorpamplona/amethyst/ui/note/MultiSetCompose.kt +++ b/app/src/main/java/com/vitorpamplona/amethyst/ui/note/MultiSetCompose.kt @@ -178,7 +178,7 @@ private fun RenderLikeGallery( } @Composable -private fun RenderZapGallery( +fun RenderZapGallery( zapEvents: ImmutableMap, backgroundColor: Color, nav: (String) -> Unit, @@ -287,6 +287,8 @@ private fun AuthorPictureAndComment( } } + println("AAAA $content") + content.first?.let { val route by remember { derivedStateOf { diff --git a/app/src/main/java/com/vitorpamplona/amethyst/ui/note/ZapUserSetCompose.kt b/app/src/main/java/com/vitorpamplona/amethyst/ui/note/ZapUserSetCompose.kt index e86ab44d1..52f313b2d 100644 --- a/app/src/main/java/com/vitorpamplona/amethyst/ui/note/ZapUserSetCompose.kt +++ b/app/src/main/java/com/vitorpamplona/amethyst/ui/note/ZapUserSetCompose.kt @@ -5,7 +5,6 @@ import androidx.compose.foundation.clickable import androidx.compose.foundation.layout.Box import androidx.compose.foundation.layout.Column import androidx.compose.foundation.layout.ExperimentalLayoutApi -import androidx.compose.foundation.layout.FlowRow import androidx.compose.foundation.layout.Row import androidx.compose.foundation.layout.padding import androidx.compose.foundation.layout.size @@ -16,6 +15,7 @@ import androidx.compose.material.icons.Icons import androidx.compose.material.icons.filled.Bolt import androidx.compose.runtime.Composable import androidx.compose.runtime.LaunchedEffect +import androidx.compose.runtime.derivedStateOf import androidx.compose.runtime.getValue import androidx.compose.runtime.mutableStateOf import androidx.compose.runtime.remember @@ -32,7 +32,7 @@ import com.vitorpamplona.amethyst.ui.screen.loggedIn.AccountViewModel import com.vitorpamplona.amethyst.ui.theme.BitcoinOrange import com.vitorpamplona.amethyst.ui.theme.newItemBackgroundColor import kotlinx.coroutines.Dispatchers -import kotlinx.coroutines.withContext +import kotlinx.coroutines.launch @OptIn(ExperimentalLayoutApi::class) @Composable @@ -40,10 +40,14 @@ fun ZapUserSetCompose(zapSetCard: ZapUserSetCard, isInnerNote: Boolean = false, var isNew by remember { mutableStateOf(false) } LaunchedEffect(key1 = zapSetCard.createdAt()) { - withContext(Dispatchers.IO) { - isNew = zapSetCard.createdAt > NotificationCache.load(routeForLastRead) + launch(Dispatchers.IO) { + val newIsNew = zapSetCard.createdAt > NotificationCache.load(routeForLastRead) NotificationCache.markAsRead(routeForLastRead, zapSetCard.createdAt) + + if (newIsNew != isNew) { + isNew = newIsNew + } } } @@ -87,16 +91,8 @@ fun ZapUserSetCompose(zapSetCard: ZapUserSetCard, isInnerNote: Boolean = false, } Column(modifier = Modifier.padding(start = if (!isInnerNote) 10.dp else 0.dp)) { - FlowRow() { - zapSetCard.zapEvents.forEach { - NoteAuthorPicture( - baseNote = it.key, - nav = nav, - accountViewModel = accountViewModel, - size = 35.dp - ) - } - } + val zapEvents by remember { derivedStateOf { zapSetCard.zapEvents } } + AuthorGalleryZaps(zapEvents, backgroundColor, nav, accountViewModel) UserCompose(baseUser = zapSetCard.user, accountViewModel = accountViewModel, nav = nav) }