From 1a150ce7cec34101dd13b8af9110649677071335 Mon Sep 17 00:00:00 2001 From: Nacho Date: Mon, 28 Jul 2025 23:58:41 +0200 Subject: [PATCH] Few things: - Speed up the fade animation a tad bit - Added a back arrow in the scan screen - Improved a bit the placeholder of the battles screen, since it'd throw out the transition animation. --- .../vbhelper/navigation/AppNavigation.kt | 20 ++++++++++- .../vbhelper/screens/BattlesScreen.kt | 33 +++++++++++++++++-- .../vbhelper/screens/scanScreen/ScanScreen.kt | 13 ++++++-- 3 files changed, 61 insertions(+), 5 deletions(-) diff --git a/app/src/main/java/com/github/nacabaro/vbhelper/navigation/AppNavigation.kt b/app/src/main/java/com/github/nacabaro/vbhelper/navigation/AppNavigation.kt index f7b992f..03e0d78 100644 --- a/app/src/main/java/com/github/nacabaro/vbhelper/navigation/AppNavigation.kt +++ b/app/src/main/java/com/github/nacabaro/vbhelper/navigation/AppNavigation.kt @@ -1,5 +1,10 @@ package com.github.nacabaro.vbhelper.navigation +import androidx.compose.animation.AnimatedContentTransitionScope +import androidx.compose.animation.ExitTransition +import androidx.compose.animation.core.tween +import androidx.compose.animation.fadeIn +import androidx.compose.animation.fadeOut import androidx.compose.foundation.layout.padding import androidx.compose.material3.Scaffold import androidx.compose.runtime.Composable @@ -51,11 +56,24 @@ fun AppNavigation( NavHost( navController = navController, startDestination = NavigationItems.Home.route, + enterTransition = { + fadeIn( + animationSpec = tween(200) + ) + }, + exitTransition = { + fadeOut( + animationSpec = tween(200) + ) + }, modifier = Modifier .padding(contentPadding) + ) { composable(NavigationItems.Battles.route) { - BattlesScreen() + BattlesScreen( + navController = navController + ) } composable(NavigationItems.Home.route) { HomeScreen( diff --git a/app/src/main/java/com/github/nacabaro/vbhelper/screens/BattlesScreen.kt b/app/src/main/java/com/github/nacabaro/vbhelper/screens/BattlesScreen.kt index c9543c8..d7f9d5d 100644 --- a/app/src/main/java/com/github/nacabaro/vbhelper/screens/BattlesScreen.kt +++ b/app/src/main/java/com/github/nacabaro/vbhelper/screens/BattlesScreen.kt @@ -1,9 +1,38 @@ package com.github.nacabaro.vbhelper.screens +import androidx.compose.foundation.layout.Arrangement +import androidx.compose.foundation.layout.Column +import androidx.compose.foundation.layout.fillMaxSize +import androidx.compose.foundation.layout.padding +import androidx.compose.foundation.layout.size +import androidx.compose.material3.Scaffold import androidx.compose.material3.Text import androidx.compose.runtime.Composable +import androidx.compose.ui.Alignment +import androidx.compose.ui.Modifier +import androidx.navigation.NavController +import com.github.nacabaro.vbhelper.components.TopBanner +import com.github.nacabaro.vbhelper.navigation.NavigationItems @Composable -fun BattlesScreen() { - Text("Battles Screen") +fun BattlesScreen( + navController: NavController +) { + Scaffold ( + topBar = { + TopBanner( + text = "Online battles" + ) + } + ) { contentPadding -> + Column( + horizontalAlignment = Alignment.CenterHorizontally, + verticalArrangement = Arrangement.Center, + modifier = Modifier + .padding(top = contentPadding.calculateTopPadding()) + .fillMaxSize() + ) { + Text("Coming soon") + } + } } diff --git a/app/src/main/java/com/github/nacabaro/vbhelper/screens/scanScreen/ScanScreen.kt b/app/src/main/java/com/github/nacabaro/vbhelper/screens/scanScreen/ScanScreen.kt index a4cbb03..0f45508 100644 --- a/app/src/main/java/com/github/nacabaro/vbhelper/screens/scanScreen/ScanScreen.kt +++ b/app/src/main/java/com/github/nacabaro/vbhelper/screens/scanScreen/ScanScreen.kt @@ -184,7 +184,8 @@ fun ScanScreen( } } } - } + }, + navController = navController ) } } @@ -193,9 +194,17 @@ fun ScanScreen( fun ChooseConnectOption( onClickRead: (() -> Unit)? = null, onClickWrite: (() -> Unit)? = null, + navController: NavController ) { Scaffold( - topBar = { TopBanner(text = "Scan a Vital Bracelet") } + topBar = { + TopBanner( + text = "Scan a Vital Bracelet", + onBackClick = { + navController.popBackStack() + } + ) + } ) { contentPadding -> Column( verticalArrangement = Arrangement.Center,