@@ -6,12 +6,20 @@ import androidx.compose.animation.core.keyframes
66import androidx.compose.animation.core.rememberInfiniteTransition
77import androidx.compose.foundation.layout.Box
88import androidx.compose.foundation.layout.fillMaxSize
9+ import androidx.compose.foundation.layout.fillMaxWidth
910import androidx.compose.foundation.layout.padding
11+ import androidx.compose.foundation.shape.RoundedCornerShape
1012import androidx.compose.material3.Scaffold
13+ import androidx.compose.material3.Surface
1114import androidx.compose.runtime.Composable
1215import androidx.compose.runtime.CompositionLocalProvider
1316import androidx.compose.runtime.LaunchedEffect
1417import androidx.compose.ui.Modifier
18+ import androidx.compose.ui.draw.dropShadow
19+ import androidx.compose.ui.graphics.Color
20+ import androidx.compose.ui.graphics.shadow.Shadow
21+ import androidx.compose.ui.unit.DpOffset
22+ import androidx.compose.ui.unit.dp
1523import androidx.hilt.navigation.compose.hiltViewModel
1624import androidx.navigation.NavBackStackEntry
1725import androidx.navigation.compose.currentBackStackEntryAsState
@@ -20,13 +28,13 @@ import androidx.navigation.toRoute
2028import com.cornellappdev.score.R
2129import com.cornellappdev.score.nav.ScoreNavHost
2230import com.cornellappdev.score.nav.ScoreNavigationBar
23- import com.cornellappdev.score.nav.root.ScoreScreens.GameDetailsPage
2431import com.cornellappdev.score.theme.LocalInfiniteLoading
2532import com.cornellappdev.score.theme.White
2633import kotlinx.serialization.Serializable
2734
2835@Composable
2936fun RootNavigation (
37+ modifier : Modifier = Modifier ,
3038 rootNavigationViewModel : RootNavigationViewModel = hiltViewModel(),
3139) {
3240 val navController = rememberNavController()
@@ -55,19 +63,32 @@ fun RootNavigation(
5563 }
5664 }
5765
58-
5966 Scaffold (
60- modifier = Modifier .fillMaxSize(), bottomBar = {
61- if (navBackStackEntry?.toScreen() is GameDetailsPage ) {
67+ modifier = modifier .fillMaxSize(), bottomBar = {
68+ if (navBackStackEntry?.toScreen() is ScoreScreens . GameDetailsPage ) {
6269 return @Scaffold
6370 }
64- ScoreNavigationBar ({ navController.navigate(it) }, navBackStackEntry)
71+ Surface (
72+ modifier = Modifier
73+ .fillMaxWidth()
74+ .dropShadow(
75+ shape = RoundedCornerShape (topStart = 12 .dp, topEnd = 12 .dp),
76+ shadow = Shadow (
77+ radius = 6 .dp,
78+ color = Color .Black .copy(alpha = 0.07f ),
79+ offset = DpOffset (0 .dp, (- 5 ).dp)
80+ )
81+ ),
82+ color = Color .White ,
83+ shape = RoundedCornerShape (topStart = 12 .dp, topEnd = 12 .dp)
84+ ) {
85+ ScoreNavigationBar ({ navController.navigate(it) }, navBackStackEntry)
86+ }
6587 },
6688 containerColor = White
6789 ) { innerPadding ->
6890 Box (modifier = Modifier .padding(innerPadding)) {
6991 CompositionLocalProvider (LocalInfiniteLoading provides animatedValue) {
70-
7192 ScoreNavHost (navController)
7293 }
7394 }
0 commit comments