@@ -20,11 +20,9 @@ import androidx.compose.material.ExperimentalMaterialApi
2020import androidx.compose.material.pullrefresh.PullRefreshIndicator
2121import androidx.compose.material.pullrefresh.pullRefresh
2222import androidx.compose.material.pullrefresh.rememberPullRefreshState
23- import androidx.compose.material3.ExperimentalMaterial3Api
2423import androidx.compose.material3.VerticalDivider
2524import androidx.compose.runtime.Composable
2625import androidx.compose.runtime.LaunchedEffect
27- import androidx.compose.runtime.collectAsState
2826import androidx.compose.runtime.derivedStateOf
2927import androidx.compose.runtime.getValue
3028import androidx.compose.runtime.mutableStateOf
@@ -37,6 +35,7 @@ import androidx.compose.ui.res.painterResource
3735import androidx.compose.ui.res.stringResource
3836import androidx.compose.ui.tooling.preview.Preview
3937import androidx.compose.ui.unit.dp
38+ import androidx.lifecycle.compose.collectAsStateWithLifecycle
4039import androidx.navigation.NavController
4140import androidx.navigation.compose.NavHost
4241import androidx.navigation.compose.composable
@@ -78,15 +77,14 @@ import to.bitkit.viewmodels.AppViewModel
7877import to.bitkit.viewmodels.MainUiState
7978import to.bitkit.viewmodels.WalletViewModel
8079
81- @OptIn(ExperimentalMaterial3Api ::class )
8280@Composable
8381fun HomeScreen (
8482 walletViewModel : WalletViewModel ,
8583 appViewModel : AppViewModel ,
8684 activityListViewModel : ActivityListViewModel ,
8785 rootNavController : NavController ,
8886) {
89- val uiState: MainUiState by walletViewModel.uiState.collectAsState ()
87+ val uiState: MainUiState by walletViewModel.uiState.collectAsStateWithLifecycle ()
9088 val currentSheet by appViewModel.currentSheet
9189
9290 SheetHost (
@@ -143,10 +141,11 @@ fun HomeScreen(
143141 enterTransition = { screenSlideIn },
144142 exitTransition = { screenSlideOut },
145143 ) {
146- val hasSeenSpendingIntro by appViewModel.hasSeenSpendingIntro.collectAsState ()
144+ val hasSeenSpendingIntro by appViewModel.hasSeenSpendingIntro.collectAsStateWithLifecycle ()
147145 SavingsWalletScreen (
148146 onAllActivityButtonClick = { walletNavController.navigate(HomeRoutes .AllActivity ) },
149147 onActivityItemClick = { rootNavController.navigateToActivityItem(it) },
148+ onEmptyActivityRowClick = { appViewModel.showSheet(BottomSheetType .Receive ) },
150149 onTransferToSpendingClick = {
151150 if (! hasSeenSpendingIntro) {
152151 rootNavController.navigateToTransferSpendingIntro()
@@ -161,19 +160,20 @@ fun HomeScreen(
161160 enterTransition = { screenSlideIn },
162161 exitTransition = { screenSlideOut },
163162 ) {
164- val hasSeenSavingsIntro by appViewModel.hasSeenSavingsIntro.collectAsState ()
163+ val hasSeenSavingsIntro by appViewModel.hasSeenSavingsIntro.collectAsStateWithLifecycle ()
165164 SpendingWalletScreen (
166165 uiState = uiState,
167166 onAllActivityButtonClick = { walletNavController.navigate(HomeRoutes .AllActivity ) },
168167 onActivityItemClick = { rootNavController.navigateToActivityItem(it) },
168+ onEmptyActivityRowClick = { appViewModel.showSheet(BottomSheetType .Receive ) },
169169 onTransferToSavingsClick = {
170170 if (! hasSeenSavingsIntro) {
171171 rootNavController.navigateToTransferSavingsIntro()
172172 } else {
173173 rootNavController.navigateToTransferSavingsAvailability()
174174 }
175175 },
176- onBackCLick = { walletNavController.popBackStack() },
176+ onBackClick = { walletNavController.popBackStack() },
177177 )
178178 }
179179 composable<HomeRoutes .AllActivity >(
@@ -182,7 +182,7 @@ fun HomeScreen(
182182 ) {
183183 AllActivityScreen (
184184 viewModel = activityListViewModel,
185- onBackCLick = { walletNavController.popBackStack() },
185+ onBackClick = { walletNavController.popBackStack() },
186186 onActivityItemClick = { rootNavController.navigateToActivityItem(it) },
187187 )
188188 }
@@ -215,7 +215,7 @@ private fun HomeContentView(
215215 RequestNotificationPermissions ()
216216 val balances = LocalBalances .current
217217 val app = appViewModel ? : return @AppScaffold
218- val showEmptyStateSetting by app.showEmptyState.collectAsState ()
218+ val showEmptyStateSetting by app.showEmptyState.collectAsStateWithLifecycle ()
219219 val showEmptyState by remember(balances.totalSats, showEmptyStateSetting) {
220220 derivedStateOf {
221221 showEmptyStateSetting && balances.totalSats == 0uL
@@ -265,11 +265,12 @@ private fun HomeContentView(
265265 Text13Up (stringResource(R .string.wallet__activity), color = Colors .White64 )
266266 Spacer (modifier = Modifier .height(16 .dp))
267267 val activity = activityListViewModel ? : return @Column
268- val latestActivities by activity.latestActivities.collectAsState ()
268+ val latestActivities by activity.latestActivities.collectAsStateWithLifecycle ()
269269 ActivityList (
270270 items = latestActivities,
271271 onAllActivityClick = { walletNavController.navigate(HomeRoutes .AllActivity ) },
272272 onActivityItemClick = { rootNavController.navigateToActivityItem(it) },
273+ onEmptyActivityRowClick = { app.showSheet(BottomSheetType .Receive ) },
273274 )
274275 }
275276 }
0 commit comments