From d64766516a15045e8460abad5e6b277d4e674dd5 Mon Sep 17 00:00:00 2001 From: Vitor Pamplona Date: Sat, 21 Jan 2023 13:53:38 -0300 Subject: [PATCH] Removing unnecessary observables --- .../ui/screen/loggedIn/ChatroomListScreen.kt | 70 +++++++++---------- .../amethyst/ui/screen/loggedIn/HomeScreen.kt | 22 +++--- .../ui/screen/loggedIn/NotificationScreen.kt | 16 ++--- 3 files changed, 48 insertions(+), 60 deletions(-) diff --git a/app/src/main/java/com/vitorpamplona/amethyst/ui/screen/loggedIn/ChatroomListScreen.kt b/app/src/main/java/com/vitorpamplona/amethyst/ui/screen/loggedIn/ChatroomListScreen.kt index b61e0f6007..0ecac9d172 100644 --- a/app/src/main/java/com/vitorpamplona/amethyst/ui/screen/loggedIn/ChatroomListScreen.kt +++ b/app/src/main/java/com/vitorpamplona/amethyst/ui/screen/loggedIn/ChatroomListScreen.kt @@ -28,46 +28,42 @@ import kotlinx.coroutines.launch @OptIn(ExperimentalPagerApi::class) @Composable fun ChatroomListScreen(accountViewModel: AccountViewModel, navController: NavController) { - val account by accountViewModel.accountLiveData.observeAsState() + val pagerState = rememberPagerState() + val coroutineScope = rememberCoroutineScope() - if (account != null) { - val pagerState = rememberPagerState() - val coroutineScope = rememberCoroutineScope() - - Column(Modifier.fillMaxHeight()) { - Column( - modifier = Modifier.padding(vertical = 0.dp) + Column(Modifier.fillMaxHeight()) { + Column( + modifier = Modifier.padding(vertical = 0.dp) + ) { + TabRow( + selectedTabIndex = pagerState.currentPage, + indicator = { tabPositions -> + TabRowDefaults.Indicator( + Modifier.pagerTabIndicatorOffset(pagerState, tabPositions), + color = MaterialTheme.colors.primary + ) + }, ) { - TabRow( - selectedTabIndex = pagerState.currentPage, - indicator = { tabPositions -> - TabRowDefaults.Indicator( - Modifier.pagerTabIndicatorOffset(pagerState, tabPositions), - color = MaterialTheme.colors.primary - ) - }, - ) { - Tab( - selected = pagerState.currentPage == 0, - onClick = { coroutineScope.launch { pagerState.animateScrollToPage(0) } }, - text = { - Text(text = "Known") - } - ) - - Tab( - selected = pagerState.currentPage == 1, - onClick = { coroutineScope.launch { pagerState.animateScrollToPage(1) } }, - text = { - Text(text = "New Requests") - } - ) - } - HorizontalPager(count = 2, state = pagerState) { - when (pagerState.currentPage) { - 0 -> TabKnown(accountViewModel, navController) - 1 -> TabNew(accountViewModel, navController) + Tab( + selected = pagerState.currentPage == 0, + onClick = { coroutineScope.launch { pagerState.animateScrollToPage(0) } }, + text = { + Text(text = "Known") } + ) + + Tab( + selected = pagerState.currentPage == 1, + onClick = { coroutineScope.launch { pagerState.animateScrollToPage(1) } }, + text = { + Text(text = "New Requests") + } + ) + } + HorizontalPager(count = 2, state = pagerState) { + when (pagerState.currentPage) { + 0 -> TabKnown(accountViewModel, navController) + 1 -> TabNew(accountViewModel, navController) } } } diff --git a/app/src/main/java/com/vitorpamplona/amethyst/ui/screen/loggedIn/HomeScreen.kt b/app/src/main/java/com/vitorpamplona/amethyst/ui/screen/loggedIn/HomeScreen.kt index b2903988ca..a3bd9246fc 100644 --- a/app/src/main/java/com/vitorpamplona/amethyst/ui/screen/loggedIn/HomeScreen.kt +++ b/app/src/main/java/com/vitorpamplona/amethyst/ui/screen/loggedIn/HomeScreen.kt @@ -22,21 +22,17 @@ import java.lang.System.currentTimeMillis @Composable fun HomeScreen(accountViewModel: AccountViewModel, navController: NavController) { - val accountState by accountViewModel.accountLiveData.observeAsState() + val feedViewModel: NostrHomeFeedViewModel = viewModel() - if (accountState != null) { - val feedViewModel: NostrHomeFeedViewModel = viewModel() + LaunchedEffect(Unit) { + feedViewModel.refresh() + } - LaunchedEffect(Unit) { - feedViewModel.refresh() - } - - Column(Modifier.fillMaxHeight()) { - Column( - modifier = Modifier.padding(vertical = 0.dp) - ) { - FeedView(feedViewModel, accountViewModel, navController) - } + Column(Modifier.fillMaxHeight()) { + Column( + modifier = Modifier.padding(vertical = 0.dp) + ) { + FeedView(feedViewModel, accountViewModel, navController) } } } \ No newline at end of file diff --git a/app/src/main/java/com/vitorpamplona/amethyst/ui/screen/loggedIn/NotificationScreen.kt b/app/src/main/java/com/vitorpamplona/amethyst/ui/screen/loggedIn/NotificationScreen.kt index d3ff307a21..c374bec4a8 100644 --- a/app/src/main/java/com/vitorpamplona/amethyst/ui/screen/loggedIn/NotificationScreen.kt +++ b/app/src/main/java/com/vitorpamplona/amethyst/ui/screen/loggedIn/NotificationScreen.kt @@ -16,17 +16,13 @@ import com.vitorpamplona.amethyst.ui.screen.loggedIn.AccountViewModel @Composable fun NotificationScreen(accountViewModel: AccountViewModel, navController: NavController) { - val account by accountViewModel.accountLiveData.observeAsState() + val feedViewModel: CardFeedViewModel = viewModel { CardFeedViewModel( NostrNotificationDataSource ) } - if (account != null) { - val feedViewModel: CardFeedViewModel = viewModel { CardFeedViewModel( NostrNotificationDataSource ) } - - Column(Modifier.fillMaxHeight()) { - Column( - modifier = Modifier.padding(vertical = 0.dp) - ) { - CardFeedView(feedViewModel, accountViewModel = accountViewModel, navController) - } + Column(Modifier.fillMaxHeight()) { + Column( + modifier = Modifier.padding(vertical = 0.dp) + ) { + CardFeedView(feedViewModel, accountViewModel = accountViewModel, navController) } } } \ No newline at end of file