|
1 | 1 | package team.aliens.dms.android.app |
2 | 2 |
|
3 | 3 | import androidx.compose.foundation.layout.Box |
4 | | -import androidx.compose.foundation.layout.fillMaxWidth |
5 | 4 | import androidx.compose.foundation.layout.navigationBarsPadding |
6 | 5 | import androidx.compose.foundation.layout.padding |
7 | 6 | import androidx.compose.foundation.layout.statusBarsPadding |
8 | | -import androidx.compose.foundation.layout.systemBarsPadding |
9 | 7 | import androidx.compose.material3.Scaffold |
10 | 8 | import androidx.compose.material3.SnackbarHost |
11 | 9 | import androidx.compose.material3.windowsizeclass.WindowSizeClass |
@@ -80,78 +78,81 @@ fun DmsApp( |
80 | 78 | } |
81 | 79 | } |
82 | 80 |
|
83 | | - Scaffold( |
84 | | - bottomBar = { |
85 | | - if (shouldShowBottomBar) { |
86 | | - BottomNavigationBar( |
87 | | - currentScreen = currentScreen, |
88 | | - onNavigate = { destination -> |
89 | | - if (currentScreen != destination) { |
90 | | - backStack.removeAll { |
91 | | - it is HomeScreenNav || |
92 | | - it is ApplicationScreenNav || |
93 | | - it is MyPageScreenNav |
| 81 | + Box { |
| 82 | + Scaffold( |
| 83 | + bottomBar = { |
| 84 | + if (shouldShowBottomBar) { |
| 85 | + BottomNavigationBar( |
| 86 | + currentScreen = currentScreen, |
| 87 | + onNavigate = { destination -> |
| 88 | + if (currentScreen != destination) { |
| 89 | + backStack.removeAll { |
| 90 | + it is HomeScreenNav || |
| 91 | + it is ApplicationScreenNav || |
| 92 | + it is MyPageScreenNav |
| 93 | + } |
| 94 | + backStack.add(destination) |
94 | 95 | } |
95 | | - backStack.add(destination) |
96 | 96 | } |
97 | | - } |
98 | | - ) |
99 | | - } |
100 | | - } |
101 | | - ) { paddingValues -> |
102 | | - NavDisplay( |
103 | | - modifier = Modifier |
104 | | - .padding(paddingValues) |
105 | | - .navigationBarsPadding(), |
106 | | - backStack = backStack, |
107 | | - onBack = { backStack.removeLastOrNull() }, |
108 | | - entryProvider = entryProvider { |
109 | | - entry<OnboardingScreenNav> { |
110 | | - OnboardingRoute( |
111 | | - navigateToSignIn = { |
112 | | - backStack.clear() |
113 | | - backStack.add(SignInScreenNav) |
114 | | - }, |
115 | | - ) |
116 | | - } |
117 | | - entry<SignInScreenNav> { |
118 | | - SignInRoute( |
119 | | - navigateToMain = { |
120 | | - backStack.clear() |
121 | | - backStack.add(HomeScreenNav) |
122 | | - }, |
123 | | - navigateToSignUp = {}, |
124 | | - onShowSnackBar = { snackBarType, message -> |
125 | | - appState.showSnackBar(snackBarType, message) |
126 | | - }, |
127 | | - ) |
128 | | - } |
129 | | - entry<HomeScreenNav> { |
130 | | - HomeRoute( |
131 | | - onNavigateMeal = { |
132 | | - backStack.add(MealScreenNav) |
133 | | - } |
134 | | - ) |
135 | | - } |
136 | | - entry<ApplicationScreenNav> { |
137 | | - ApplicationRoute() |
138 | | - } |
139 | | - entry<MyPageScreenNav> { |
140 | | - MyPageRoute() |
141 | | - } |
142 | | - entry<MealScreenNav> { |
143 | | - MealRoute( |
144 | | - onNavigateBack = { backStack.removeLastOrNull() } |
145 | 97 | ) |
146 | 98 | } |
147 | | - }, |
148 | | - ) |
149 | | - Box { |
| 99 | + } |
| 100 | + ) { paddingValues -> |
| 101 | + NavDisplay( |
| 102 | + modifier = Modifier |
| 103 | + .padding(paddingValues) |
| 104 | + .navigationBarsPadding(), |
| 105 | + backStack = backStack, |
| 106 | + onBack = { backStack.removeLastOrNull() }, |
| 107 | + entryProvider = entryProvider { |
| 108 | + entry<OnboardingScreenNav> { |
| 109 | + OnboardingRoute( |
| 110 | + navigateToSignIn = { |
| 111 | + backStack.clear() |
| 112 | + backStack.add(SignInScreenNav) |
| 113 | + }, |
| 114 | + ) |
| 115 | + } |
| 116 | + entry<SignInScreenNav> { |
| 117 | + SignInRoute( |
| 118 | + navigateToMain = { |
| 119 | + backStack.clear() |
| 120 | + backStack.add(HomeScreenNav) |
| 121 | + }, |
| 122 | + navigateToSignUp = {}, |
| 123 | + onShowSnackBar = { snackBarType, message -> |
| 124 | + appState.showSnackBar(snackBarType, message) |
| 125 | + }, |
| 126 | + ) |
| 127 | + } |
| 128 | + entry<HomeScreenNav> { |
| 129 | + HomeRoute( |
| 130 | + onNavigateMeal = { |
| 131 | + backStack.add(MealScreenNav) |
| 132 | + }, |
| 133 | + onShowSnackBar = { snackBarType, message -> |
| 134 | + appState.showSnackBar(snackBarType, message) |
| 135 | + }, |
| 136 | + ) |
| 137 | + } |
| 138 | + entry<ApplicationScreenNav> { |
| 139 | + ApplicationRoute() |
| 140 | + } |
| 141 | + entry<MyPageScreenNav> { |
| 142 | + MyPageRoute() |
| 143 | + } |
| 144 | + entry<MealScreenNav> { |
| 145 | + MealRoute( |
| 146 | + onNavigateBack = { backStack.removeLastOrNull() } |
| 147 | + ) |
| 148 | + } |
| 149 | + }, |
| 150 | + ) |
150 | 151 | SnackbarHost( |
151 | 152 | modifier = Modifier |
152 | 153 | .statusBarsPadding() |
153 | 154 | .padding(top = 16.dp) |
154 | | - .align(Alignment.Center), |
| 155 | + .align(Alignment.TopCenter), |
155 | 156 | hostState = appState.snackBarHostState, |
156 | 157 | snackbar = { |
157 | 158 | val visuals = it.visuals as? DmsSnackBarVisuals ?: return@SnackbarHost |
|
0 commit comments