@@ -7,48 +7,59 @@ import androidx.compose.foundation.layout.padding
77import androidx.compose.foundation.layout.statusBarsPadding
88import androidx.compose.material3.Scaffold
99import androidx.compose.material3.SnackbarHost
10- import androidx.compose.material3.windowsizeclass.WindowSizeClass
1110import androidx.compose.runtime.Composable
1211import androidx.compose.runtime.CompositionLocalProvider
1312import androidx.compose.runtime.LaunchedEffect
1413import androidx.compose.runtime.collectAsState
1514import androidx.compose.runtime.getValue
16- import androidx.compose.runtime.mutableStateOf
17- import androidx.compose.runtime.remember
18- import androidx.compose.runtime.setValue
1915import androidx.compose.ui.Alignment
2016import androidx.compose.ui.Modifier
2117import androidx.compose.ui.unit.dp
2218import androidx.lifecycle.viewmodel.compose.viewModel
2319import androidx.navigation3.runtime.entryProvider
2420import androidx.navigation3.runtime.rememberNavBackStack
2521import androidx.navigation3.ui.NavDisplay
22+ import team.aliens.dms.android.app.MainActivityViewModel
2623import team.aliens.dms.android.app.navigation.AdjustProfileScreenNav
2724import team.aliens.dms.android.app.navigation.ApplicationScreenNav
2825import team.aliens.dms.android.app.navigation.BottomNavigationBar
26+ import team.aliens.dms.android.app.navigation.ChatBotScreenNav
2927import team.aliens.dms.android.app.navigation.CheckPasswordScreenNav
28+ import team.aliens.dms.android.app.navigation.EditPasswordScreenNav
29+ import team.aliens.dms.android.app.navigation.FindIdScreenNav
3030import team.aliens.dms.android.app.navigation.HomeScreenNav
31+ import team.aliens.dms.android.app.navigation.LateStudyNav
3132import team.aliens.dms.android.app.navigation.MealScreenNav
3233import team.aliens.dms.android.app.navigation.MyPageScreenNav
33- import team.aliens.dms.android.app.navigation.FindIdScreenNav
34- import team.aliens.dms.android.app.navigation.ResetPasswordScreenNav
3534import team.aliens.dms.android.app.navigation.NoticeDetailScreenNav
3635import team.aliens.dms.android.app.navigation.NotificationScreenNav
3736import team.aliens.dms.android.app.navigation.OnboardingScreenNav
3837import team.aliens.dms.android.app.navigation.PointHistoryScreenNav
3938import team.aliens.dms.android.app.navigation.RemainScreenNav
40- import team.aliens.dms.android.app.navigation.EditPasswordScreenNav
39+ import team.aliens.dms.android.app.navigation.ResetPasswordScreenNav
4140import team.aliens.dms.android.app.navigation.SelectProfileScreenNav
4241import team.aliens.dms.android.app.navigation.SettingScreenNav
4342import team.aliens.dms.android.app.navigation.SignInScreenNav
43+ import team.aliens.dms.android.app.navigation.SignUpCompleteNav
44+ import team.aliens.dms.android.app.navigation.SignUpEnterEmailNav
45+ import team.aliens.dms.android.app.navigation.SignUpEnterEmailVerificationCodeNav
46+ import team.aliens.dms.android.app.navigation.SignUpEnterSchoolVerificationCodeNav
47+ import team.aliens.dms.android.app.navigation.SignUpEnterSchoolVerificationQuestionNav
48+ import team.aliens.dms.android.app.navigation.SignUpEnterStudentNumberNav
49+ import team.aliens.dms.android.app.navigation.SignUpSetIdNav
50+ import team.aliens.dms.android.app.navigation.SignUpSetPasswordNav
51+ import team.aliens.dms.android.app.navigation.SignUpTermsNav
4452import team.aliens.dms.android.app.navigation.VoteScreenNav
45- import team.aliens.dms.android.app.MainActivityViewModel
46- import team.aliens.dms.android.app.navigation.LateStudyNav
4753import team.aliens.dms.android.core.designsystem.snackbar.DmsSnackBar
4854import team.aliens.dms.android.core.designsystem.snackbar.DmsSnackBarVisuals
4955import team.aliens.dms.android.core.ui.navigation.LocalResultStore
5056import team.aliens.dms.android.core.ui.navigation.rememberResultStore
5157import team.aliens.dms.android.data.voting.model.AllVoteSearch
58+ import team.aliens.dms.android.feature.chatbot.ui.ChatBotRoute
59+ import team.aliens.dms.android.feature.editpassword.navigation.CheckPasswordRoute
60+ import team.aliens.dms.android.feature.editpassword.navigation.EditPasswordRoute
61+ import team.aliens.dms.android.feature.findid.navigation.FindIdRoute
62+ import team.aliens.dms.android.feature.latestudy.navigation.LateStudyRoute
5263import team.aliens.dms.android.feature.main.application.navigation.ApplicationRoute
5364import team.aliens.dms.android.feature.main.home.navigation.HomeRoute
5465import team.aliens.dms.android.feature.main.mypage.navigation.MyPageRoute
@@ -60,9 +71,6 @@ import team.aliens.dms.android.feature.point.navigation.PointHistoryRoute
6071import team.aliens.dms.android.feature.profile.route.AdjustProfileRoute
6172import team.aliens.dms.android.feature.profile.route.SelectProfileRoute
6273import team.aliens.dms.android.feature.remain.navigation.RemainApplicationRoute
63- import team.aliens.dms.android.feature.editpassword.navigation.CheckPasswordRoute
64- import team.aliens.dms.android.feature.editpassword.navigation.EditPasswordRoute
65- import team.aliens.dms.android.feature.findid.navigation.FindIdRoute
6674import team.aliens.dms.android.feature.resetpassword.navigation.ResetPasswordRoute
6775import team.aliens.dms.android.feature.setting.navigation.SettingRoute
6876import team.aliens.dms.android.feature.signin.navigation.SignInRoute
@@ -76,20 +84,7 @@ import team.aliens.dms.android.feature.signup.navigation.SignUpSetIdRoute
7684import team.aliens.dms.android.feature.signup.navigation.SignUpSetPasswordRoute
7785import team.aliens.dms.android.feature.signup.navigation.SignUpTermsRoute
7886import team.aliens.dms.android.feature.vote.navigation.VoteRoute
79- import team.aliens.dms.android.app.navigation.SignUpCompleteNav
80- import team.aliens.dms.android.app.navigation.SignUpEnterEmailNav
81- import team.aliens.dms.android.app.navigation.SignUpEnterEmailVerificationCodeNav
82- import team.aliens.dms.android.app.navigation.SignUpEnterSchoolVerificationCodeNav
83- import team.aliens.dms.android.app.navigation.SignUpEnterSchoolVerificationQuestionNav
84- import team.aliens.dms.android.app.navigation.SignUpEnterStudentNumberNav
85- import team.aliens.dms.android.app.navigation.SignUpSetIdNav
86- import team.aliens.dms.android.app.navigation.SignUpSetPasswordNav
87- import team.aliens.dms.android.app.navigation.SignUpTermsNav
88- import team.aliens.dms.android.feature.latestudy.navigation.LateStudyRoute
8987import java.util.UUID
90- import team.aliens.dms.android.app.navigation.ChatBotScreenNav
91- import team.aliens.dms.android.feature.chatbot.ui.ChatBotRoute
92-
9388
9489@Composable
9590fun DmsApp (
@@ -102,14 +97,13 @@ fun DmsApp(
10297
10398 val backStack = rememberNavBackStack(OnboardingScreenNav )
10499 val resultStore = rememberResultStore()
105- var isChatInputFocused by remember { mutableStateOf(false ) }
106100 val currentScreen = backStack.lastOrNull()
107101 val shouldShowBottomBar = currentScreen in listOf (
108102 HomeScreenNav ,
109103 ApplicationScreenNav ,
110104 ChatBotScreenNav ,
111105 MyPageScreenNav ,
112- ) && ! (currentScreen == ChatBotScreenNav && isChatInputFocused)
106+ )
113107
114108 LaunchedEffect (isStartupResolved, isOnboardingCompleted, isJwtAvailable) {
115109 if (! isStartupResolved) return @LaunchedEffect
@@ -127,8 +121,7 @@ fun DmsApp(
127121 }
128122
129123 Box (
130- modifier = Modifier
131- .fillMaxSize(),
124+ modifier = Modifier .fillMaxSize(),
132125 ) {
133126 Scaffold (
134127 bottomBar = {
@@ -145,16 +138,15 @@ fun DmsApp(
145138 }
146139 backStack.add(destination)
147140 }
148- }
141+ },
149142 )
150143 }
151144 },
152145 contentWindowInsets = WindowInsets (0 ),
153146 ) { paddingValues ->
154147 CompositionLocalProvider (LocalResultStore provides resultStore) {
155148 NavDisplay (
156- modifier = Modifier
157- .padding(paddingValues),
149+ modifier = Modifier .padding(paddingValues),
158150 backStack = backStack,
159151 onBack = { backStack.removeLastOrNull() },
160152 entryProvider = entryProvider {
@@ -214,22 +206,18 @@ fun DmsApp(
214206 },
215207 onNavigateLateStudyApplication = {
216208 backStack.add(LateStudyNav )
217- }
209+ },
218210 )
219211 }
220212 entry<ChatBotScreenNav > {
221- ChatBotRoute (
222- onInputFocusChange = { focused ->
223- isChatInputFocused = focused
224- },
225- )
213+ ChatBotRoute ()
226214 }
227215 entry<VoteScreenNav > {
228216 VoteRoute (
229217 onNavigateBack = { backStack.remove(VoteScreenNav ) },
230218 onShowSnackBar = { snackBarType, message ->
231219 appState.showSnackBar(snackBarType, message)
232- }
220+ },
233221 )
234222 }
235223 entry<RemainScreenNav > {
@@ -240,7 +228,7 @@ fun DmsApp(
240228 },
241229 onShowSnackBar = { snackBarType, message ->
242230 appState.showSnackBar(snackBarType, message)
243- }
231+ },
244232 )
245233 }
246234 entry<LateStudyNav > {
@@ -274,7 +262,7 @@ fun DmsApp(
274262 }
275263 entry<MealScreenNav > {
276264 MealRoute (
277- onNavigateBack = { backStack.remove(MealScreenNav ) }
265+ onNavigateBack = { backStack.remove(MealScreenNav ) },
278266 )
279267 }
280268 entry<SettingScreenNav > {
@@ -288,13 +276,13 @@ fun DmsApp(
288276 },
289277 onShowSnackBar = { snackBarType, message ->
290278 appState.showSnackBar(snackBarType, message)
291- }
279+ },
292280 )
293281 }
294282 entry<PointHistoryScreenNav > {
295283 PointHistoryRoute (
296284 pointType = it.pointType,
297- onBackClick = { backStack.remove(PointHistoryScreenNav (it.pointType)) }
285+ onBackClick = { backStack.remove(PointHistoryScreenNav (it.pointType)) },
298286 )
299287 }
300288 entry<EditPasswordScreenNav > {
@@ -316,7 +304,7 @@ fun DmsApp(
316304 onNavigateEditPassword = { backStack.add(EditPasswordScreenNav (it)) },
317305 onShowSnackBar = { snackBar, message ->
318306 appState.showSnackBar(snackBar, message)
319- }
307+ },
320308 )
321309 }
322310 entry<SelectProfileScreenNav > {
@@ -325,7 +313,7 @@ fun DmsApp(
325313 onNavigateAdjustProfile = { backStack.add(AdjustProfileScreenNav (model = it)) },
326314 onShowSnackBar = { snackBar, message ->
327315 appState.showSnackBar(snackBar, message)
328- }
316+ },
329317 )
330318 }
331319 entry<AdjustProfileScreenNav > {
@@ -334,7 +322,7 @@ fun DmsApp(
334322 model = it.model,
335323 onShowSnackBar = { snackBar, message ->
336324 appState.showSnackBar(snackBar, message)
337- }
325+ },
338326 )
339327 }
340328 entry<NotificationScreenNav > {
@@ -349,7 +337,7 @@ fun DmsApp(
349337 },
350338 onShowSnackBar = { snackBarType, message ->
351339 appState.showSnackBar(snackBarType, message)
352- }
340+ },
353341 )
354342 }
355343 entry<NoticeDetailScreenNav > {
0 commit comments