Merge pull request #32 from nacabaro/navigation/animations

Graphical things
This commit is contained in:
nacabaro 2025-07-29 01:29:55 +02:00 committed by GitHub
commit 1eed6a4c17
No known key found for this signature in database
GPG Key ID: B5690EEEBB952194
3 changed files with 50 additions and 3 deletions

View File

@ -1,5 +1,8 @@
package com.github.nacabaro.vbhelper.navigation
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,8 +54,19 @@ 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()

View File

@ -1,9 +1,33 @@
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.material3.Scaffold
import androidx.compose.material3.Text
import androidx.compose.runtime.Composable
import androidx.compose.ui.Alignment
import androidx.compose.ui.Modifier
import com.github.nacabaro.vbhelper.components.TopBanner
@Composable
fun BattlesScreen() {
Text("Battles Screen")
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(
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,