Skip to content

Commit ef3d0d7

Browse files
committed
feat: Add slide transitions to screens launched from home
1 parent 82d2697 commit ef3d0d7

File tree

1 file changed

+30
-18
lines changed

1 file changed

+30
-18
lines changed

app/src/main/java/to/bitkit/ui/ContentView.kt

Lines changed: 30 additions & 18 deletions
Original file line numberDiff line numberDiff line change
@@ -69,6 +69,10 @@ import to.bitkit.ui.settings.OrderDetailScreen
6969
import to.bitkit.ui.settings.SettingsScreen
7070
import to.bitkit.ui.settings.backups.BackupWalletScreen
7171
import to.bitkit.ui.settings.backups.RestoreWalletScreen
72+
import to.bitkit.ui.utils.screenScaleIn
73+
import to.bitkit.ui.utils.screenScaleOut
74+
import to.bitkit.ui.utils.screenSlideIn
75+
import to.bitkit.ui.utils.screenSlideOut
7276
import to.bitkit.utils.Logger
7377
import to.bitkit.viewmodels.ActivityListViewModel
7478
import to.bitkit.viewmodels.AppViewModel
@@ -323,7 +327,7 @@ fun ContentView(
323327
} else {
324328
navController.navigateToTransferSpendingAmount()
325329
}
326-
},
330+
},
327331
onFund = {
328332
scope.launch {
329333
// TODO show receive sheet -> ReceiveAmount
@@ -367,7 +371,7 @@ private fun NavGraphBuilder.home(
367371
HomeScreen(
368372
walletViewModel = viewModel,
369373
appViewModel = appViewModel,
370-
rootNavController = navController
374+
rootNavController = navController,
371375
)
372376
}
373377
}
@@ -376,7 +380,12 @@ private fun NavGraphBuilder.settings(
376380
viewModel: WalletViewModel,
377381
navController: NavHostController,
378382
) {
379-
composable<Routes.Settings> {
383+
composable<Routes.Settings>(
384+
enterTransition = { screenSlideIn },
385+
exitTransition = { screenScaleOut },
386+
popEnterTransition = { screenScaleIn },
387+
popExitTransition = { screenSlideOut },
388+
) {
380389
SettingsScreen(viewModel, navController)
381390
}
382391
}
@@ -385,7 +394,10 @@ private fun NavGraphBuilder.nodeState(
385394
viewModel: WalletViewModel,
386395
navController: NavHostController,
387396
) {
388-
composable<Routes.NodeState> {
397+
composable<Routes.NodeState>(
398+
enterTransition = { screenSlideIn },
399+
exitTransition = { screenSlideOut },
400+
) {
389401
NodeStateScreen(viewModel, navController)
390402
}
391403
}
@@ -503,7 +515,12 @@ private fun NavGraphBuilder.allActivity(
503515
viewModel: ActivityListViewModel,
504516
navController: NavHostController,
505517
) {
506-
composable<Routes.AllActivity> {
518+
composable<Routes.AllActivity>(
519+
enterTransition = { screenSlideIn },
520+
exitTransition = { screenScaleOut },
521+
popEnterTransition = { screenScaleIn },
522+
popExitTransition = { screenSlideOut },
523+
) {
507524
AllActivityScreen(
508525
viewModel = viewModel,
509526
onBackCLick = { navController.popBackStack() },
@@ -516,7 +533,12 @@ private fun NavGraphBuilder.activityItem(
516533
viewModel: ActivityListViewModel,
517534
navController: NavHostController,
518535
) {
519-
composable<Routes.ActivityItem> { navBackEntry ->
536+
composable<Routes.ActivityItem>(
537+
enterTransition = { screenSlideIn },
538+
exitTransition = { screenScaleOut },
539+
popEnterTransition = { screenScaleIn },
540+
popExitTransition = { screenSlideOut },
541+
) { navBackEntry ->
520542
ActivityItemScreen(
521543
viewModel = viewModel,
522544
activityItem = navBackEntry.toRoute(),
@@ -530,18 +552,8 @@ private fun NavGraphBuilder.qrScanner(
530552
navController: NavHostController,
531553
) {
532554
composable<Routes.QrScanner>(
533-
enterTransition = {
534-
slideInHorizontally(
535-
initialOffsetX = { it },
536-
animationSpec = tween(durationMillis = 300)
537-
)
538-
},
539-
exitTransition = {
540-
slideOutHorizontally(
541-
targetOffsetX = { it },
542-
animationSpec = tween(durationMillis = 300)
543-
)
544-
},
555+
enterTransition = { screenSlideIn },
556+
exitTransition = { screenSlideOut },
545557
) {
546558
QrScanningScreen(navController = navController) { qrCode ->
547559
navController.popBackStack()

0 commit comments

Comments
 (0)