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,41 +733,39 @@ 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() val feedViewModel: NostrUserProfileZapsFeedViewModel = viewModel()
if (accountState != null) {
val feedViewModel: NostrUserProfileZapsFeedViewModel = viewModel()
LaunchedEffect(Unit) { val userState by baseUser.live().zaps.observeAsState()
feedViewModel.refresh()
}
Column(Modifier.fillMaxHeight()) { LaunchedEffect(userState) {
Column( feedViewModel.invalidateData()
modifier = Modifier.padding(vertical = 0.dp) }
) {
LnZapFeedView(feedViewModel, accountViewModel, navController) Column(Modifier.fillMaxHeight()) {
} Column(
modifier = Modifier.padding(vertical = 0.dp)
) {
LnZapFeedView(feedViewModel, accountViewModel, navController)
} }
} }
} }
@Composable @Composable
fun TabReports(user: User, accountViewModel: AccountViewModel, navController: NavController) { fun TabReports(baseUser: User, accountViewModel: AccountViewModel, navController: NavController) {
val accountState by accountViewModel.accountLiveData.observeAsState() val feedViewModel: NostrUserProfileReportFeedViewModel = viewModel()
if (accountState != null) {
val feedViewModel: NostrUserProfileReportFeedViewModel = viewModel()
LaunchedEffect(Unit) { val userState by baseUser.live().reports.observeAsState()
feedViewModel.refresh()
}
Column(Modifier.fillMaxHeight()) { LaunchedEffect(userState) {
Column( feedViewModel.invalidateData()
modifier = Modifier.padding(vertical = 0.dp) }
) {
FeedView(feedViewModel, accountViewModel, navController, null) Column(Modifier.fillMaxHeight()) {
} Column(
modifier = Modifier.padding(vertical = 0.dp)
) {
FeedView(feedViewModel, accountViewModel, navController, null)
} }
} }
} }