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 5150bff8d..fa28a608d 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)