Refreshing inner user lists faster (instead of waiting for LocalCache to update)

This commit is contained in:
Vitor Pamplona
2023-03-10 09:58:58 -05:00
parent 1d74bfb191
commit ad8d9cabe2
@@ -695,11 +695,13 @@ fun TabNotesConversations(user: User, accountViewModel: AccountViewModel, navCon
} }
@Composable @Composable
fun TabFollows(user: User, accountViewModel: AccountViewModel, navController: NavController) { fun TabFollows(baseUser: User, accountViewModel: AccountViewModel, navController: NavController) {
val feedViewModel: NostrUserProfileFollowsUserFeedViewModel = viewModel() val feedViewModel: NostrUserProfileFollowsUserFeedViewModel = viewModel()
LaunchedEffect(Unit) { val userState by baseUser.live().follows.observeAsState()
feedViewModel.refresh()
LaunchedEffect(userState) {
feedViewModel.invalidateData()
} }
Column(Modifier.fillMaxHeight()) { Column(Modifier.fillMaxHeight()) {
@@ -712,11 +714,13 @@ fun TabFollows(user: User, accountViewModel: AccountViewModel, navController: Na
} }
@Composable @Composable
fun TabFollowers(user: User, accountViewModel: AccountViewModel, navController: NavController) { fun TabFollowers(baseUser: User, accountViewModel: AccountViewModel, navController: NavController) {
val feedViewModel: NostrUserProfileFollowersUserFeedViewModel = viewModel() val feedViewModel: NostrUserProfileFollowersUserFeedViewModel = viewModel()
LaunchedEffect(Unit) { val userState by baseUser.live().follows.observeAsState()
feedViewModel.refresh()
LaunchedEffect(userState) {
feedViewModel.invalidateData()
} }
Column(Modifier.fillMaxHeight()) { Column(Modifier.fillMaxHeight()) {
@@ -729,13 +733,13 @@ fun TabFollowers(user: User, accountViewModel: AccountViewModel, navController:
} }
@Composable @Composable
fun TabReceivedZaps(user: User, accountViewModel: AccountViewModel, navController: NavController) { fun TabReceivedZaps(baseUser: User, accountViewModel: AccountViewModel, navController: NavController) {
val accountState by accountViewModel.accountLiveData.observeAsState()
if (accountState != null) {
val feedViewModel: NostrUserProfileZapsFeedViewModel = viewModel() val feedViewModel: NostrUserProfileZapsFeedViewModel = viewModel()
LaunchedEffect(Unit) { val userState by baseUser.live().zaps.observeAsState()
feedViewModel.refresh()
LaunchedEffect(userState) {
feedViewModel.invalidateData()
} }
Column(Modifier.fillMaxHeight()) { Column(Modifier.fillMaxHeight()) {
@@ -746,16 +750,15 @@ fun TabReceivedZaps(user: User, accountViewModel: AccountViewModel, navControlle
} }
} }
} }
}
@Composable @Composable
fun TabReports(user: User, accountViewModel: AccountViewModel, navController: NavController) { fun TabReports(baseUser: User, accountViewModel: AccountViewModel, navController: NavController) {
val accountState by accountViewModel.accountLiveData.observeAsState()
if (accountState != null) {
val feedViewModel: NostrUserProfileReportFeedViewModel = viewModel() val feedViewModel: NostrUserProfileReportFeedViewModel = viewModel()
LaunchedEffect(Unit) { val userState by baseUser.live().reports.observeAsState()
feedViewModel.refresh()
LaunchedEffect(userState) {
feedViewModel.invalidateData()
} }
Column(Modifier.fillMaxHeight()) { Column(Modifier.fillMaxHeight()) {
@@ -766,7 +769,6 @@ fun TabReports(user: User, accountViewModel: AccountViewModel, navController: Na
} }
} }
} }
}
@Composable @Composable
fun TabRelays(user: User, accountViewModel: AccountViewModel, navController: NavController) { fun TabRelays(user: User, accountViewModel: AccountViewModel, navController: NavController) {