From df476274c2001738fc328b406f5d2606c8c70f5a Mon Sep 17 00:00:00 2001 From: seungjun Date: Mon, 30 Mar 2026 18:46:32 +0900 Subject: [PATCH 1/4] =?UTF-8?q?[del/#298]=20=ED=95=84=EC=9A=94=EC=97=86?= =?UTF-8?q?=EB=8A=94=20=ED=8C=8C=EC=9D=BC=20=EC=A0=9C=EA=B1=B0?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../smashing/app/data/model/event/UserSummary.kt | 9 --------- .../data/remote/dto/event/common/UserSummaryDto.kt | 14 -------------- 2 files changed, 23 deletions(-) delete mode 100644 app/src/main/java/com/smashing/app/data/model/event/UserSummary.kt delete mode 100644 app/src/main/java/com/smashing/app/data/remote/dto/event/common/UserSummaryDto.kt diff --git a/app/src/main/java/com/smashing/app/data/model/event/UserSummary.kt b/app/src/main/java/com/smashing/app/data/model/event/UserSummary.kt deleted file mode 100644 index 5a6a71b0a..000000000 --- a/app/src/main/java/com/smashing/app/data/model/event/UserSummary.kt +++ /dev/null @@ -1,9 +0,0 @@ -package com.smashing.app.data.model.event - -import com.smashing.app.data.type.TierType - -data class UserSummary( - val userId: String, - val nickname: String, - val tierType: TierType, -) diff --git a/app/src/main/java/com/smashing/app/data/remote/dto/event/common/UserSummaryDto.kt b/app/src/main/java/com/smashing/app/data/remote/dto/event/common/UserSummaryDto.kt deleted file mode 100644 index 3bf3eb96a..000000000 --- a/app/src/main/java/com/smashing/app/data/remote/dto/event/common/UserSummaryDto.kt +++ /dev/null @@ -1,14 +0,0 @@ -package com.smashing.app.data.remote.dto.event.common - -import kotlinx.serialization.SerialName -import kotlinx.serialization.Serializable - -@Serializable -data class UserSummaryDto( - @SerialName("userId") - val userId: String, - @SerialName("nickname") - val nickname: String, - @SerialName("tierCode") - val tierCode: String, -) From daf7cb4b28fac3898c90794dfd400c90ebabf37b Mon Sep 17 00:00:00 2001 From: seungjun Date: Mon, 30 Mar 2026 18:47:17 +0900 Subject: [PATCH 2/4] =?UTF-8?q?[chore/#298]=20CloseMatching=20=EC=BB=B4?= =?UTF-8?q?=ED=8F=AC=EB=84=8C=ED=8A=B8=20=EB=AF=B8=EC=82=AC=EC=9A=A9=20?= =?UTF-8?q?=ED=8C=8C=EB=9D=BC=EB=AF=B8=ED=84=B0(userId)=20=EC=A0=9C?= =?UTF-8?q?=EA=B1=B0?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../java/com/smashing/app/presentation/home/HomeScreen.kt | 1 - .../app/presentation/home/component/CloseMatching.kt | 6 +----- 2 files changed, 1 insertion(+), 6 deletions(-) diff --git a/app/src/main/java/com/smashing/app/presentation/home/HomeScreen.kt b/app/src/main/java/com/smashing/app/presentation/home/HomeScreen.kt index 286cf18c1..dcbade5c2 100644 --- a/app/src/main/java/com/smashing/app/presentation/home/HomeScreen.kt +++ b/app/src/main/java/com/smashing/app/presentation/home/HomeScreen.kt @@ -300,7 +300,6 @@ private fun HomeScreen( Spacer(modifier = Modifier.height(20.dp)) CloseMatching( - myProfileId = uiState.activeMyProfile.myProfileInfo.profileId, myNickname = uiState.activeMyProfile.nickname, matchedUser = uiState.matchedUser, onClick = { matching -> diff --git a/app/src/main/java/com/smashing/app/presentation/home/component/CloseMatching.kt b/app/src/main/java/com/smashing/app/presentation/home/component/CloseMatching.kt index a25df82f1..099d7bc6e 100644 --- a/app/src/main/java/com/smashing/app/presentation/home/component/CloseMatching.kt +++ b/app/src/main/java/com/smashing/app/presentation/home/component/CloseMatching.kt @@ -26,9 +26,9 @@ import androidx.compose.ui.res.stringResource import androidx.compose.ui.text.style.TextAlign import androidx.compose.ui.unit.dp import com.smashing.app.R.drawable.img_dummy_versus +import com.smashing.app.R.drawable.img_profile import com.smashing.app.R.string.home_btn_go_to_matching_search import com.smashing.app.R.string.home_no_matching -import com.smashing.app.R.drawable.img_profile import com.smashing.app.core.designsystem.component.button.SmashingBaseButton import com.smashing.app.core.designsystem.component.image.UrlImage import com.smashing.app.core.designsystem.style.SmashingBtnColor @@ -40,7 +40,6 @@ import com.smashing.app.data.model.matching.AcceptedMatching @Composable fun CloseMatching( myNickname: String, - myProfileId: String, onClick: (AcceptedMatching) -> Unit, modifier: Modifier = Modifier, matchedUser: AcceptedMatching? = null, @@ -78,13 +77,11 @@ fun CloseMatching( ) MatchedUserItem( - userId = myProfileId, nickname = myNickname, modifier = Modifier.align(Alignment.CenterStart) ) MatchedUserItem( - userId = matchedUser.profileId, nickname = matchedUser.nickname, modifier = Modifier.align(Alignment.CenterEnd) ) @@ -145,7 +142,6 @@ fun CloseMatching( @Composable private fun MatchedUserItem( - userId: String, nickname: String, modifier: Modifier = Modifier, ) { From d3744a8e6bdb1c5a58da26cbaf7d24b086cc1366 Mon Sep 17 00:00:00 2001 From: seungjun Date: Mon, 30 Mar 2026 21:46:12 +0900 Subject: [PATCH 3/4] =?UTF-8?q?[chore/#298]=20=EB=B3=80=EC=88=98=EB=AA=85?= =?UTF-8?q?=20=EB=B0=8F=20=ED=8C=8C=EB=9D=BC=EB=AF=B8=ED=84=B0=20=EC=9D=B4?= =?UTF-8?q?=EB=A6=84=EC=9D=84=20userProfileId=EB=A1=9C=20=ED=86=B5?= =?UTF-8?q?=EC=9D=BC?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit - `reportedUserId`를 `reportedUserProfileId`로 변경 (reportNavigation.kt, ReportPage, ReportViewModel.kt) - `Ranker` 컴포넌트의 `myUserId` 파라미터를 `userProfileId`로 변경 및 관련 로직 수정 - `SearchInputScreen`에서 불필요한 람다 표현식 정리 및 `navigateToUserProfile` 직접 전달하도록 수정 --- .../app/presentation/ranking/RankingScreen.kt | 4 ++-- .../presentation/ranking/component/RankerItem.kt | 14 +++++++------- .../app/presentation/report/ReportViewModel.kt | 6 +++--- .../report/navigation/reportNavigation.kt | 6 +++--- .../presentation/search/input/SearchInputScreen.kt | 4 +--- 5 files changed, 16 insertions(+), 18 deletions(-) diff --git a/app/src/main/java/com/smashing/app/presentation/ranking/RankingScreen.kt b/app/src/main/java/com/smashing/app/presentation/ranking/RankingScreen.kt index 5241fcc5d..e959d3990 100644 --- a/app/src/main/java/com/smashing/app/presentation/ranking/RankingScreen.kt +++ b/app/src/main/java/com/smashing/app/presentation/ranking/RankingScreen.kt @@ -41,8 +41,8 @@ import androidx.hilt.lifecycle.viewmodel.compose.hiltViewModel import androidx.lifecycle.compose.collectAsStateWithLifecycle import com.smashing.app.R.drawable.img_profile import com.smashing.app.R.string.ranking_empty_title -import com.smashing.app.R.string.ranking_title import com.smashing.app.R.string.ranking_tier_with_lp +import com.smashing.app.R.string.ranking_title import com.smashing.app.core.designsystem.component.image.UrlImage import com.smashing.app.core.designsystem.component.ranking.SmashingRankingItem import com.smashing.app.core.designsystem.component.topbar.SmashingDefaultTopBar @@ -123,7 +123,7 @@ private fun RankingScreen( Ranker( rankerList = uiState.topRankingList, - myUserId = uiState.userInfo?.userProfileId, + userProfileId = uiState.userInfo?.userProfileId, navigateToProfile = navigateToProfile, navigateToMyProfile = navigateToMyProfile, ) diff --git a/app/src/main/java/com/smashing/app/presentation/ranking/component/RankerItem.kt b/app/src/main/java/com/smashing/app/presentation/ranking/component/RankerItem.kt index 00da58bfb..0bfc62302 100644 --- a/app/src/main/java/com/smashing/app/presentation/ranking/component/RankerItem.kt +++ b/app/src/main/java/com/smashing/app/presentation/ranking/component/RankerItem.kt @@ -60,7 +60,7 @@ private const val RANKER_OTHER_WIDTH_RATIO = 0.33f @Composable fun Ranker( rankerList: ImmutableList?, - myUserId: String?, + userProfileId: String?, navigateToMyProfile: () -> Unit, navigateToProfile: (String) -> Unit, modifier: Modifier = Modifier, @@ -77,9 +77,9 @@ fun Ranker( val firstWidth = contentAreaWidth * RANKER_FIRST_WIDTH_RATIO + centerExtraWidth val otherWidth = contentAreaWidth * RANKER_OTHER_WIDTH_RATIO - val onProfileClick: (String) -> Unit = { userId -> - if (userId != myUserId) { - navigateToProfile(userId) + val onProfileClick: (String) -> Unit = { userProfileId -> + if (userProfileId != userProfileId) { + navigateToProfile(userProfileId) } else { navigateToMyProfile() } @@ -347,7 +347,7 @@ private fun RankerPreview_AllThree() { color = colors.bgCanvas, ), navigateToProfile = {}, - myUserId = null, + userProfileId = null, navigateToMyProfile = {}, ) } @@ -373,7 +373,7 @@ private fun RankerPreview_FirstAndSecond() { ), ).toImmutableList(), navigateToProfile = {}, - myUserId = null, + userProfileId = null, navigateToMyProfile = {}, ) } @@ -384,7 +384,7 @@ private fun RankerPreview_Empty() { Ranker( rankerList = null, navigateToProfile = {}, - myUserId = null, + userProfileId = null, navigateToMyProfile = {}, ) } diff --git a/app/src/main/java/com/smashing/app/presentation/report/ReportViewModel.kt b/app/src/main/java/com/smashing/app/presentation/report/ReportViewModel.kt index 5918972ae..24f1ad1d7 100644 --- a/app/src/main/java/com/smashing/app/presentation/report/ReportViewModel.kt +++ b/app/src/main/java/com/smashing/app/presentation/report/ReportViewModel.kt @@ -7,8 +7,8 @@ import androidx.lifecycle.viewModelScope import androidx.navigation.toRoute import com.smashing.app.data.model.moderation.ReportSubmitResult import com.smashing.app.data.repository.api.ModerationRepository -import com.smashing.app.presentation.report.navigation.ReportPage import com.smashing.app.data.type.ReportType +import com.smashing.app.presentation.report.navigation.ReportPage import dagger.hilt.android.lifecycle.HiltViewModel import kotlinx.coroutines.flow.MutableSharedFlow import kotlinx.coroutines.flow.MutableStateFlow @@ -24,7 +24,7 @@ class ReportViewModel @Inject constructor( private val moderationRepository: ModerationRepository, ) : ViewModel() { - private val reportedUserId = savedStateHandle.toRoute().reportedUserId + private val reportedUserProfileId = savedStateHandle.toRoute().reportedUserProfileId private val _uiState = MutableStateFlow(ReportContract.State()) val uiState = _uiState.asStateFlow() @@ -52,7 +52,7 @@ class ReportViewModel @Inject constructor( null } moderationRepository.postReportUser( - reportedUserProfileId = reportedUserId, + reportedUserProfileId = reportedUserProfileId, reportTypeCode = type.toString(), reasonDetail = reasonDetail, ).let { result -> diff --git a/app/src/main/java/com/smashing/app/presentation/report/navigation/reportNavigation.kt b/app/src/main/java/com/smashing/app/presentation/report/navigation/reportNavigation.kt index a97ef76d5..368a96b96 100644 --- a/app/src/main/java/com/smashing/app/presentation/report/navigation/reportNavigation.kt +++ b/app/src/main/java/com/smashing/app/presentation/report/navigation/reportNavigation.kt @@ -12,9 +12,9 @@ import com.smashing.app.presentation.report.ReportRoute import kotlinx.serialization.Serializable fun NavController.navigateToReport( - reportedUserId: String, + reportedUserProfileId: String, navOptions: NavOptions? = null, -) = navigate(ReportPage(reportedUserId), navOptions) +) = navigate(ReportPage(reportedUserProfileId), navOptions) fun NavGraphBuilder.reportGraph( innerPadding: PaddingValues, @@ -30,5 +30,5 @@ fun NavGraphBuilder.reportGraph( @Serializable data class ReportPage( - val reportedUserId: String, + val reportedUserProfileId: String, ) : Route diff --git a/app/src/main/java/com/smashing/app/presentation/search/input/SearchInputScreen.kt b/app/src/main/java/com/smashing/app/presentation/search/input/SearchInputScreen.kt index 75a04189b..5e3ec59fb 100644 --- a/app/src/main/java/com/smashing/app/presentation/search/input/SearchInputScreen.kt +++ b/app/src/main/java/com/smashing/app/presentation/search/input/SearchInputScreen.kt @@ -44,9 +44,7 @@ fun SearchInputRoute( items = uiState.suggestions, searchState = viewModel.searchInputState, onBackClick = navigateToSearchMain, - onSuggestionItemClick = { userId -> - navigateToUserProfile(userId) - }, + onSuggestionItemClick = navigateToUserProfile, modifier = modifier, ) } From f2b2a08a2fdde365525dd3ddcc666e458d990942 Mon Sep 17 00:00:00 2001 From: seungjun Date: Tue, 31 Mar 2026 01:13:59 +0900 Subject: [PATCH 4/4] =?UTF-8?q?[fix/#298]=20=EB=9E=AD=ED=82=B9=20=EA=B4=80?= =?UTF-8?q?=EB=A0=A8=20=EB=B3=80=EC=88=98=EB=AA=85=20=EB=AA=85=ED=99=95?= =?UTF-8?q?=ED=99=94=20=EB=B0=8F=20=ED=94=84=EB=A1=9C=ED=95=84=20=EC=9D=B4?= =?UTF-8?q?=EB=8F=99=20=EB=A1=9C=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 - RankingContract/ViewModel 내 `userInfo`를 `myRankInfo`로 변경 - Ranker 컴포저블의 `userProfileId` 파라미터를 `myProfileId`로 변경 - Ranker 내에서 본인 여부를 판단하는 비교 로직 오류 수정 (`userProfileId != userProfileId` -> `userProfileId != myProfileId`) --- .../app/presentation/ranking/RankingContract.kt | 4 ++-- .../smashing/app/presentation/ranking/RankingScreen.kt | 8 ++++---- .../app/presentation/ranking/RankingViewModel.kt | 2 +- .../app/presentation/ranking/component/RankerItem.kt | 10 +++++----- 4 files changed, 12 insertions(+), 12 deletions(-) diff --git a/app/src/main/java/com/smashing/app/presentation/ranking/RankingContract.kt b/app/src/main/java/com/smashing/app/presentation/ranking/RankingContract.kt index 57738062f..e5f0094a1 100644 --- a/app/src/main/java/com/smashing/app/presentation/ranking/RankingContract.kt +++ b/app/src/main/java/com/smashing/app/presentation/ranking/RankingContract.kt @@ -12,7 +12,7 @@ interface RankingContract { val totalRankingList: ImmutableList = persistentListOf(), val topRankingList: ImmutableList = persistentListOf(), val restRankingList: ImmutableList = persistentListOf(), - val userInfo: UserRank? = null, + val myRankInfo: UserRank? = null, ) } @@ -26,4 +26,4 @@ sealed interface RankingUiState{ data class Failure( val msg: String, ) : RankingUiState -} \ No newline at end of file +} diff --git a/app/src/main/java/com/smashing/app/presentation/ranking/RankingScreen.kt b/app/src/main/java/com/smashing/app/presentation/ranking/RankingScreen.kt index e959d3990..56b946379 100644 --- a/app/src/main/java/com/smashing/app/presentation/ranking/RankingScreen.kt +++ b/app/src/main/java/com/smashing/app/presentation/ranking/RankingScreen.kt @@ -123,7 +123,7 @@ private fun RankingScreen( Ranker( rankerList = uiState.topRankingList, - userProfileId = uiState.userInfo?.userProfileId, + myProfileId = uiState.myRankInfo?.userProfileId, navigateToProfile = navigateToProfile, navigateToMyProfile = navigateToMyProfile, ) @@ -161,7 +161,7 @@ private fun RankingScreen( tier = user.tier, lp = user.lp, onClick = { - if (user.userProfileId != uiState.userInfo?.userProfileId) { + if (user.userProfileId != uiState.myRankInfo?.userProfileId) { navigateToProfile(user.userProfileId) } else { navigateToMyProfile() @@ -195,9 +195,9 @@ private fun RankingScreen( } - if (uiState.userInfo != null) { + if (uiState.myRankInfo != null) { MyRanking( - myRank = uiState.userInfo, + myRank = uiState.myRankInfo, modifier = Modifier .fillMaxWidth() .align(Alignment.BottomCenter) diff --git a/app/src/main/java/com/smashing/app/presentation/ranking/RankingViewModel.kt b/app/src/main/java/com/smashing/app/presentation/ranking/RankingViewModel.kt index 1574e15c5..e441b3819 100644 --- a/app/src/main/java/com/smashing/app/presentation/ranking/RankingViewModel.kt +++ b/app/src/main/java/com/smashing/app/presentation/ranking/RankingViewModel.kt @@ -39,7 +39,7 @@ class RankingViewModel @Inject constructor( totalRankingList = userRankList.toImmutableList(), topRankingList = userRankList.take(3).toImmutableList(), restRankingList = userRankList.drop(3).toImmutableList(), - userInfo = rankingData.myRank?.let { user -> + myRankInfo = rankingData.myRank?.let { user -> UserRank( userProfileId = storedUserProfileId ?: "", nickname = user.nickname, diff --git a/app/src/main/java/com/smashing/app/presentation/ranking/component/RankerItem.kt b/app/src/main/java/com/smashing/app/presentation/ranking/component/RankerItem.kt index 0bfc62302..53c3d6f5f 100644 --- a/app/src/main/java/com/smashing/app/presentation/ranking/component/RankerItem.kt +++ b/app/src/main/java/com/smashing/app/presentation/ranking/component/RankerItem.kt @@ -60,7 +60,7 @@ private const val RANKER_OTHER_WIDTH_RATIO = 0.33f @Composable fun Ranker( rankerList: ImmutableList?, - userProfileId: String?, + myProfileId: String?, navigateToMyProfile: () -> Unit, navigateToProfile: (String) -> Unit, modifier: Modifier = Modifier, @@ -78,7 +78,7 @@ fun Ranker( val otherWidth = contentAreaWidth * RANKER_OTHER_WIDTH_RATIO val onProfileClick: (String) -> Unit = { userProfileId -> - if (userProfileId != userProfileId) { + if (userProfileId != myProfileId) { navigateToProfile(userProfileId) } else { navigateToMyProfile() @@ -347,7 +347,7 @@ private fun RankerPreview_AllThree() { color = colors.bgCanvas, ), navigateToProfile = {}, - userProfileId = null, + myProfileId = null, navigateToMyProfile = {}, ) } @@ -373,7 +373,7 @@ private fun RankerPreview_FirstAndSecond() { ), ).toImmutableList(), navigateToProfile = {}, - userProfileId = null, + myProfileId = null, navigateToMyProfile = {}, ) } @@ -384,7 +384,7 @@ private fun RankerPreview_Empty() { Ranker( rankerList = null, navigateToProfile = {}, - userProfileId = null, + myProfileId = null, navigateToMyProfile = {}, ) }