From 1a150ce7cec34101dd13b8af9110649677071335 Mon Sep 17 00:00:00 2001 From: Nacho Date: Mon, 28 Jul 2025 23:58:41 +0200 Subject: [PATCH 1/2] 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, From 13051145b79aba8fb95355e573a7ffe8e3e1e7c7 Mon Sep 17 00:00:00 2001 From: Nacho Date: Tue, 29 Jul 2025 00:01:02 +0200 Subject: [PATCH 2/2] 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. --- .../github/nacabaro/vbhelper/navigation/AppNavigation.kt | 6 +----- .../com/github/nacabaro/vbhelper/screens/BattlesScreen.kt | 7 +------ 2 files changed, 2 insertions(+), 11 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 03e0d78..c2fd07c 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,7 +1,5 @@ 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 @@ -71,9 +69,7 @@ fun AppNavigation( ) { composable(NavigationItems.Battles.route) { - BattlesScreen( - navController = navController - ) + BattlesScreen() } 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 d7f9d5d..b50ef12 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 @@ -4,20 +4,15 @@ 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( - navController: NavController -) { +fun BattlesScreen() { Scaffold ( topBar = { TopBanner(