From 0ece949b0b52bb49aae97b86a7c2e35d3425ed14 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=EC=B6=94=EC=97=B0=EC=9A=B0?= Date: Thu, 21 May 2026 23:54:04 +0900 Subject: [PATCH 1/3] =?UTF-8?q?fix=20:=20QA=20=EB=B0=98=EC=98=81?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../umcspot/spot/designsystem/component/modal/ReportModal.kt | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/core/designsystem/src/main/java/com/umcspot/spot/designsystem/component/modal/ReportModal.kt b/core/designsystem/src/main/java/com/umcspot/spot/designsystem/component/modal/ReportModal.kt index b66a3f31..97411385 100644 --- a/core/designsystem/src/main/java/com/umcspot/spot/designsystem/component/modal/ReportModal.kt +++ b/core/designsystem/src/main/java/com/umcspot/spot/designsystem/component/modal/ReportModal.kt @@ -146,7 +146,7 @@ fun ReportModal( ) ) - Spacer(Modifier.height(screenHeightDp(16.dp))) + Spacer(Modifier.height(screenHeightDp(20.dp))) TextButton( modifier = Modifier From 644f74926b5948fcf147e0a79a87f72117159d4e Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=EC=B6=94=EC=97=B0=EC=9A=B0?= Date: Wed, 3 Jun 2026 18:43:17 +0900 Subject: [PATCH 2/3] =?UTF-8?q?fix=20:=202=EC=B0=A8=20QA=20=EB=B0=98?= =?UTF-8?q?=EC=98=81?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../designsystem/component/appBar/AppBar.kt | 18 ++++++++++--- .../board/post/posting/PostingScreen.kt | 25 +++++++++++-------- .../java/com/umcspot/spot/home/HomeScreen.kt | 1 + .../java/com/umcspot/spot/main/MainNavHost.kt | 3 ++- .../java/com/umcspot/spot/main/MainScreen.kt | 11 +++++++- .../mypage/navigation/MyPageNavigation.kt | 3 ++- .../study/recruiting/RecruitingStudyScreen.kt | 6 ++--- .../navigation/RecruitingStudyNavigation.kt | 2 +- 8 files changed, 47 insertions(+), 22 deletions(-) diff --git a/core/designsystem/src/main/java/com/umcspot/spot/designsystem/component/appBar/AppBar.kt b/core/designsystem/src/main/java/com/umcspot/spot/designsystem/component/appBar/AppBar.kt index c9913fe0..f852efc9 100644 --- a/core/designsystem/src/main/java/com/umcspot/spot/designsystem/component/appBar/AppBar.kt +++ b/core/designsystem/src/main/java/com/umcspot/spot/designsystem/component/appBar/AppBar.kt @@ -3,6 +3,7 @@ package com.umcspot.spot.designsystem.component.appBar import androidx.compose.foundation.Image import androidx.compose.foundation.background import androidx.compose.foundation.border +import androidx.compose.foundation.clickable import androidx.compose.foundation.layout.Arrangement import androidx.compose.foundation.layout.Box import androidx.compose.foundation.layout.Row @@ -46,6 +47,7 @@ fun AppBarHome ( hasAlert: Boolean = false, onSearchClick: () -> Unit, onAlertClick: () -> Unit, + onLogoClick : () -> Unit, modifier: Modifier = Modifier ) { Row( @@ -57,16 +59,22 @@ fun AppBarHome ( verticalAlignment = Alignment.CenterVertically, horizontalArrangement = Arrangement.SpaceBetween ) { + Image( painter = painterResource(id = R.drawable.spot_logo), contentDescription = "App Logo", - modifier = Modifier.size(screenWidthDp(33.dp)) + modifier = Modifier + .size(screenWidthDp(33.dp)) + .clickable( + onClick = onLogoClick + ) ) Row(verticalAlignment = Alignment.CenterVertically) { IconButton( modifier = Modifier.size(screenWidthDp(32.dp)), - onClick = onSearchClick) { + onClick = onSearchClick + ) { Icon( painter = painterResource(id = R.drawable.search), contentDescription = "Search", @@ -98,7 +106,8 @@ fun TopBarPreview_NoNotification() { AppBarHome( hasAlert = false, onSearchClick = {}, - onAlertClick = {} + onAlertClick = {}, + onLogoClick = {} ) } } @@ -110,7 +119,8 @@ fun TopBarPreview_WithNotification() { AppBarHome( hasAlert = true, onSearchClick = {}, - onAlertClick = {} + onAlertClick = {}, + onLogoClick = {} ) } } diff --git a/feature/board/src/main/java/com/umcspot/spot/feature/board/post/posting/PostingScreen.kt b/feature/board/src/main/java/com/umcspot/spot/feature/board/post/posting/PostingScreen.kt index 105124aa..813385d8 100644 --- a/feature/board/src/main/java/com/umcspot/spot/feature/board/post/posting/PostingScreen.kt +++ b/feature/board/src/main/java/com/umcspot/spot/feature/board/post/posting/PostingScreen.kt @@ -24,9 +24,8 @@ import androidx.compose.foundation.layout.size import androidx.compose.foundation.layout.width import androidx.compose.foundation.layout.wrapContentWidth import androidx.compose.foundation.text.BasicTextField +import androidx.compose.material3.DropdownMenu import androidx.compose.material3.DropdownMenuItem -import androidx.compose.material3.ExperimentalMaterial3Api -import androidx.compose.material3.ExposedDropdownMenuBox import androidx.compose.material3.HorizontalDivider import androidx.compose.material3.Text import androidx.compose.runtime.Composable @@ -290,7 +289,6 @@ private fun BottomToolsRow( } } -@OptIn(ExperimentalMaterial3Api::class) @Composable fun BoardCategorySelector( selected: PostType, @@ -311,18 +309,14 @@ fun BoardCategorySelector( Spacer(modifier = Modifier.width(screenWidthDp(7.dp))) - ExposedDropdownMenuBox ( - expanded = expanded, - onExpandedChange = { expanded = !expanded } - ) { + Box { Row( verticalAlignment = Alignment.CenterVertically, modifier = Modifier - .menuAnchor() // ★ anchor 지정 .width(screenWidthDp(85.dp)) .border(1.dp, SpotTheme.colors.G200, SpotShapes.Hard) .clip(SpotShapes.Hard) - .clickable { expanded = true } + .clickable { expanded = !expanded } .padding( horizontal = screenWidthDp(10.dp), vertical = screenHeightDp(6.dp) @@ -343,14 +337,15 @@ fun BoardCategorySelector( ) } - ExposedDropdownMenu( + DropdownMenu( expanded = expanded, onDismissRequest = { expanded = false }, + shape = SpotShapes.Hard, modifier = Modifier .background(SpotTheme.colors.white) .width(screenWidthDp(85.dp)) ) { - PostType.entries.forEach { type -> + PostType.entries.forEachIndexed { index, type -> DropdownMenuItem( modifier = Modifier .height(screenHeightDp(30.dp)) @@ -368,6 +363,14 @@ fun BoardCategorySelector( expanded = false } ) + + if (index != PostType.entries.lastIndex) { + HorizontalDivider( + modifier = Modifier.fillMaxWidth(), + thickness = 1.dp, + color = SpotTheme.colors.gray300 + ) + } } } } diff --git a/feature/home/src/main/java/com/umcspot/spot/home/HomeScreen.kt b/feature/home/src/main/java/com/umcspot/spot/home/HomeScreen.kt index 0c0d1790..d9f4d3a8 100644 --- a/feature/home/src/main/java/com/umcspot/spot/home/HomeScreen.kt +++ b/feature/home/src/main/java/com/umcspot/spot/home/HomeScreen.kt @@ -225,6 +225,7 @@ private fun HomeScreen( state = uiState.recommendStudies, onStudyClick = onStudyClick ) + Spacer(modifier = Modifier.height(screenHeightDp(24.dp))) } } } diff --git a/feature/main/src/main/java/com/umcspot/spot/main/MainNavHost.kt b/feature/main/src/main/java/com/umcspot/spot/main/MainNavHost.kt index 67dcb894..7909d4ce 100644 --- a/feature/main/src/main/java/com/umcspot/spot/main/MainNavHost.kt +++ b/feature/main/src/main/java/com/umcspot/spot/main/MainNavHost.kt @@ -131,6 +131,7 @@ fun MainNavHost( } ) }, + navigateToMakeStudy = {navigator.navigateToRegisterStudy()}, moveToRecruitingStudy = { navigator.navigateToRecruitingStudy() }, moveToPreferCategoryStudy = { navigator.navigateToEditInterestStudy( @@ -167,7 +168,7 @@ fun MainNavHost( recruitingStudyGraph( contentPadding = contentPadding, onRegisterScrollToTop = onRegisterScrollToTop, - onItemClick = {}, + onItemClick = { navigator.navigateToStudyDetail(it)}, onFilterClick = { navigator.navigateToRecruitingStudyFilter() }, ) diff --git a/feature/main/src/main/java/com/umcspot/spot/main/MainScreen.kt b/feature/main/src/main/java/com/umcspot/spot/main/MainScreen.kt index 984e7828..4d3e3366 100644 --- a/feature/main/src/main/java/com/umcspot/spot/main/MainScreen.kt +++ b/feature/main/src/main/java/com/umcspot/spot/main/MainScreen.kt @@ -24,6 +24,7 @@ import androidx.hilt.navigation.compose.hiltViewModel import androidx.lifecycle.compose.collectAsStateWithLifecycle import androidx.navigation.NavDestination.Companion.hasRoute import androidx.navigation.compose.currentBackStackEntryAsState +import androidx.navigation.navOptions import androidx.navigation.toRoute import com.umcspot.spot.alert.navigation.Alert import com.umcspot.spot.alert.navigation.navigateToAlert @@ -39,6 +40,7 @@ import com.umcspot.spot.feature.board.post.content.navigation.POST_CONTENT_ROUTE import com.umcspot.spot.feature.board.post.posting.navigation.Posting import com.umcspot.spot.feature.board.post.posting.navigation.navigateToPostingNew import com.umcspot.spot.home.navigation.Home +import com.umcspot.spot.home.navigation.navigateToHome import com.umcspot.spot.jjim.navigation.JJim import com.umcspot.spot.main.component.MainBottomBar import com.umcspot.spot.mypage.navigation.MyPageGraph @@ -125,8 +127,15 @@ fun MainScreen( } else { AppBarHome( hasAlert = hasUnreadAlert, - onSearchClick = { /* TODO */ }, + onSearchClick = { }, onAlertClick = { navController.navigateToAlert() }, + onLogoClick = { + navController.navigateToHome( + navOptions = navOptions { + popUpTo { inclusive = true } + } + ) + }, modifier = Modifier.statusBarsPadding() ) } diff --git a/feature/mypage/src/main/java/com/umcspot/spot/mypage/navigation/MyPageNavigation.kt b/feature/mypage/src/main/java/com/umcspot/spot/mypage/navigation/MyPageNavigation.kt index 5e0285ce..e900708d 100644 --- a/feature/mypage/src/main/java/com/umcspot/spot/mypage/navigation/MyPageNavigation.kt +++ b/feature/mypage/src/main/java/com/umcspot/spot/mypage/navigation/MyPageNavigation.kt @@ -104,6 +104,7 @@ fun NavGraphBuilder.myPageGraph( navigateToParticipatingStudy: () -> Unit, navigateToMyRecruitingStudy: () -> Unit, navigateToWaitingStudy: () -> Unit, + navigateToMakeStudy: () -> Unit, navigateToEditInterestStudy: () -> Unit, navigateToEditInterestRegion: () -> Unit, navigateToCancelMembership: () -> Unit, @@ -141,7 +142,7 @@ fun NavGraphBuilder.myPageGraph( onBackClick = navigateUp, onRegisterScrollToTop = onRegisterScrollToTop, onStudyClick = onStudyClick, - moveToMakeStudy = {}, + moveToMakeStudy = navigateToMakeStudy, moveToCheckApplied = navigateToStudyApplications ) } diff --git a/feature/study/src/main/java/com/umcspot/spot/study/recruiting/RecruitingStudyScreen.kt b/feature/study/src/main/java/com/umcspot/spot/study/recruiting/RecruitingStudyScreen.kt index 1c80bbbc..d2b0813d 100644 --- a/feature/study/src/main/java/com/umcspot/spot/study/recruiting/RecruitingStudyScreen.kt +++ b/feature/study/src/main/java/com/umcspot/spot/study/recruiting/RecruitingStudyScreen.kt @@ -75,7 +75,7 @@ fun RecruitingStudyScreen( viewmodel: RecruitingStudyViewModel = hiltViewModel(), onRegisterScrollToTop: ((() -> Unit)?) -> Unit, onFilterClick: () -> Unit, - onItemClick: (StudyResult) -> Unit + onItemClick: (Long) -> Unit ) { val state by viewmodel.uiState.collectAsStateWithLifecycle() val sort by viewmodel.sortType.collectAsStateWithLifecycle() @@ -228,7 +228,7 @@ private fun RecruitingStudyScreenContent( modifier: Modifier = Modifier, studies: List, listState: LazyListState, - onItemClick: (StudyResult) -> Unit, + onItemClick: (Long) -> Unit, ) { LazyColumn( state = listState, @@ -245,7 +245,7 @@ private fun RecruitingStudyScreenContent( item = item, modifier = Modifier .fillMaxWidth(), - onClick = { onItemClick(item) } + onClick = { onItemClick(item.id) } ) if(studies.indexOf(item) != studies.lastIndex) { diff --git a/feature/study/src/main/java/com/umcspot/spot/study/recruiting/navigation/RecruitingStudyNavigation.kt b/feature/study/src/main/java/com/umcspot/spot/study/recruiting/navigation/RecruitingStudyNavigation.kt index bfbc2343..0759e093 100644 --- a/feature/study/src/main/java/com/umcspot/spot/study/recruiting/navigation/RecruitingStudyNavigation.kt +++ b/feature/study/src/main/java/com/umcspot/spot/study/recruiting/navigation/RecruitingStudyNavigation.kt @@ -18,7 +18,7 @@ fun NavGraphBuilder.recruitingStudyGraph( contentPadding : PaddingValues, onRegisterScrollToTop: ((() -> Unit)?) -> Unit, onFilterClick : () -> Unit, - onItemClick : (StudyResult) -> Unit + onItemClick : (Long) -> Unit ) { composable { RecruitingStudyScreen( From 9dfdf17a4a6c1d363188399115f8b1338ea18997 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=EC=B6=94=EC=97=B0=EC=9A=B0?= Date: Wed, 3 Jun 2026 18:46:29 +0900 Subject: [PATCH 3/3] =?UTF-8?q?fix=20:=20=ED=83=88=ED=87=B4=20=EB=A1=9C?= =?UTF-8?q?=EC=A7=81=20=EC=88=98=EC=A0=95?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../spot/mypage/cancelMemberShip/CancelMemberShipScreen.kt | 3 +-- 1 file changed, 1 insertion(+), 2 deletions(-) diff --git a/feature/mypage/src/main/java/com/umcspot/spot/mypage/cancelMemberShip/CancelMemberShipScreen.kt b/feature/mypage/src/main/java/com/umcspot/spot/mypage/cancelMemberShip/CancelMemberShipScreen.kt index d2170514..55baffd1 100644 --- a/feature/mypage/src/main/java/com/umcspot/spot/mypage/cancelMemberShip/CancelMemberShipScreen.kt +++ b/feature/mypage/src/main/java/com/umcspot/spot/mypage/cancelMemberShip/CancelMemberShipScreen.kt @@ -141,9 +141,8 @@ fun CancelMemberShipScreen( noButtonText = "취소", onDismiss = { showDialog = false }, onClick = { - viewmodel.leaveSpot() - showSuccessDialog = true showDialog = false + viewmodel.leaveSpot() }, onCancel = { showDialog = false } )