From 93fc296319c56d50d6641a1ff4e7e635c85c38fa Mon Sep 17 00:00:00 2001 From: MinJae Han Date: Sat, 25 Jan 2025 07:42:37 +0900 Subject: [PATCH] =?UTF-8?q?[HOTFIX/#193]=20final=20QA=20=EC=88=98=EC=A0=95?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../com/spoony/spoony/presentation/map/MapViewModel.kt | 1 + .../spoony/presentation/map/search/MapSearchScreen.kt | 9 ++++++++- .../map/search/component/MapSearchRecentItem.kt | 6 ++++-- .../spoony/presentation/placeDetail/PlaceDetailRoute.kt | 4 ++-- 4 files changed, 15 insertions(+), 5 deletions(-) diff --git a/app/src/main/java/com/spoony/spoony/presentation/map/MapViewModel.kt b/app/src/main/java/com/spoony/spoony/presentation/map/MapViewModel.kt index f8d9ede2..0617cb45 100644 --- a/app/src/main/java/com/spoony/spoony/presentation/map/MapViewModel.kt +++ b/app/src/main/java/com/spoony/spoony/presentation/map/MapViewModel.kt @@ -106,6 +106,7 @@ class MapViewModel @Inject constructor( ).onSuccess { response -> _state.update { it.copy( + placeCount = response.size, addedPlaceList = if (response.isEmpty()) { UiState.Success( response.toImmutableList() diff --git a/app/src/main/java/com/spoony/spoony/presentation/map/search/MapSearchScreen.kt b/app/src/main/java/com/spoony/spoony/presentation/map/search/MapSearchScreen.kt index 9de5549b..2a0b2c6b 100644 --- a/app/src/main/java/com/spoony/spoony/presentation/map/search/MapSearchScreen.kt +++ b/app/src/main/java/com/spoony/spoony/presentation/map/search/MapSearchScreen.kt @@ -14,6 +14,7 @@ import androidx.compose.runtime.getValue import androidx.compose.runtime.remember import androidx.compose.ui.Modifier import androidx.compose.ui.focus.FocusRequester +import androidx.compose.ui.platform.LocalFocusManager import androidx.compose.ui.text.style.TextAlign import androidx.compose.ui.unit.dp import androidx.hilt.navigation.compose.hiltViewModel @@ -67,6 +68,7 @@ private fun MapSearchScreen( onDeleteAllButtonClick: () -> Unit ) { val focusRequester = remember { FocusRequester() } + val focusManager = LocalFocusManager.current LaunchedEffect(Unit) { focusRequester.requestFocus() @@ -122,8 +124,13 @@ private fun MapSearchScreen( ) { searchKeyword -> MapSearchRecentItem( searchText = searchKeyword, - onClick = { + onClickIcon = { onDeleteButtonClick(searchKeyword) + }, + onClickText = { + onSearchKeywordChanged(searchKeyword) + onSearchButtonClick() + focusManager.clearFocus() } ) } diff --git a/app/src/main/java/com/spoony/spoony/presentation/map/search/component/MapSearchRecentItem.kt b/app/src/main/java/com/spoony/spoony/presentation/map/search/component/MapSearchRecentItem.kt index 9e02be60..a2c749c6 100644 --- a/app/src/main/java/com/spoony/spoony/presentation/map/search/component/MapSearchRecentItem.kt +++ b/app/src/main/java/com/spoony/spoony/presentation/map/search/component/MapSearchRecentItem.kt @@ -17,7 +17,8 @@ import com.spoony.spoony.core.util.extension.noRippleClickable @Composable fun MapSearchRecentItem( searchText: String, - onClick: () -> Unit, + onClickIcon: () -> Unit, + onClickText: () -> Unit, modifier: Modifier = Modifier ) { Row( @@ -30,6 +31,7 @@ fun MapSearchRecentItem( color = SpoonyAndroidTheme.colors.black, modifier = Modifier .weight(1f) + .noRippleClickable(onClick = onClickText) ) Icon( @@ -38,7 +40,7 @@ fun MapSearchRecentItem( tint = SpoonyAndroidTheme.colors.gray400, modifier = Modifier .padding(vertical = 14.dp) - .noRippleClickable(onClick = onClick) + .noRippleClickable(onClick = onClickIcon) ) } } diff --git a/app/src/main/java/com/spoony/spoony/presentation/placeDetail/PlaceDetailRoute.kt b/app/src/main/java/com/spoony/spoony/presentation/placeDetail/PlaceDetailRoute.kt index b9b0b1f9..b7c944cf 100644 --- a/app/src/main/java/com/spoony/spoony/presentation/placeDetail/PlaceDetailRoute.kt +++ b/app/src/main/java/com/spoony/spoony/presentation/placeDetail/PlaceDetailRoute.kt @@ -157,7 +157,7 @@ fun PlaceDetailRoute( modifier = Modifier .navigationBarsPadding(), addMapCount = state.addMapCount, - isScooped = state.isScooped, + isScooped = state.isScooped || data.isMine, isAddMap = state.isAddMap, onScoopButtonClick = { scoopDialogVisibility = true @@ -188,7 +188,7 @@ fun PlaceDetailRoute( date = data.date.formatToYearMonthDay(), placeAddress = data.placeAddress, placeName = data.placeName, - isScooped = state.isScooped, + isScooped = state.isScooped || data.isMine, dropdownMenuList = dropDownMenuList, onReportButtonClick = { navigateToReport(postId) } )