Skip to content

Commit 5c57a63

Browse files
committed
feat :: home screen 토스트 구현
1 parent 154515b commit 5c57a63

File tree

2 files changed

+70
-67
lines changed
  • app/src/dev/kotlin/team/aliens/dms/android/app
  • feature/src/dev/kotlin/team/aliens/dms/android/feature/main/home/navigation

2 files changed

+70
-67
lines changed

app/src/dev/kotlin/team/aliens/dms/android/app/DmsApp.kt

Lines changed: 67 additions & 66 deletions
Original file line numberDiff line numberDiff line change
@@ -1,11 +1,9 @@
11
package team.aliens.dms.android.app
22

33
import androidx.compose.foundation.layout.Box
4-
import androidx.compose.foundation.layout.fillMaxWidth
54
import androidx.compose.foundation.layout.navigationBarsPadding
65
import androidx.compose.foundation.layout.padding
76
import androidx.compose.foundation.layout.statusBarsPadding
8-
import androidx.compose.foundation.layout.systemBarsPadding
97
import androidx.compose.material3.Scaffold
108
import androidx.compose.material3.SnackbarHost
119
import androidx.compose.material3.windowsizeclass.WindowSizeClass
@@ -80,78 +78,81 @@ fun DmsApp(
8078
}
8179
}
8280

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)
9495
}
95-
backStack.add(destination)
9696
}
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() }
14597
)
14698
}
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+
)
150151
SnackbarHost(
151152
modifier = Modifier
152153
.statusBarsPadding()
153154
.padding(top = 16.dp)
154-
.align(Alignment.Center),
155+
.align(Alignment.TopCenter),
155156
hostState = appState.snackBarHostState,
156157
snackbar = {
157158
val visuals = it.visuals as? DmsSnackBarVisuals ?: return@SnackbarHost

feature/src/dev/kotlin/team/aliens/dms/android/feature/main/home/navigation/HomeRoute.kt

Lines changed: 3 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -2,17 +2,19 @@ package team.aliens.dms.android.feature.main.home.navigation
22

33
import androidx.compose.runtime.Composable
44
import kotlinx.serialization.Serializable
5+
import team.aliens.dms.android.core.designsystem.snackbar.DmsSnackBarType
56
import team.aliens.dms.android.feature.main.home.ui.Home
67

78
@Composable
89
fun HomeRoute(
910
onNavigateMeal: () -> Unit,
11+
onShowSnackBar: (DmsSnackBarType, String) -> Unit,
1012
) {
1113
Home(
1214
onNavigateNotice = { },
1315
onNavigateNoticeDetail = { },
1416
onNavigatePointHistory = { },
1517
onNavigateMeal = onNavigateMeal,
16-
onShowSnackBar = { _, _ -> },
18+
onShowSnackBar = onShowSnackBar,
1719
)
1820
}

0 commit comments

Comments
 (0)