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.
This commit is contained in:
Nacho 2025-07-28 23:58:41 +02:00
parent 39ba48d867
commit 1a150ce7ce
3 changed files with 61 additions and 5 deletions

View File

@ -1,5 +1,10 @@
package com.github.nacabaro.vbhelper.navigation 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.foundation.layout.padding
import androidx.compose.material3.Scaffold import androidx.compose.material3.Scaffold
import androidx.compose.runtime.Composable import androidx.compose.runtime.Composable
@ -51,11 +56,24 @@ fun AppNavigation(
NavHost( NavHost(
navController = navController, navController = navController,
startDestination = NavigationItems.Home.route, startDestination = NavigationItems.Home.route,
enterTransition = {
fadeIn(
animationSpec = tween(200)
)
},
exitTransition = {
fadeOut(
animationSpec = tween(200)
)
},
modifier = Modifier modifier = Modifier
.padding(contentPadding) .padding(contentPadding)
) { ) {
composable(NavigationItems.Battles.route) { composable(NavigationItems.Battles.route) {
BattlesScreen() BattlesScreen(
navController = navController
)
} }
composable(NavigationItems.Home.route) { composable(NavigationItems.Home.route) {
HomeScreen( HomeScreen(

View File

@ -1,9 +1,38 @@
package com.github.nacabaro.vbhelper.screens 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.material3.Text
import androidx.compose.runtime.Composable 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 @Composable
fun BattlesScreen() { fun BattlesScreen(
Text("Battles Screen") 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")
}
}
} }

View File

@ -184,7 +184,8 @@ fun ScanScreen(
} }
} }
} }
} },
navController = navController
) )
} }
} }
@ -193,9 +194,17 @@ fun ScanScreen(
fun ChooseConnectOption( fun ChooseConnectOption(
onClickRead: (() -> Unit)? = null, onClickRead: (() -> Unit)? = null,
onClickWrite: (() -> Unit)? = null, onClickWrite: (() -> Unit)? = null,
navController: NavController
) { ) {
Scaffold( Scaffold(
topBar = { TopBanner(text = "Scan a Vital Bracelet") } topBar = {
TopBanner(
text = "Scan a Vital Bracelet",
onBackClick = {
navController.popBackStack()
}
)
}
) { contentPadding -> ) { contentPadding ->
Column( Column(
verticalArrangement = Arrangement.Center, verticalArrangement = Arrangement.Center,