From 0addf6f53fe6fb31c365ed0e2663768c5fb3e810 Mon Sep 17 00:00:00 2001 From: oilbeaneda <20221444@sungshin.ac.kr> Date: Wed, 22 Jul 2026 10:28:47 +0900 Subject: [PATCH 1/5] =?UTF-8?q?[fix/#59]=20MainAppState.navigate()=20popUp?= =?UTF-8?q?To=20=EC=95=B5=EC=BB=A4=EC=84=A4=EC=A0=95=20=EB=B3=80=EA=B2=BD?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- app/src/main/java/org/app/presentation/main/MainAppState.kt | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/app/src/main/java/org/app/presentation/main/MainAppState.kt b/app/src/main/java/org/app/presentation/main/MainAppState.kt index ddf557ae..9558f335 100644 --- a/app/src/main/java/org/app/presentation/main/MainAppState.kt +++ b/app/src/main/java/org/app/presentation/main/MainAppState.kt @@ -15,7 +15,7 @@ import kotlinx.coroutines.flow.StateFlow import kotlinx.coroutines.flow.combine import kotlinx.coroutines.flow.map import org.app.core.extension.stateInWhileSubscribed -import org.app.presentation.home.navigation.HomeGraph +import org.app.presentation.home.navigation.Home import org.app.presentation.home.navigation.navigateToHome import org.app.presentation.mypage.navigateToMyPage import org.app.presentation.onboarding.splash.navigation.Splash @@ -69,7 +69,7 @@ class MainAppState( fun navigate(tab: MainTab) { val navOptions = navOptions { - popUpTo { + popUpTo { saveState = true } launchSingleTop = true From 61e66660e4f6d8751f70c744fe82d6f858fff6a3 Mon Sep 17 00:00:00 2001 From: oilbeaneda <20221444@sungshin.ac.kr> Date: Wed, 22 Jul 2026 10:46:18 +0900 Subject: [PATCH 2/5] =?UTF-8?q?[fix/#59]=20=EB=84=A4=EB=B9=84=EB=B0=94=20?= =?UTF-8?q?=EB=B6=95=EB=9C=B8=EC=9D=B4=EC=8A=88=20=EB=B0=8F=20=EC=83=89?= =?UTF-8?q?=EC=83=81=20=EC=88=98=EC=A0=95?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../java/org/app/presentation/main/MainScreen.kt | 12 +++++++++++- .../presentation/pubdetail/component/PubBottomBar.kt | 2 +- 2 files changed, 12 insertions(+), 2 deletions(-) diff --git a/app/src/main/java/org/app/presentation/main/MainScreen.kt b/app/src/main/java/org/app/presentation/main/MainScreen.kt index 79c3d447..409cc018 100644 --- a/app/src/main/java/org/app/presentation/main/MainScreen.kt +++ b/app/src/main/java/org/app/presentation/main/MainScreen.kt @@ -27,6 +27,7 @@ import org.app.presentation.onboarding.signup.navigation.SignUpNickname import org.app.presentation.onboarding.signup.navigation.signUpGraph import org.app.presentation.onboarding.splash.navigation.Splash import org.app.presentation.onboarding.splash.navigation.splashGraph +import org.app.presentation.pubdetail.navigation.PubDetail import org.app.presentation.pubdetail.navigation.navigateToPubDetail import org.app.presentation.pubdetail.navigation.pubDetailGraph import org.app.presentation.schedule.navigation.scheduleGraph @@ -83,6 +84,15 @@ private fun MainNavHost( ) val isFullBleed = currentRoute != null && fullBleedPrefixes.any { currentRoute.startsWith(it) } + val managesOwnBottomInset = currentRoute != null && + PubDetail::class.qualifiedName?.let { currentRoute.startsWith(it) } == true + + val contentModifier = when { + isFullBleed -> Modifier.fillMaxSize() + managesOwnBottomInset -> Modifier.padding(top = innerPadding.calculateTopPadding()) + else -> Modifier.padding(innerPadding) + } + NavHost( enterTransition = { EnterTransition.None }, exitTransition = { ExitTransition.None }, @@ -90,7 +100,7 @@ private fun MainNavHost( popExitTransition = { ExitTransition.None }, navController = appState.navController, startDestination = appState.startDestination, - modifier = if (isFullBleed) Modifier.fillMaxSize() else Modifier.padding(innerPadding), + modifier = contentModifier, ) { splashGraph( navigateToHome = { diff --git a/app/src/main/java/org/app/presentation/pubdetail/component/PubBottomBar.kt b/app/src/main/java/org/app/presentation/pubdetail/component/PubBottomBar.kt index 2d07877d..65c38ff4 100644 --- a/app/src/main/java/org/app/presentation/pubdetail/component/PubBottomBar.kt +++ b/app/src/main/java/org/app/presentation/pubdetail/component/PubBottomBar.kt @@ -37,7 +37,7 @@ fun PubBottomBar( ) { Surface( modifier = modifier.fillMaxWidth(), - color = MoballTheme.colors.backgroundBase, + color = MoballTheme.colors.staticWhite, shadowElevation = 8.dp, tonalElevation = 0.dp, ) { From 1da22bff6fac4e46cc1321f082d61614a9d587b2 Mon Sep 17 00:00:00 2001 From: oilbeaneda <20221444@sungshin.ac.kr> Date: Wed, 22 Jul 2026 10:46:56 +0900 Subject: [PATCH 3/5] =?UTF-8?q?[del/#59]=20=EC=A3=BC=EC=84=9D=20=EC=82=AD?= =?UTF-8?q?=EC=A0=9C?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- app/src/main/java/org/app/presentation/main/MainScreen.kt | 2 -- 1 file changed, 2 deletions(-) diff --git a/app/src/main/java/org/app/presentation/main/MainScreen.kt b/app/src/main/java/org/app/presentation/main/MainScreen.kt index 409cc018..9aff15c7 100644 --- a/app/src/main/java/org/app/presentation/main/MainScreen.kt +++ b/app/src/main/java/org/app/presentation/main/MainScreen.kt @@ -74,8 +74,6 @@ private fun MainNavHost( appState: MainAppState, innerPadding: PaddingValues, ) { - // 로그인·온보딩 완료 등 어두운 배경 화면은 배경을 화면 끝(시스템바 뒤)까지 그리도록 innerPadding을 적용하지 않는다. - // (해당 화면들은 각자 콘텐츠에 systemBarsPadding을 적용) val currentEntry by appState.navController.currentBackStackEntryAsState() val currentRoute = currentEntry?.destination?.route val fullBleedPrefixes = listOfNotNull( From d172d3cd1628ddb7d428dbb8b0cab308951beebe Mon Sep 17 00:00:00 2001 From: oilbeaneda <20221444@sungshin.ac.kr> Date: Wed, 22 Jul 2026 10:52:36 +0900 Subject: [PATCH 4/5] =?UTF-8?q?[mod/#59]=20=EC=BA=98=EB=A6=B0=EB=8D=94=20?= =?UTF-8?q?=EB=B7=B0=20=EC=83=89=EC=83=81=20=EC=9D=B4=EC=83=81=20=EC=88=98?= =?UTF-8?q?=EC=A0=95?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../presentation/schedule/component/ScheduleCalendarHeader.kt | 4 +--- 1 file changed, 1 insertion(+), 3 deletions(-) diff --git a/app/src/main/java/org/app/presentation/schedule/component/ScheduleCalendarHeader.kt b/app/src/main/java/org/app/presentation/schedule/component/ScheduleCalendarHeader.kt index 911afa63..7c949e14 100644 --- a/app/src/main/java/org/app/presentation/schedule/component/ScheduleCalendarHeader.kt +++ b/app/src/main/java/org/app/presentation/schedule/component/ScheduleCalendarHeader.kt @@ -69,7 +69,7 @@ fun ScheduleCalendarHeader( elevation = 20.dp, spotColor = Color(0x26000000), ambientColor = Color(0x26000000), - ).background(MoballTheme.colors.backgroundBase), + ).background(MoballTheme.colors.staticWhite), ) { MonthNavigationRow( currentMonth = currentMonth, @@ -103,7 +103,6 @@ private fun MonthNavigationRow( .fillMaxWidth() .padding(horizontal = 16.dp), ) { - // 가운데: < 2026년 N월 > — 화면 폭과 무관하게 중앙 정렬 Row( modifier = Modifier.align(Alignment.Center), verticalAlignment = Alignment.CenterVertically, @@ -139,7 +138,6 @@ private fun MonthNavigationRow( ) } - // 오른쪽 고정: 캘린더 아이콘 Icon( imageVector = ImageVector.vectorResource(R.drawable.ic_calender), contentDescription = null, From ff1ba15478daf8c5539e1620c18132facfad87ca Mon Sep 17 00:00:00 2001 From: oilbeaneda <20221444@sungshin.ac.kr> Date: Wed, 22 Jul 2026 10:59:57 +0900 Subject: [PATCH 5/5] =?UTF-8?q?[mod/#59]=20=EC=83=89=EC=83=81=20=EC=9D=B4?= =?UTF-8?q?=EC=83=81=20=EC=88=98=EC=A0=95?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../app/core/designsystem/component/topbar/MoballTopBar.kt | 4 +++- app/src/main/java/org/app/core/designsystem/theme/Color.kt | 2 +- 2 files changed, 4 insertions(+), 2 deletions(-) diff --git a/app/src/main/java/org/app/core/designsystem/component/topbar/MoballTopBar.kt b/app/src/main/java/org/app/core/designsystem/component/topbar/MoballTopBar.kt index 88334cd0..03ed0682 100644 --- a/app/src/main/java/org/app/core/designsystem/component/topbar/MoballTopBar.kt +++ b/app/src/main/java/org/app/core/designsystem/component/topbar/MoballTopBar.kt @@ -1,5 +1,6 @@ package org.app.core.designsystem.component.topbar +import androidx.compose.foundation.background import androidx.compose.foundation.layout.Box import androidx.compose.foundation.layout.IntrinsicSize import androidx.compose.foundation.layout.Row @@ -42,7 +43,8 @@ fun MoballTopBar( modifier = modifier .fillMaxWidth() .heightIn(min = 56.dp) - .height(IntrinsicSize.Min), + .height(IntrinsicSize.Min) + .background(MoballTheme.colors.staticWhite), ) { Row( modifier = Modifier diff --git a/app/src/main/java/org/app/core/designsystem/theme/Color.kt b/app/src/main/java/org/app/core/designsystem/theme/Color.kt index b9daada8..8ca7633b 100644 --- a/app/src/main/java/org/app/core/designsystem/theme/Color.kt +++ b/app/src/main/java/org/app/core/designsystem/theme/Color.kt @@ -153,7 +153,7 @@ data class MoballColors( val defaultMoballColors = MoballColors( // Background - backgroundBase = backGround, + backgroundBase = white, backgroundSurface = coolNeutral130, backgroundScrim = coolNeutral800, // Border & Line