Conversation
WalkthroughSearchResultScreen의 디자인 QA 수정: 색상 팔레트(Gray4_C5CAD2, Gray6_F0F1F3) 추가 및 적용, Divider 두께/색 변경, 검색 결과 카운트 레이아웃과 빈 상태 텍스트 스타일(간격·폰트웨이트·색상) 조정, 문자열 리소스 추가. Changes
개요SearchResultScreen의 디자인 QA 이슈들을 해결하기 위해 색상 팔레트(Gray4_C5CAD2, Gray6_F0F1F3) 업데이트, 구분선 스타일링 변경, 검색 결과 카운트 표시 개선, 빈 상태 텍스트 스타일링 조정을 수행했습니다. 변경 사항
🚥 Pre-merge checks | ✅ 4 | ❌ 1❌ Failed checks (1 warning)
✅ Passed checks (4 passed)
✏️ Tip: You can configure your own custom pre-merge checks in the settings. ✨ Finishing Touches📝 Generate docstrings
🧪 Generate unit tests (beta)
📝 Coding Plan
Comment Tip You can enable review details to help with troubleshooting, context usage and more.Enable the |
There was a problem hiding this comment.
Actionable comments posted: 2
🤖 Prompt for all review comments with AI agents
Verify each finding against the current code and only fix it if needed.
Inline comments:
In
`@presentation/src/main/java/daily/dayo/presentation/screen/search/SearchResultScreen.kt`:
- Around line 339-345: The Spacer and the Text are both adding vertical spacing,
causing the title-description gap to exceed 2dp; in SearchResultScreen remove
the Text's vertical padding (the Modifier.padding(vertical = 2.dp) on the Text
that uses stringResource(R.string.search_result_empty_description)) so only
Spacer(modifier = Modifier.height(2.dp)) controls the spacing, or replace the
padding with a non-vertical-only modifier (e.g., horizontal padding) if needed.
- Around line 361-370: The horizontal gap between the count and its label is
applied twice: remove one of the spacing rules to avoid doubled space. In
SearchResultScreen (the Row using Arrangement.spacedBy(2.dp)) either delete the
Arrangement.spacedBy(2.dp) or remove the Text modifier = Modifier.padding(end =
2.dp) on the count Text so only a single spacing is used; pick the approach
consistent with surrounding layout and update the remaining spacing value if
needed.
ℹ️ Review info
⚙️ Run configuration
Configuration used: Path: .coderabbit.yaml
Review profile: CHILL
Plan: Pro
Run ID: dc172e80-434b-4614-9b08-330a76902b0e
📒 Files selected for processing (2)
presentation/src/main/java/daily/dayo/presentation/screen/search/SearchResultScreen.ktpresentation/src/main/res/values/strings.xml
presentation/src/main/java/daily/dayo/presentation/screen/search/SearchResultScreen.kt
Show resolved
Hide resolved
presentation/src/main/java/daily/dayo/presentation/screen/search/SearchResultScreen.kt
Show resolved
Hide resolved
There was a problem hiding this comment.
Caution
Some comments are outside the diff and can’t be posted inline due to platform limitations.
⚠️ Outside diff range comments (1)
presentation/src/main/java/daily/dayo/presentation/screen/search/SearchResultScreen.kt (1)
452-462:⚠️ Potential issue | 🟡 Minor
!!연산자 사용으로 인한 잠재적 NPE 위험
users[index]가 null을 반환할 수 있는데,!!로 강제 언래핑하면 런타임 크래시가 발생할 수 있습니다. 안전한 null 처리를 권장합니다.🛡️ 제안된 수정
items(users.itemCount) { index -> val item = users[index] - SearchResultUserView( - user = item!!, + item?.let { user -> + SearchResultUserView( + user = user, - onFollowSuccess = onFollowSuccess, + onFollowSuccess = onFollowSuccess, - onUnFollowSuccess = onUnFollowSuccess, + onUnFollowSuccess = onUnFollowSuccess, - currentUserMemberId = currentUserMemberId, + currentUserMemberId = currentUserMemberId, - onFollowClick = onFollowClick, + onFollowClick = onFollowClick, - onUnFollowClick = onUnFollowClick, + onUnFollowClick = onUnFollowClick, - onClickProfile = onClickProfile + onClickProfile = onClickProfile - ) + ) + } }🤖 Prompt for AI Agents
Verify each finding against the current code and only fix it if needed. In `@presentation/src/main/java/daily/dayo/presentation/screen/search/SearchResultScreen.kt` around lines 452 - 462, users[index]를 강제 언래핑하는 부분에서 NPE가 발생할 수 있으므로 SearchResultUserView에 null이 전달되지 않도록 안전하게 처리하세요: items(users.itemCount) 블록 내부에서 users.getOrNull(index)?.let { user -> SearchResultUserView(user = user, onFollowSuccess = onFollowSuccess, onUnFollowSuccess = onUnFollowSuccess, currentUserMemberId = currentUserMemberId, onFollowClick = onFollowClick, onUnFollowClick = onUnFollowClick, onClickProfile = onClickProfile) } 처럼 안전 호출 또는 null 체크를 사용하거나 미리 users를 filterNotNull()으로 정리한 후 반복하도록 변경해 SearchResultScreen.kt의 해당 부분(SearchResultUserView 호출)을 수정하세요.
🧹 Nitpick comments (1)
presentation/src/main/java/daily/dayo/presentation/screen/search/SearchResultScreen.kt (1)
352-365:Surface의 배경색 설정 방식 개선을 권장합니다.
Surface에modifier.background()와 내부Row에도 중복으로.background(White_FFFFFF)가 적용되어 있습니다.Surface는color파라미터를 통해 배경색을 설정하는 것이 권장됩니다.♻️ 제안된 수정
Surface( modifier = Modifier .fillMaxWidth() .height(44.dp) - .background(White_FFFFFF) .padding(horizontal = 18.dp, vertical = 12.dp) + color = White_FFFFFF ) { Row( horizontalArrangement = Arrangement.spacedBy(2.dp), verticalAlignment = Alignment.CenterVertically, modifier = Modifier .height(20.dp) - .background(White_FFFFFF) ) {🤖 Prompt for AI Agents
Verify each finding against the current code and only fix it if needed. In `@presentation/src/main/java/daily/dayo/presentation/screen/search/SearchResultScreen.kt` around lines 352 - 365, Surface currently sets its background via Modifier.background(White_FFFFFF) and the inner Row also repeats .background(White_FFFFFF); instead, pass the background color to Surface's color parameter (e.g., Surface(color = White_FFFFFF)) and remove the duplicate Modifier.background(White_FFFFFF) calls from both the Surface's modifier and the Row modifier so only Surface controls the background while keeping padding, height and other modifiers unchanged.
🤖 Prompt for all review comments with AI agents
Verify each finding against the current code and only fix it if needed.
Outside diff comments:
In
`@presentation/src/main/java/daily/dayo/presentation/screen/search/SearchResultScreen.kt`:
- Around line 452-462: users[index]를 강제 언래핑하는 부분에서 NPE가 발생할 수 있으므로
SearchResultUserView에 null이 전달되지 않도록 안전하게 처리하세요: items(users.itemCount) 블록 내부에서
users.getOrNull(index)?.let { user -> SearchResultUserView(user = user,
onFollowSuccess = onFollowSuccess, onUnFollowSuccess = onUnFollowSuccess,
currentUserMemberId = currentUserMemberId, onFollowClick = onFollowClick,
onUnFollowClick = onUnFollowClick, onClickProfile = onClickProfile) } 처럼 안전 호출
또는 null 체크를 사용하거나 미리 users를 filterNotNull()으로 정리한 후 반복하도록 변경해
SearchResultScreen.kt의 해당 부분(SearchResultUserView 호출)을 수정하세요.
---
Nitpick comments:
In
`@presentation/src/main/java/daily/dayo/presentation/screen/search/SearchResultScreen.kt`:
- Around line 352-365: Surface currently sets its background via
Modifier.background(White_FFFFFF) and the inner Row also repeats
.background(White_FFFFFF); instead, pass the background color to Surface's color
parameter (e.g., Surface(color = White_FFFFFF)) and remove the duplicate
Modifier.background(White_FFFFFF) calls from both the Surface's modifier and the
Row modifier so only Surface controls the background while keeping padding,
height and other modifiers unchanged.
ℹ️ Review info
⚙️ Run configuration
Configuration used: Path: .coderabbit.yaml
Review profile: CHILL
Plan: Pro
Run ID: 6955afb6-b0dd-4e00-9cb6-e453efc2df69
📒 Files selected for processing (1)
presentation/src/main/java/daily/dayo/presentation/screen/search/SearchResultScreen.kt
작업 내용
참고
모듈별 요약: SearchResultScreen UI 개선
1. 기능 및 사용자 대면 변경사항
2. 위험 요소 분석
3. 필요 검증 및 후속 테스트