From 9d32718c1304dd8174bdf22dbb6fc710ae002660 Mon Sep 17 00:00:00 2001 From: Vitor Pamplona Date: Sat, 28 Oct 2023 11:08:48 -0400 Subject: [PATCH] Update Profile Feed when Blocking/Unblocking the user. --- .../ui/screen/loggedIn/ProfileScreen.kt | 22 ++++++++++++------- 1 file changed, 14 insertions(+), 8 deletions(-) diff --git a/app/src/main/java/com/vitorpamplona/amethyst/ui/screen/loggedIn/ProfileScreen.kt b/app/src/main/java/com/vitorpamplona/amethyst/ui/screen/loggedIn/ProfileScreen.kt index 5150bff8de..fa28a608dd 100644 --- a/app/src/main/java/com/vitorpamplona/amethyst/ui/screen/loggedIn/ProfileScreen.kt +++ b/app/src/main/java/com/vitorpamplona/amethyst/ui/screen/loggedIn/ProfileScreen.kt @@ -476,6 +476,8 @@ private fun CreateAndRenderPages( accountViewModel: AccountViewModel, nav: (String) -> Unit ) { + UpdateThreadsAndRepliesWhenBlockUnblock(baseUser, threadsViewModel, repliesViewModel, accountViewModel) + when (page) { 0 -> TabNotesNewThreads(threadsViewModel, accountViewModel, nav) 1 -> TabNotesConversations(repliesViewModel, accountViewModel, nav) @@ -489,6 +491,18 @@ private fun CreateAndRenderPages( } } +@Composable +fun UpdateThreadsAndRepliesWhenBlockUnblock(baseUser: User, threadsViewModel: NostrUserProfileNewThreadsFeedViewModel, repliesViewModel: NostrUserProfileConversationsFeedViewModel, accountViewModel: AccountViewModel) { + val isHidden by accountViewModel.account.liveHiddenUsers.map { + it.hiddenUsers.contains(baseUser.pubkeyHex) || it.spammers.contains(baseUser.pubkeyHex) + }.observeAsState(accountViewModel.account.isHidden(baseUser)) + + LaunchedEffect(key1 = isHidden) { + threadsViewModel.invalidateData() + repliesViewModel.invalidateData() + } +} + @OptIn(ExperimentalFoundationApi::class) @Composable private fun CreateAndRenderTabs( @@ -1417,10 +1431,6 @@ fun DrawBanner(baseUser: User, accountViewModel: AccountViewModel) { @Composable fun TabNotesNewThreads(feedViewModel: NostrUserProfileNewThreadsFeedViewModel, accountViewModel: AccountViewModel, nav: (String) -> Unit) { - LaunchedEffect(Unit) { - feedViewModel.invalidateData() - } - Column(Modifier.fillMaxHeight()) { Column( modifier = Modifier.padding(vertical = 0.dp) @@ -1438,10 +1448,6 @@ fun TabNotesNewThreads(feedViewModel: NostrUserProfileNewThreadsFeedViewModel, a @Composable fun TabNotesConversations(feedViewModel: NostrUserProfileConversationsFeedViewModel, accountViewModel: AccountViewModel, nav: (String) -> Unit) { - LaunchedEffect(Unit) { - feedViewModel.invalidateData() - } - Column(Modifier.fillMaxHeight()) { Column( modifier = Modifier.padding(vertical = 0.dp)