-
Notifications
You must be signed in to change notification settings - Fork 0
[Feat] 홈화면 및 상세화면 UI 수정사항 반영 #130 #133
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Conversation
Walkthrough홈/상세 UI 전반의 레이아웃·타이포·간격 조정, 알림 배지 컴포넌트 추가 및 NameBar API 확장, MedicineUiState에서 Changes
Sequence Diagram(s)sequenceDiagram
autonumber
actor User as 사용자
participant Home as HomeScreen
participant NameBar as NameBar
participant Badge as NotificationIconWithBadge
participant Snackbar as SnackbarHost
User->>Home: 화면 진입
Home->>NameBar: NameBar(notificationCount)
NameBar->>Badge: 렌더(notificationCount)
alt notificationCount > 0
Badge-->>NameBar: 배지(숫자, "99" cap)
end
User->>Badge: 탭
Badge-->>Home: onClick 콜백
Home->>Snackbar: show(snackbarHostState)
Estimated code review effort🎯 4 (Complex) | ⏱️ ~55 minutes Suggested labels
Suggested reviewers
Poem
Pre-merge checks and finishing touches✅ Passed checks (5 passed)
✨ Finishing touches
🧪 Generate unit tests (beta)
Thanks for using CodeRabbit! It's free for OSS, and your support helps us grow. If you like it, consider giving us a shout-out. Comment |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Actionable comments posted: 6
🧹 Nitpick comments (8)
app/src/main/java/com/konkuk/medicarecall/ui/feature/homedetail/glucoselevel/component/GlucoseListItem.kt (1)
28-99: UI 업데이트 잘 반영되었습니다!레이아웃 구조 개선, 패딩·간격 조정, 텍스트 색상 업데이트(gray4 → gray6), trailing comma 추가 등 디자인 수정사항이 깔끔하게 적용되었습니다. 로직 변경 없이 UI만 개선된 점도 좋습니다.
선택적 제안: 중복 정렬 속성 제거
Line 34의
horizontalAlignment = Alignment.Start는Column의 기본값이므로 생략 가능합니다. 명시적으로 표기하는 것도 나쁘지 않지만, 코드 간결성을 위해 제거해도 무방합니다.필요시 아래 diff 적용:
Column( modifier = modifier.fillMaxWidth(), - horizontalAlignment = Alignment.Start, ) {app/src/main/java/com/konkuk/medicarecall/ui/feature/home/component/HomeMedicineContainer.kt (6)
36-64: 대용량 주석 코드를 정리하거나 이슈로 추적하는 것을 고려해보세요.복약 상태 아이콘 리스트를 위한 구현 코드가 주석으로 남아있습니다. PR 설명에서 언급한 대로 서버 API 업데이트 대기 중인 것으로 보이지만, 약 30줄에 가까운 주석 코드는 가독성을 저해할 수 있습니다.
다음 중 하나를 고려해보세요:
- 별도 브랜치나 개발 문서에 보관하고 현재 파일에서는 제거
- GitHub 이슈로 전환하여 추적 (코드 스니펫 포함)
- 최소한 주석 범위를 축소하고 핵심 로직만 간략히 남기기
82-101: 하드코딩된 문자열을 리소스로 분리하는 것을 권장합니다."복약" 문자열이 하드코딩되어 있습니다. 향후 다국어 지원이나 문구 변경 시 유지보수를 위해
strings.xml로 분리하는 것이 좋습니다.- Text( - "복약", - style = MediCareCallTheme.typography.R_16, - color = MediCareCallTheme.colors.gray8, - ) + Text( + text = stringResource(R.string.home_medicine_title), + style = MediCareCallTheme.typography.R_16, + color = MediCareCallTheme.colors.gray8, + )
125-125: "회 하루 복용" 문자열도 리소스로 분리를 권장합니다.앞서 지적한 것과 마찬가지로 UI 문자열은
strings.xml로 관리하는 것이 좋습니다.
152-152: 문자열 템플릿에 하드코딩된 텍스트를 리소스로 분리하세요."다음 복약 : " 및 "약" 접미사가 하드코딩되어 있습니다. 포맷팅 문자열로 리소스화하는 것을 권장합니다.
<!-- strings.xml --> <string name="next_dose_time_format">다음 복약 : %s약</string>- Text( - text = "다음 복약 : ${medicine.nextDoseTime}약", - style = MediCareCallTheme.typography.R_14, - color = MediCareCallTheme.colors.main, - ) + Text( + text = stringResource(R.string.next_dose_time_format, medicine.nextDoseTime), + style = MediCareCallTheme.typography.R_14, + color = MediCareCallTheme.colors.main, + )
164-190: 중첩된 Column이 불필요해 보입니다.Line 164의
Column()은 현재 단일Text컴포넌트만 포함하고 있습니다 (주석 처리된 코드 제외). TODO 완료 전까지는Column을 제거하고Text만 렌더링하는 것이 더 간결합니다.- Column() { - //TODO: 복약 상태 아이콘 리스트 - // ... (commented code lines 166-183) - Text( - text = "${medicine.todayTakenCount}/${medicine.todayRequiredCount}회 복용", - style = MediCareCallTheme.typography.R_14, - color = MediCareCallTheme.colors.gray5, - ) - } + //TODO: 복약 상태 아이콘 리스트 - 구현 시 Column 복원 + Text( + text = "${medicine.todayTakenCount}/${medicine.todayRequiredCount}회 복용", + style = MediCareCallTheme.typography.R_14, + color = MediCareCallTheme.colors.gray5, + )TODO 완료 시
Column을 다시 추가하면 됩니다.
186-186: 문자열 템플릿 "회 복용"도 리소스로 분리하세요.복용 횟수를 표시하는 문자열도 리소스화를 권장합니다.
<!-- strings.xml --> <string name="dose_count_format">%1$d/%2$d회 복용</string>- Text( - text = "${medicine.todayTakenCount}/${medicine.todayRequiredCount}회 복용", - style = MediCareCallTheme.typography.R_14, - color = MediCareCallTheme.colors.gray5, - ) + Text( + text = stringResource( + R.string.dose_count_format, + medicine.todayTakenCount, + medicine.todayRequiredCount + ), + style = MediCareCallTheme.typography.R_14, + color = MediCareCallTheme.colors.gray5, + )app/src/main/java/com/konkuk/medicarecall/ui/common/component/NotificationIconWithBadge.kt (1)
46-70: 배지 표시 로직 잘 구현되어 있습니다.알림 개수가 0보다 클 때만 배지를 표시하고, 99를 초과하면 "99"로 캡핑하는 로직이 깔끔하게 구현되었습니다.
한 가지 고려사항: 배지 위치 오프셋 값(
offset(x = (-3).dp, y = (-6).dp))이 하드코딩되어 있는데, 향후 알림 아이콘 크기가 변경될 경우를 대비해 비율 기반 오프셋이나 컴포저블 파라미터로 조정 가능하게 하는 것도 좋을 것 같습니다.
📜 Review details
Configuration used: CodeRabbit UI
Review profile: CHILL
Plan: Pro
⛔ Files ignored due to path filters (16)
icon/char_medi.svgis excluded by!**/*.svgicon/ic_arrow_down.svgis excluded by!**/*.svgicon/ic_arrow_down_big.svgis excluded by!**/*.svgicon/ic_glucose.svgis excluded by!**/*.svgicon/ic_heart.svgis excluded by!**/*.svgicon/ic_notification.svgis excluded by!**/*.svgicon/ic_pill_taken.svgis excluded by!**/*.svgicon/ic_pill_uncheck.svgis excluded by!**/*.svgicon/ic_pill_untaken.svgis excluded by!**/*.svgicon/ic_pills.svgis excluded by!**/*.svgicon/ic_ricebowl.svgis excluded by!**/*.svgicon/ic_ricebowl_eat.svgis excluded by!**/*.svgicon/ic_ricebowl_skip.svgis excluded by!**/*.svgicon/ic_ricebowl_uncheck.svgis excluded by!**/*.svgicon/ic_sleep.svgis excluded by!**/*.svgicon/ic_smile.svgis excluded by!**/*.svg
📒 Files selected for processing (50)
app/src/main/java/com/konkuk/medicarecall/data/dto/response/MedicineResponseDto.kt(0 hunks)app/src/main/java/com/konkuk/medicarecall/data/repositoryimpl/MedicineRepositoryImpl.kt(0 hunks)app/src/main/java/com/konkuk/medicarecall/ui/common/component/DefaultDropDown.kt(1 hunks)app/src/main/java/com/konkuk/medicarecall/ui/common/component/NameBar.kt(4 hunks)app/src/main/java/com/konkuk/medicarecall/ui/common/component/NotificationIconWithBadge.kt(1 hunks)app/src/main/java/com/konkuk/medicarecall/ui/common/component/SpecialNoteItem.kt(1 hunks)app/src/main/java/com/konkuk/medicarecall/ui/common/component/TopAppBar.kt(2 hunks)app/src/main/java/com/konkuk/medicarecall/ui/feature/calendar/DateSelector.kt(1 hunks)app/src/main/java/com/konkuk/medicarecall/ui/feature/calendar/WeeklyCalendar.kt(5 hunks)app/src/main/java/com/konkuk/medicarecall/ui/feature/home/component/HomeGlucoseLevelContainer.kt(5 hunks)app/src/main/java/com/konkuk/medicarecall/ui/feature/home/component/HomeMealContainer.kt(4 hunks)app/src/main/java/com/konkuk/medicarecall/ui/feature/home/component/HomeMedicineContainer.kt(4 hunks)app/src/main/java/com/konkuk/medicarecall/ui/feature/home/component/HomeSleepContainer.kt(3 hunks)app/src/main/java/com/konkuk/medicarecall/ui/feature/home/component/HomeStateHealthContainer.kt(2 hunks)app/src/main/java/com/konkuk/medicarecall/ui/feature/home/component/HomeStateMentalContainer.kt(2 hunks)app/src/main/java/com/konkuk/medicarecall/ui/feature/home/screen/HomeScreen.kt(9 hunks)app/src/main/java/com/konkuk/medicarecall/ui/feature/home/viewmodel/HomeUiState.kt(1 hunks)app/src/main/java/com/konkuk/medicarecall/ui/feature/homedetail/glucoselevel/component/GlucoseListItem.kt(3 hunks)app/src/main/java/com/konkuk/medicarecall/ui/feature/homedetail/glucoselevel/component/GlucoseTimingButton.kt(3 hunks)app/src/main/java/com/konkuk/medicarecall/ui/feature/homedetail/glucoselevel/screen/GlucoseDetail.kt(3 hunks)app/src/main/java/com/konkuk/medicarecall/ui/feature/homedetail/meal/component/MealDetailCard.kt(2 hunks)app/src/main/java/com/konkuk/medicarecall/ui/feature/homedetail/meal/screen/MealDetail.kt(5 hunks)app/src/main/java/com/konkuk/medicarecall/ui/feature/homedetail/medicine/component/MedicineDetailCard.kt(6 hunks)app/src/main/java/com/konkuk/medicarecall/ui/feature/homedetail/medicine/screen/MedicineDetail.kt(5 hunks)app/src/main/java/com/konkuk/medicarecall/ui/feature/homedetail/medicine/viewmodel/MedicineUiState.kt(0 hunks)app/src/main/java/com/konkuk/medicarecall/ui/feature/homedetail/sleep/component/SleepDetailCard.kt(5 hunks)app/src/main/java/com/konkuk/medicarecall/ui/feature/homedetail/sleep/screen/SleepDetail.kt(3 hunks)app/src/main/java/com/konkuk/medicarecall/ui/feature/homedetail/statehealth/component/StateHealthDetailCard.kt(5 hunks)app/src/main/java/com/konkuk/medicarecall/ui/feature/homedetail/statehealth/screen/StateHealthDetail.kt(4 hunks)app/src/main/java/com/konkuk/medicarecall/ui/feature/homedetail/statemental/component/StateMentalDetailCard.kt(3 hunks)app/src/main/java/com/konkuk/medicarecall/ui/feature/homedetail/statemental/screen/StateMentalDetail.kt(5 hunks)app/src/main/java/com/konkuk/medicarecall/ui/feature/statistics/screen/StatisticsScreen.kt(2 hunks)app/src/main/res/drawable/char_medi.xml(1 hunks)app/src/main/res/drawable/ic_arrow_down.xml(0 hunks)app/src/main/res/drawable/ic_arrow_down_big.xml(1 hunks)app/src/main/res/drawable/ic_arrow_down_small.xml(1 hunks)app/src/main/res/drawable/ic_glucose.xml(1 hunks)app/src/main/res/drawable/ic_heart.xml(1 hunks)app/src/main/res/drawable/ic_notification.xml(1 hunks)app/src/main/res/drawable/ic_pill_taken.xml(1 hunks)app/src/main/res/drawable/ic_pill_uncheck.xml(1 hunks)app/src/main/res/drawable/ic_pill_untaken.xml(1 hunks)app/src/main/res/drawable/ic_pills.xml(1 hunks)app/src/main/res/drawable/ic_pills_basic.xml(0 hunks)app/src/main/res/drawable/ic_ricebowl.xml(1 hunks)app/src/main/res/drawable/ic_ricebowl_eat.xml(1 hunks)app/src/main/res/drawable/ic_ricebowl_skip.xml(1 hunks)app/src/main/res/drawable/ic_ricebowl_uncheck.xml(1 hunks)app/src/main/res/drawable/ic_sleep.xml(1 hunks)app/src/main/res/drawable/ic_smile.xml(1 hunks)
💤 Files with no reviewable changes (5)
- app/src/main/java/com/konkuk/medicarecall/data/repositoryimpl/MedicineRepositoryImpl.kt
- app/src/main/java/com/konkuk/medicarecall/ui/feature/homedetail/medicine/viewmodel/MedicineUiState.kt
- app/src/main/res/drawable/ic_pills_basic.xml
- app/src/main/res/drawable/ic_arrow_down.xml
- app/src/main/java/com/konkuk/medicarecall/data/dto/response/MedicineResponseDto.kt
🧰 Additional context used
🧬 Code graph analysis (4)
app/src/main/java/com/konkuk/medicarecall/ui/feature/home/screen/HomeScreen.kt (9)
app/src/main/java/com/konkuk/medicarecall/ui/feature/home/component/CareCallSnackBar.kt (1)
CareCallSnackBar(13-25)app/src/main/java/com/konkuk/medicarecall/ui/feature/home/component/HomeMealContainer.kt (1)
HomeMealContainer(30-158)app/src/main/java/com/konkuk/medicarecall/ui/feature/home/component/HomeMedicineContainer.kt (1)
HomeMedicineContainer(31-199)app/src/main/java/com/konkuk/medicarecall/ui/feature/home/component/HomeSleepContainer.kt (1)
HomeSleepContainer(33-161)app/src/main/java/com/konkuk/medicarecall/ui/feature/home/component/HomeStateHealthContainer.kt (1)
HomeStateHealthContainer(29-104)app/src/main/java/com/konkuk/medicarecall/ui/feature/home/component/HomeStateMentalContainer.kt (1)
HomeStateMentalContainer(29-104)app/src/main/java/com/konkuk/medicarecall/ui/feature/home/component/HomeGlucoseLevelContainer.kt (1)
HomeGlucoseLevelContainer(28-118)app/src/main/java/com/konkuk/medicarecall/ui/common/component/NameDropdown.kt (1)
NameDropdown(37-120)app/src/main/java/com/konkuk/medicarecall/ui/theme/Theme.kt (1)
MediCareCallTheme(38-60)
app/src/main/java/com/konkuk/medicarecall/ui/common/component/NameBar.kt (1)
app/src/main/java/com/konkuk/medicarecall/ui/common/component/NotificationIconWithBadge.kt (1)
NotificationIconWithBadge(28-72)
app/src/main/java/com/konkuk/medicarecall/ui/feature/homedetail/meal/screen/MealDetail.kt (1)
app/src/main/java/com/konkuk/medicarecall/ui/common/component/TopAppBar.kt (1)
TopAppBar(26-75)
app/src/main/java/com/konkuk/medicarecall/ui/feature/homedetail/medicine/screen/MedicineDetail.kt (1)
app/src/main/java/com/konkuk/medicarecall/ui/common/component/TopAppBar.kt (1)
TopAppBar(26-75)
⏰ Context from checks skipped due to timeout of 90000ms. You can increase the timeout in your CodeRabbit configuration to a maximum of 15 minutes (900000ms). (1)
- GitHub Check: ci-build
🔇 Additional comments (68)
app/src/main/res/drawable/ic_glucose.xml (1)
2-15: 새 아이콘 크기 및 스타일 정상신규 뷰포트/사이즈와 색상, 스트로크 조합 모두 디자인 의도에 맞게 적용된 것으로 보입니다. 추가 우려 사항 없습니다.
app/src/main/java/com/konkuk/medicarecall/ui/feature/homedetail/statemental/component/StateMentalDetailCard.kt (3)
33-33: 제공된 modifier 파라미터를 올바르게 사용하고 있습니다.Card의 modifier로 제공된 파라미터를 직접 사용하는 것은 컴포저블의 재사용성을 높이는 좋은 패턴입니다. 이제 호출하는 쪽에서 카드의 크기와 제약을 자유롭게 제어할 수 있습니다.
70-70: 간격 조정으로 가독성이 개선되었습니다.
- 제목과 내용 사이 간격을 4.dp → 12.dp로 증가 (Line 70)
- 리스트 아이템 간 간격 2.dp 추가 (Line 87)
- 불릿과 텍스트 사이 간격을 8.dp → 12.dp로 증가 (Line 96)
이러한 간격 조정은 시각적 계층 구조를 명확하게 만들어 UI의 가독성을 향상시킵니다.
Also applies to: 87-87, 96-96
93-93: 타이포그래피 변경으로 시각적 강조가 강화되었습니다.리스트 아이템의 텍스트 스타일을 R_16(Regular)에서 M_16(Medium)으로 변경하여 심리상태 요약 내용의 가독성과 시각적 무게감이 향상되었습니다.
Also applies to: 99-99
app/src/main/java/com/konkuk/medicarecall/ui/feature/homedetail/statehealth/component/StateHealthDetailCard.kt (4)
58-58: LGTM! 카드 내부 섹션 간격 확대.섹션 간 수직 간격을 20dp에서 32dp로 늘려 시각적 여유를 개선했습니다. UI 개선 의도와 잘 맞습니다.
69-69: LGTM! 헤더 아래 간격 통일."건강징후 요약"과 "증상 분석" 헤더 아래 Spacer를 4dp에서 12dp로 증가시켜 가독성을 높였습니다. 두 섹션에서 일관되게 적용된 점이 좋습니다.
Also applies to: 107-107
83-90: LGTM! 타이포그래피 토큰 통일 및 간격 조정.증상 목록의 불릿과 텍스트를 R_16에서 M_16으로 변경하고, 불릿과 텍스트 사이 간격을 8dp에서 12dp로 늘렸습니다. 전체 PR의 디자인 시스템 통일 방향과 일치합니다.
119-119: LGTM! 증상 분석 텍스트 타이포그래피 통일.증상 분석 텍스트에도 M_16 타이포그래피를 적용해 전체 카드 내 텍스트 스타일을 일관되게 유지했습니다.
app/src/main/java/com/konkuk/medicarecall/ui/feature/homedetail/meal/component/MealDetailCard.kt (2)
65-65: LGTM! 간격 조정이 자연스럽네요.식사 시간과 설명 사이 간격을 8dp에서 12dp로 늘려 가독성을 개선했습니다. 전반적인 UI 개편의 일환으로 적절한 변경입니다.
85-85: 색상 일관성 개선, 좋습니다!기록 전 상태 텍스트를 gray4에서 gray8로 변경하여 기록 후 상태(78번 줄)와 동일한 색상을 사용하게 되었습니다. 가독성도 개선되고 일관성도 확보되었네요.
app/src/main/java/com/konkuk/medicarecall/ui/feature/homedetail/glucoselevel/component/GlucoseTimingButton.kt (3)
27-30: 깔끔한 동적 스타일링 구현이네요!선택 상태에 따른 색상과 타이포그래피를 명확하게 분리해서 가독성이 좋습니다. 하드코딩된 값들을 변수로 추출한 것도 유지보수성 측면에서 좋은 개선이에요.
32-57: Card 구현이 잘 되어 있습니다.동적 스타일 변수들을 적절히 활용하고 있고, Compose의 표준 패턴을 따르고 있어요. clickable 모디파이어와 중앙 정렬 Box 구조도 적절합니다.
61-77: 프리뷰 함수들이 잘 구성되어 있네요.선택/비선택 상태를 모두 커버하는 프리뷰가 있어서 디자인 확인이 용이하겠어요. trailing comma 추가도 코드 스타일 일관성을 높여줍니다.
app/src/main/java/com/konkuk/medicarecall/ui/feature/homedetail/glucoselevel/screen/GlucoseDetail.kt (2)
42-42: LGTM! 임포트 정리 잘 되었습니다.
HomeViewModel,GlucoseViewModel,GlucoseTiming임포트가 깔끔하게 정리되었네요. 기능에는 영향 없는 구조 개선입니다.Also applies to: 48-49
171-171: 간격 조정 확인했습니다.TopAppBar 아래 24dp, 그래프와 상세 정보 사이 44dp로 여백이 조정되었네요. 시각적 분리가 더 명확해질 것 같습니다.
Also applies to: 222-222
app/src/main/java/com/konkuk/medicarecall/ui/feature/home/viewmodel/HomeUiState.kt (1)
25-25: null 안전성 처리 확인 완료HomeUiState.from()에서 모든 nullable 필드(dto.sleep, dto.healthStatus, dto.mentalStatus, dto.bloodSugar)도 Elvis 연산자(
?:)나 안전 호출(?.) 후 기본값을 잘 지정하고 있으므로 추가 수정 불필요합니다.app/src/main/java/com/konkuk/medicarecall/ui/feature/home/component/HomeMedicineContainer.kt (3)
110-130: 전체 복약 상태 계산 로직이 명확합니다.
medicines리스트를 순회하며 총 복용 횟수와 필요 횟수를 계산하는 로직이 직관적이고 올바르게 구현되어 있습니다.
150-156: nextDoseTime 조건 처리가 적절합니다.
null, 빈 문자열, 그리고 "-" 케이스를 모두 방어하고 있어 안전한 렌더링이 보장됩니다.
202-221: Preview 함수들이 유용합니다.다양한 상태(복약 기록 있음/미기록)를 커버하는 Preview 함수들이 잘 작성되어 있어 UI 개발 시 유용할 것 같습니다.
app/src/main/java/com/konkuk/medicarecall/ui/feature/home/component/HomeGlucoseLevelContainer.kt (6)
35-35: 외부 modifier 사용으로 변경 👍
modifier를 직접 사용하도록 변경하여 외부에서 크기 및 레이아웃을 제어할 수 있게 개선되었습니다. Compose 모범 사례에 부합합니다.
48-49: 패딩 조정 확인Column에 명시적으로 20.dp 패딩을 적용하여 레이아웃을 조정했습니다. 변경사항이 명확하고 문제없습니다.
57-65: 아이콘 패딩 조정 확인고정 크기에서 다방향 패딩으로 변경하여 아이콘 주변 여백을 세밀하게 조정했습니다. 좌우 패딩이 비대칭(start=7dp, end=6dp)인 점이 시각적 균형을 위한 의도적 조정인 것으로 보입니다.
67-67: 간격 조정 확인아이콘과 텍스트 사이 간격을 4.dp에서 2.dp로 줄여 더 밀착된 레이아웃을 구현했습니다.
77-77: 수직 간격 증가 확인타이틀과 콘텐츠 사이 간격을 8.dp에서 20.dp로 늘려 가독성을 개선했습니다.
106-106: 타이포그래피 토큰 일관성 확인 필요
HomeGlucoseLevelContainer에서mg/dL단위 텍스트를R_16→M_16으로 변경하셨습니다. 하지만 WeeklySummaryCard, WeeklySleepCard 등 유사 컴포넌트의 단위/라벨 텍스트는 여전히R_16을 사용 중입니다. 디자인 가이드 의도인지, 다른 컴포넌트에도 일괄 적용이 필요한지 검토 부탁드립니다.app/src/main/res/drawable/ic_heart.xml (1)
1-9: 새로운 하트 아이콘이 잘 정의되었습니다.벡터 드로어블 정의가 올바르며, 건강 상태 표시에 사용하기 적합한 핑크톤 컬러(#FA6878)가 적용되었습니다.
app/src/main/res/drawable/ic_pill_untaken.xml (1)
1-12: 복용하지 않은 약 아이콘이 명확하게 정의되었습니다.32dp 크기의 벡터 드로어블로, 두 가지 톤의 빨간색(#FF4949, #FF9F9F)을 사용한 디자인이 복용하지 않은 상태를 직관적으로 표현합니다.
app/src/main/res/drawable/ic_arrow_down_big.xml (1)
1-9: 큰 아래 화살표 아이콘이 적절하게 정의되었습니다.NameBar의 접힌 상태에 사용될 18dp x 19dp 크기의 화살표 아이콘입니다. 회색 컬러(#AFAFAF)가 UI 요소로 적절합니다.
app/src/main/res/drawable/ic_smile.xml (1)
1-21: 스마일 아이콘이 세심하게 디자인되었습니다.얼굴, 눈, 입을 별도 경로로 정의하여 24dp 크기의 웃는 표정을 표현했습니다. 입 부분은 stroke 속성을 사용해 선으로 그려지도록 구현되었고, 노란색 얼굴(#FFCC3D)과 어두운 눈/입(#1F1F1F)의 대비가 명확합니다.
app/src/main/java/com/konkuk/medicarecall/ui/feature/home/component/HomeStateMentalContainer.kt (4)
38-38: modifier 전파가 올바르게 개선되었습니다.외부에서 전달된 modifier를 직접 적용하여 Card에 스타일 체이닝이 가능하도록 변경했습니다. 컴포넌트 재사용성을 높이는 좋은 패턴입니다.
61-61: 새로운 스마일 아이콘으로 교체되었습니다.
ic_state_mental에서ic_smile로 변경하여 심리상태 UI를 업데이트했습니다. 새로 추가된 드로어블 리소스와 일치합니다.
69-70: 타이포그래피와 색상이 업데이트되었습니다.제목 스타일을
SB_18에서R_16으로, 색상을main에서gray8로 변경하여 시각적 계층을 조정했습니다.
75-75: 간격이 적절히 증가되었습니다.제목과 본문 사이의 spacer를 8dp에서 20dp로 늘려 가독성을 개선했습니다.
app/src/main/res/drawable/ic_notification.xml (1)
1-9: 알림 아이콘이 명확하게 정의되었습니다.28dp 크기의 벡터 드로어블로, 회색(#949494) 벨 모양이 알림 UI에 적합합니다. PR 컨텍스트에 따르면 새로운 NotificationIconWithBadge 컴포넌트와 함께 사용됩니다.
app/src/main/java/com/konkuk/medicarecall/ui/feature/homedetail/statemental/screen/StateMentalDetail.kt (3)
4-4: 필요한 import 구문이 추가되었습니다.
backgroundmodifier,TopAppBar,CalendarUiState,CalendarViewModel,MediCareCallTheme등 새로 사용되는 컴포넌트와 테마에 대한 import가 명시적으로 추가되었습니다.Also applies to: 28-28, 32-32, 37-37
107-107: 배경색이 테마로 적용되었습니다.메인 콘텐츠 Column에
MediCareCallTheme.colors.bg를 배경으로 설정하여 일관된 테마를 유지합니다.
117-117: 간격 조정으로 레이아웃이 개선되었습니다.DateSelector 이후 spacer를 10dp에서 24dp로, 캘린더 이후 spacer를 24dp에서 32dp로 증가시켜 시각적 계층과 가독성을 향상시켰습니다.
Also applies to: 127-127
app/src/main/java/com/konkuk/medicarecall/ui/feature/home/component/HomeMealContainer.kt (5)
36-36: trailing comma가 일관되게 추가되었습니다.Kotlin 스타일 가이드에 따라 함수 매개변수, 람다, 수정자 체인 등에 trailing comma를 추가하여 코드 일관성과 diff 가독성을 개선했습니다.
Also applies to: 55-55, 58-58, 60-60, 63-63, 68-68, 70-70, 95-95, 100-100, 107-107, 120-120, 126-126, 139-139, 147-147, 170-170
50-50: modifier 전파가 개선되었습니다.외부에서 전달된 modifier를 직접 사용하도록 변경하여 컴포넌트 재사용성을 높였습니다. 다른 컨테이너 컴포넌트들과 일관된 패턴입니다.
82-83: 타이포그래피와 색상이 업데이트되었습니다.제목 스타일을
R_16으로, 색상을gray8로 변경하여 다른 홈 컨테이너 컴포넌트들과 시각적 일관성을 유지합니다.
78-78: 간격이 조정되었습니다.아이콘과 텍스트 사이 간격을 8dp로, 제목과 본문 사이 간격을 20dp로 설정하여 다른 컴포넌트들과 일관된 레이아웃을 유지합니다.
Also applies to: 88-88
73-73: 이미지 패딩이 조정되었습니다.아이콘 이미지들의 패딩 값을 조정하여 시각적 균형을 개선했습니다.
Also applies to: 104-104, 123-123, 144-144
app/src/main/java/com/konkuk/medicarecall/ui/common/component/NotificationIconWithBadge.kt (1)
75-86: 프리뷰 케이스가 충실합니다.다양한 알림 개수 케이스(1, 9, 12, 99, 100, 0)를 모두 커버하고 있어 UI 확인이 용이합니다. 특히 경계값(99/100)과 배지 미표시(0) 케이스를 포함한 점이 좋습니다.
app/src/main/java/com/konkuk/medicarecall/ui/feature/homedetail/medicine/screen/MedicineDetail.kt (2)
101-109: 배경 테마와 간격 조정이 일관되게 적용되었습니다.
MediCareCallTheme.colors.bg배경 적용과 TopAppBar 하단 4dp 간격 추가가 다른 상세 화면들(MealDetail, SleepDetail 등)과 동일한 패턴을 따르고 있어 UI 일관성이 유지됩니다.
121-131: 간격 증가 변경사항 확인되었습니다.DateSelector 하단 간격을 10dp→12dp, 캘린더 이후 간격을 24dp→32dp로 조정하여 시각적 여유 공간을 확보했습니다. 디자인 의도에 부합하는 변경으로 보입니다.
app/src/main/res/drawable/ic_pills.xml (2)
6-11: 두 가지 색상을 사용한 디자인으로 변경되었습니다.빨강(#F4485B)과 노랑(#FFD000) 두 가지 색상으로 구성된 알약 디자인으로 변경되어 더 직관적인 시각적 표현이 되었습니다. 기존 단색 디자인 대비 색상 대비가 명확해져 가독성이 개선될 것으로 예상됩니다.
2-5: 아이콘 크기 축소 확인 (HomeMedicineContainer.kt:90)
Vector 크기가 24×25dp에서 19×19dp로 변경되었습니다. HomeMedicineContainer 컴포저블(90행) 등 이 아이콘이 사용되는 모든 화면에서 작은 크기나 고밀도 디스플레이에서도 시인성이 충분한지 검증해 주세요.app/src/main/java/com/konkuk/medicarecall/ui/common/component/TopAppBar.kt (1)
32-74: TopAppBar 레이아웃 리팩토링이 깔끔합니다.Row 기반 구조에서 Column 루트로 변경하고, 타이틀 중앙 정렬을 Box의 weight를 사용해 구현한 점이 좋습니다. HorizontalDivider를 Column 내부로 통합하여 구조가 더 명확해졌습니다.
타이틀 색상도 gray10으로 변경하여 테마 일관성이 향상되었습니다.
app/src/main/java/com/konkuk/medicarecall/ui/feature/homedetail/meal/screen/MealDetail.kt (2)
97-105: MedicineDetail과 동일한 패턴으로 일관성 있게 적용되었습니다.배경 테마(
MediCareCallTheme.colors.bg) 적용과 TopAppBar 하단 4dp 간격이 MedicineDetail.kt와 동일하게 구현되어 화면 간 일관성이 유지됩니다.
130-139: 간격 조정이 적절합니다.캘린더 이후 간격을 24dp→32dp, MealDetailCard 사이 간격을 8dp→12dp로 증가하여 시각적 여유가 확보되었습니다. 다른 상세 화면들과 유사한 간격 패턴을 따릅니다.
app/src/main/java/com/konkuk/medicarecall/ui/feature/calendar/DateSelector.kt (1)
53-53: 아이콘 에셋 업데이트가 일관되게 적용되었습니다.월 선택 드롭다운 아이콘이
ic_arrow_down에서ic_arrow_down_small로 변경되었습니다. DefaultDropDown, SpecialNoteItem 등 다른 컴포넌트들과 동일한 작은 화살표 아이콘을 사용하도록 통일된 점이 좋습니다.app/src/main/java/com/konkuk/medicarecall/ui/feature/homedetail/sleep/component/SleepDetailCard.kt (2)
32-32: modifier 파라미터 사용이 개선되었습니다.Card에서 새로운 Modifier를 생성하는 대신 받은 modifier 파라미터를 직접 사용하도록 변경된 점이 좋습니다. 호출하는 쪽에서 레이아웃을 더 유연하게 제어할 수 있습니다.
45-122: 간격 조정으로 레이아웃이 개선되었습니다.주요 간격 변경사항:
- Column verticalArrangement: 11dp→32dp
- 라벨과 내용 사이 Spacer: 4dp→12dp
전반적으로 여유 공간이 확보되어 가독성이 향상될 것으로 보입니다. 다른 상세 카드 컴포넌트들과 유사한 간격 패턴을 따릅니다.
app/src/main/java/com/konkuk/medicarecall/ui/common/component/DefaultDropDown.kt (1)
102-102: 드롭다운 아이콘이 통일되었습니다.닫힌 상태의 아이콘을
ic_arrow_down_small로 변경하여 DateSelector, SpecialNoteItem 등 다른 드롭다운 컴포넌트들과 동일한 작은 화살표를 사용합니다. 확장된 상태의ic_arrow_up은 유지되어 시각적 대비가 명확합니다.app/src/main/res/drawable/ic_pill_uncheck.xml (1)
1-12: 새 아이콘 리소스 추가 확인 완료미기록 상태 표시용 알약 아이콘이 잘 정의되어 있네요. 색상 선택(회색 계열)도 "기록 안 됨" 상태를 표현하기에 적절해 보입니다.
app/src/main/res/drawable/ic_arrow_down_small.xml (1)
1-9: 드롭다운 아이콘 추가 확인축소 상태 표시용 화살표 아이콘이 잘 추가되었습니다. 기존
ic_arrow_down.xml삭제 후 small/big 변형으로 분리한 접근도 합리적이네요.app/src/main/java/com/konkuk/medicarecall/ui/feature/statistics/screen/StatisticsScreen.kt (2)
39-40: import 재정렬 확인import 순서 정리가 잘 되어 있습니다.
150-151: 알림 개수 하드코딩 확인
notificationCount = 4가 임시 값으로 설정되어 있는데, PR 설명에 이미 TODO로 명시되어 있네요. 서버 API 연동 전까지는 UI 확인용으로 적절해 보입니다.참고로, HomeScreen과 StatisticsScreen에서 각각 알림 개수를 관리할지 MainViewModel 같은 공통 로직을 만들지에 대한 리뷰 포인트가 있다고 하셨는데, 지금은 각 화면에서 독립적으로 관리하는 구조로 보입니다. 추후 통합 시점에 맞춰 공통 로직으로 빼는 것도 고려해볼 만합니다.
app/src/main/res/drawable/ic_pill_taken.xml (1)
1-12: 복약 완료 아이콘 추가 확인복약 완료 상태를 나타내는 알약 아이콘이 잘 추가되었습니다. 녹색 계열 색상이 "복용함" 상태를 명확하게 전달하네요.
app/src/main/java/com/konkuk/medicarecall/ui/common/component/SpecialNoteItem.kt (1)
125-125: 드롭다운 아이콘 업데이트 확인축소 상태 아이콘을
ic_arrow_down_small로 변경한 것 확인했습니다. 다른 드롭다운 컴포넌트들과 일관성 있게 적용되었네요.app/src/main/java/com/konkuk/medicarecall/ui/feature/home/component/HomeStateHealthContainer.kt (3)
38-38: modifier 전달 개선 확인
modifier를 그대로 전달하도록 수정되어, 호출하는 쪽에서 Card 스타일을 제어할 수 있게 되었네요. 좋은 개선입니다.
61-71: 아이콘 및 타이포그래피 업데이트 확인아이콘을
ic_heart로 변경하고, 타이포그래피를R_16, 색상을gray8로 조정한 것 확인했습니다. 다른 홈 컨테이너들과 일관된 스타일을 유지하는 방향으로 보입니다.
75-75: 간격 조정 확인Spacer 높이가 8dp에서 20dp로 늘어났네요. 레이아웃 여백 조정으로 보입니다.
app/src/main/res/drawable/char_medi.xml (1)
1-42: 캐릭터 아이콘 리소스 업데이트 확인벡터 드로어블이 더 작은 viewport(36x31)로 재작성되고, group/clip-path 구조로 정리되었네요. 파일 크기 감소와 구조 개선 측면에서 좋은 변경입니다.
app/src/main/java/com/konkuk/medicarecall/ui/feature/homedetail/statehealth/screen/StateHealthDetail.kt (4)
29-37: import 재정렬 확인import 순서가 정리되었습니다. 가독성 개선이네요.
116-116: TopAppBar 하단 간격 추가 확인TopAppBar 아래 4dp 간격이 추가되었습니다.
119-119: 배경색 추가 확인내부 Column에
MediCareCallTheme.colors.bg배경색이 추가되어, 전체 테마와 일관된 배경을 유지하게 되었네요.
129-139: 간격 조정 확인DateSelector와 WeeklyCalendar, StateHealthDetailCard 사이 간격이 각각 24dp, 32dp로 늘어났습니다. 레이아웃 여백 개선으로 보입니다.
| modifier = modifier | ||
| .fillMaxWidth() | ||
| .height(56.dp) | ||
| .padding(horizontal = 10.dp) | ||
| .padding(horizontal = 16.dp, vertical = 14.dp) | ||
| .background(Color.White), | ||
| verticalAlignment = Alignment.CenterVertically, |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
외부 Modifier가 두 번 적용되고 있어요
NameBar에 전달한 modifier가 Box와 Row 모두에 붙으면서 Modifier.statusBarsPadding() 같은 게 두 번 먹여집니다. 홈 화면에서는 상단 패딩이 2배로 늘어나서 헤더가 내려앉아요. Row 쪽은 Modifier로 새로 시작하도록 바꿔주세요.
- Row(
- modifier = modifier
- .fillMaxWidth()
- .padding(horizontal = 16.dp, vertical = 14.dp)
- .background(Color.White),
+ Row(
+ modifier = Modifier
+ .fillMaxWidth()
+ .padding(horizontal = 16.dp, vertical = 14.dp)
+ .background(Color.White),📝 Committable suggestion
‼️ IMPORTANT
Carefully review the code before committing. Ensure that it accurately replaces the highlighted code, contains no missing lines, and has no issues with indentation. Thoroughly test & benchmark the code to ensure it meets the requirements.
| modifier = modifier | |
| .fillMaxWidth() | |
| .height(56.dp) | |
| .padding(horizontal = 10.dp) | |
| .padding(horizontal = 16.dp, vertical = 14.dp) | |
| .background(Color.White), | |
| verticalAlignment = Alignment.CenterVertically, | |
| Row( | |
| modifier = Modifier | |
| .fillMaxWidth() | |
| .padding(horizontal = 16.dp, vertical = 14.dp) | |
| .background(Color.White), | |
| verticalAlignment = Alignment.CenterVertically, | |
| ) { | |
| // … | |
| } |
🤖 Prompt for AI Agents
In app/src/main/java/com/konkuk/medicarecall/ui/common/component/NameBar.kt
around lines 41 to 45, the incoming modifier is being applied to both the Box
and the Row which causes statusBarsPadding (and other external modifiers) to
take effect twice; update the Row to start with a fresh Modifier (e.g., use
Modifier.fillMaxWidth().padding(...).background(...) or Modifier.then(...) as
needed) instead of reusing the external `modifier`, and keep the passed-in
`modifier` applied only to the outer Box so padding/status bar insets are not
doubled.
| MedicineDetailCard( | ||
| medicineName = medicine.medicineName, | ||
| todayTakenCount = medicine.todayTakenCount, | ||
| todayRequiredCount = medicine.todayRequiredCount, | ||
| doseStatusList = medicine.doseStatusList |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
🧩 Analysis chain
todayTakenCount 제거 확인 필요합니다.
MedicineDetailCard 호출에서 todayTakenCount 파라미터가 제거되었습니다. MedicineUiState 구조 변경에 따른 것으로 보이나, 실제 복용 개수 정보를 UI에서 어떻게 표시할지 확인이 필요합니다.
다음 스크립트로 MedicineDetailCard 컴포넌트 시그니처와 사용처를 확인해주세요:
🏁 Script executed:
#!/bin/bash
# MedicineDetailCard 함수 시그니처 확인
ast-grep --pattern $'@Composable
fun MedicineDetailCard($$$) {
$$$
}'
# MedicineDetailCard 호출 위치 확인
rg -nP --type=kt -C3 'MedicineDetailCard\s*\('Length of output: 13636
todayTakenCount 전달 누락 확인
MedicineDetailCard 시그니처에서 todayTakenCount 파라미터가 제거되어 UI에 복용 개수 정보가 전달되지 않습니다. 필요한 경우 MedicineUiState에 복용 개수 필드를 추가해 컴포넌트로 전달하거나, 복용 개수 표시 로직을 반영해주세요.
| android:pathData="M31.502,6.096C32.023,6.274 33.081,6.68 33.599,7.198C34.03,7.629 34.383,8.433 34.592,8.991C34.705,9.291 34.478,9.598 34.158,9.598L1.83,9.598C1.513,9.598 1.287,9.297 1.396,8.999C1.598,8.449 1.946,7.651 2.399,7.198C2.941,6.656 3.974,6.265 4.49,6.094C4.676,6.032 4.814,5.871 4.86,5.68C4.971,5.219 5.265,4.339 5.999,3.605C6.465,3.139 7.229,2.85 7.933,2.673C8.219,2.601 9.363,1.385 9.599,1.208C10.543,0.5 12.23,0.906 12.906,1.111C13.087,1.166 13.284,1.123 13.428,1.001C13.833,0.658 14.716,0.008 15.599,0.008C16.311,0.008 17.444,0.43 17.999,0.773C18.553,0.429 19.687,0.007 20.399,0.008C21.282,0.009 22.166,0.659 22.57,1.002C22.714,1.123 22.912,1.166 23.092,1.111C23.768,0.906 25.455,0.5 26.399,1.208C26.635,1.385 27.779,2.601 28.065,2.673C28.77,2.851 29.533,3.139 29.999,3.605C30.736,4.342 31.03,5.226 31.14,5.686C31.184,5.874 31.319,6.034 31.502,6.096Z"> | ||
| <aapt:attr name="android:fillColor"> | ||
| <gradient | ||
| android:startX="17.999" | ||
| android:startY="0.008" | ||
| android:endX="17.999" | ||
| android:endY="9.598" | ||
| android:type="linear"> | ||
| <item android:offset="0" android:color="#FFEAE5D5"/> | ||
| <item android:offset="1" android:color="#FFF1EFE7"/> | ||
| </gradient> | ||
| </aapt:attr> | ||
| </path> |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
낮은 API 호환성 문제
Line 14 경로가 그라디언트만 선언돼 있어서 API 23 이하에서는 기본 검정으로 칠해집니다. 홈/상세 화면에서 구버전 단말 테스트 시 색이 완전히 뒤집힐 거예요. 폴백용 android:fillColor를 추가해주세요.
- <path
- android:pathData="M31.502,6.096C32.023,6.274 33.081,6.68 33.599,7.198C34.03,7.629 34.383,8.433 34.592,8.991C34.705,9.291 34.478,9.598 34.158,9.598L1.83,9.598C1.513,9.598 1.287,9.297 1.396,8.999C1.598,8.449 1.946,7.651 2.399,7.198C2.941,6.656 3.974,6.265 4.49,6.094C4.676,6.032 4.814,5.871 4.86,5.68C4.971,5.219 5.265,4.339 5.999,3.605C6.465,3.139 7.229,2.85 7.933,2.673C8.219,2.601 9.363,1.385 9.599,1.208C10.543,0.5 12.23,0.906 12.906,1.111C13.087,1.166 13.284,1.123 13.428,1.001C13.833,0.658 14.716,0.008 15.599,0.008C16.311,0.008 17.444,0.43 17.999,0.773C18.553,0.429 19.687,0.007 20.399,0.008C21.282,0.009 22.166,0.659 22.57,1.002C22.714,1.123 22.912,1.166 23.092,1.111C23.768,0.906 25.455,0.5 26.399,1.208C26.635,1.385 27.779,2.601 28.065,2.673C28.77,2.851 29.533,3.139 29.999,3.605C30.736,4.342 31.03,5.226 31.14,5.686C31.184,5.874 31.319,6.034 31.502,6.096Z">
+ <path
+ android:pathData="M31.502,6.096C32.023,6.274 33.081,6.68 33.599,7.198C34.03,7.629 34.383,8.433 34.592,8.991C34.705,9.291 34.478,9.598 34.158,9.598L1.83,9.598C1.513,9.598 1.287,9.297 1.396,8.999C1.598,8.449 1.946,7.651 2.399,7.198C2.941,6.656 3.974,6.265 4.49,6.094C4.676,6.032 4.814,5.871 4.86,5.68C4.971,5.219 5.265,4.339 5.999,3.605C6.465,3.139 7.229,2.85 7.933,2.673C8.219,2.601 9.363,1.385 9.599,1.208C10.543,0.5 12.23,0.906 12.906,1.111C13.087,1.166 13.284,1.123 13.428,1.001C13.833,0.658 14.716,0.008 15.599,0.008C16.311,0.008 17.444,0.43 17.999,0.773C18.553,0.429 19.687,0.007 20.399,0.008C21.282,0.009 22.166,0.659 22.57,1.002C22.714,1.123 22.912,1.166 23.092,1.111C23.768,0.906 25.455,0.5 26.399,1.208C26.635,1.385 27.779,2.601 28.065,2.673C28.77,2.851 29.533,3.139 29.999,3.605C30.736,4.342 31.03,5.226 31.14,5.686C31.184,5.874 31.319,6.034 31.502,6.096Z"
+ android:fillColor="#FFEAE5D5">Committable suggestion skipped: line range outside the PR's diff.
🤖 Prompt for AI Agents
In app/src/main/res/drawable/ic_ricebowl_eat.xml around lines 14 to 26 the
<path> only declares a gradient via aapt:attr so on API ≤23 the shape renders
black; add a fallback android:fillColor attribute on the same <path> element
(set to the gradient start color, e.g. #FFEAE5D5) so older devices use that
solid color when the gradient is unsupported; place the android:fillColor
attribute directly on the <path> tag (before the aapt:attr block) and keep the
existing gradient block unchanged.
| android:pathData="M31.502,6.096C32.023,6.274 33.081,6.68 33.599,7.198C34.03,7.629 34.383,8.433 34.592,8.991C34.705,9.291 34.478,9.598 34.158,9.598L1.83,9.598C1.513,9.598 1.287,9.297 1.396,8.999C1.598,8.449 1.946,7.651 2.399,7.198C2.941,6.656 3.974,6.265 4.49,6.094C4.676,6.032 4.814,5.871 4.86,5.68C4.971,5.219 5.265,4.339 5.999,3.605C6.465,3.139 7.229,2.85 7.933,2.673C8.219,2.601 9.363,1.385 9.599,1.208C10.543,0.5 12.23,0.906 12.906,1.111C13.087,1.166 13.284,1.123 13.428,1.001C13.833,0.658 14.716,0.008 15.599,0.008C16.311,0.008 17.444,0.43 17.999,0.773C18.553,0.429 19.687,0.007 20.399,0.008C21.282,0.009 22.166,0.659 22.57,1.002C22.714,1.123 22.912,1.166 23.092,1.111C23.768,0.906 25.455,0.5 26.399,1.208C26.635,1.385 27.779,2.601 28.065,2.673C28.77,2.851 29.533,3.139 29.999,3.605C30.736,4.342 31.03,5.226 31.14,5.686C31.184,5.874 31.319,6.034 31.502,6.096Z"> | ||
| <aapt:attr name="android:fillColor"> | ||
| <gradient | ||
| android:startX="17.999" | ||
| android:startY="0.008" | ||
| android:endX="17.999" | ||
| android:endY="9.598" | ||
| android:type="linear"> | ||
| <item android:offset="0" android:color="#FFEAE5D5"/> | ||
| <item android:offset="1" android:color="#FFF1EFE7"/> | ||
| </gradient> | ||
| </aapt:attr> | ||
| </path> |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
API 24 미만 폴백 컬러 추가 필요
Line 14 경로가 <aapt:attr> 그라디언트만 들고 있어요. API 23 이하에서는 VectorDrawable 그라디언트가 무시되면서 기본값(검정)으로 칠해져 아이콘이 깨집니다. 동일 경로에 명시적인 android:fillColor를 넣어서 폴백 색을 확보해주세요.
- <path
- android:pathData="M31.502,6.096C32.023,6.274 33.081,6.68 33.599,7.198C34.03,7.629 34.383,8.433 34.592,8.991C34.705,9.291 34.478,9.598 34.158,9.598L1.83,9.598C1.513,9.598 1.287,9.297 1.396,8.999C1.598,8.449 1.946,7.651 2.399,7.198C2.941,6.656 3.974,6.265 4.49,6.094C4.676,6.032 4.814,5.871 4.86,5.68C4.971,5.219 5.265,4.339 5.999,3.605C6.465,3.139 7.229,2.85 7.933,2.673C8.219,2.601 9.363,1.385 9.599,1.208C10.543,0.5 12.23,0.906 12.906,1.111C13.087,1.166 13.284,1.123 13.428,1.001C13.833,0.658 14.716,0.008 15.599,0.008C16.311,0.008 17.444,0.43 17.999,0.773C18.553,0.429 19.687,0.007 20.399,0.008C21.282,0.009 22.166,0.659 22.57,1.002C22.714,1.123 22.912,1.166 23.092,1.111C23.768,0.906 25.455,0.5 26.399,1.208C26.635,1.385 27.779,2.601 28.065,2.673C28.77,2.851 29.533,3.139 29.999,3.605C30.736,4.342 31.03,5.226 31.14,5.686C31.184,5.874 31.319,6.034 31.502,6.096Z">
+ <path
+ android:pathData="M31.502,6.096C32.023,6.274 33.081,6.68 33.599,7.198C34.03,7.629 34.383,8.433 34.592,8.991C34.705,9.291 34.478,9.598 34.158,9.598L1.83,9.598C1.513,9.598 1.287,9.297 1.396,8.999C1.598,8.449 1.946,7.651 2.399,7.198C2.941,6.656 3.974,6.265 4.49,6.094C4.676,6.032 4.814,5.871 4.86,5.68C4.971,5.219 5.265,4.339 5.999,3.605C6.465,3.139 7.229,2.85 7.933,2.673C8.219,2.601 9.363,1.385 9.599,1.208C10.543,0.5 12.23,0.906 12.906,1.111C13.087,1.166 13.284,1.123 13.428,1.001C13.833,0.658 14.716,0.008 15.599,0.008C16.311,0.008 17.444,0.43 17.999,0.773C18.553,0.429 19.687,0.007 20.399,0.008C21.282,0.009 22.166,0.659 22.57,1.002C22.714,1.123 22.912,1.166 23.092,1.111C23.768,0.906 25.455,0.5 26.399,1.208C26.635,1.385 27.779,2.601 28.065,2.673C28.77,2.851 29.533,3.139 29.999,3.605C30.736,4.342 31.03,5.226 31.14,5.686C31.184,5.874 31.319,6.034 31.502,6.096Z"
+ android:fillColor="#FFEAE5D5">📝 Committable suggestion
‼️ IMPORTANT
Carefully review the code before committing. Ensure that it accurately replaces the highlighted code, contains no missing lines, and has no issues with indentation. Thoroughly test & benchmark the code to ensure it meets the requirements.
| android:pathData="M31.502,6.096C32.023,6.274 33.081,6.68 33.599,7.198C34.03,7.629 34.383,8.433 34.592,8.991C34.705,9.291 34.478,9.598 34.158,9.598L1.83,9.598C1.513,9.598 1.287,9.297 1.396,8.999C1.598,8.449 1.946,7.651 2.399,7.198C2.941,6.656 3.974,6.265 4.49,6.094C4.676,6.032 4.814,5.871 4.86,5.68C4.971,5.219 5.265,4.339 5.999,3.605C6.465,3.139 7.229,2.85 7.933,2.673C8.219,2.601 9.363,1.385 9.599,1.208C10.543,0.5 12.23,0.906 12.906,1.111C13.087,1.166 13.284,1.123 13.428,1.001C13.833,0.658 14.716,0.008 15.599,0.008C16.311,0.008 17.444,0.43 17.999,0.773C18.553,0.429 19.687,0.007 20.399,0.008C21.282,0.009 22.166,0.659 22.57,1.002C22.714,1.123 22.912,1.166 23.092,1.111C23.768,0.906 25.455,0.5 26.399,1.208C26.635,1.385 27.779,2.601 28.065,2.673C28.77,2.851 29.533,3.139 29.999,3.605C30.736,4.342 31.03,5.226 31.14,5.686C31.184,5.874 31.319,6.034 31.502,6.096Z"> | |
| <aapt:attr name="android:fillColor"> | |
| <gradient | |
| android:startX="17.999" | |
| android:startY="0.008" | |
| android:endX="17.999" | |
| android:endY="9.598" | |
| android:type="linear"> | |
| <item android:offset="0" android:color="#FFEAE5D5"/> | |
| <item android:offset="1" android:color="#FFF1EFE7"/> | |
| </gradient> | |
| </aapt:attr> | |
| </path> | |
| <path | |
| android:pathData="M31.502,6.096C32.023,6.274 33.081,6.68 33.599,7.198C34.03,7.629 34.383,8.433 34.592,8.991C34.705,9.291 34.478,9.598 34.158,9.598L1.83,9.598C1.513,9.598 1.287,9.297 1.396,8.999C1.598,8.449 1.946,7.651 2.399,7.198C2.941,6.656 3.974,6.265 4.49,6.094C4.676,6.032 4.814,5.871 4.86,5.68C4.971,5.219 5.265,4.339 5.999,3.605C6.465,3.139 7.229,2.85 7.933,2.673C8.219,2.601 9.363,1.385 9.599,1.208C10.543,0.5 12.23,0.906 12.906,1.111C13.087,1.166 13.284,1.123 13.428,1.001C13.833,0.658 14.716,0.008 15.599,0.008C16.311,0.008 17.444,0.43 17.999,0.773C18.553,0.429 19.687,0.007 20.399,0.008C21.282,0.009 22.166,0.659 22.57,1.002C22.714,1.123 22.912,1.166 23.092,1.111C23.768,0.906 25.455,0.5 26.399,1.208C26.635,1.385 27.779,2.601 28.065,2.673C28.77,2.851 29.533,3.139 29.999,3.605C30.736,4.342 31.03,5.226 31.14,5.686C31.184,5.874 31.319,6.034 31.502,6.096Z" | |
| android:fillColor="#FFEAE5D5"> | |
| <aapt:attr name="android:fillColor"> | |
| <gradient | |
| android:startX="17.999" | |
| android:startY="0.008" | |
| android:endX="17.999" | |
| android:endY="9.598" | |
| android:type="linear"> | |
| <item android:offset="0" android:color="#FFEAE5D5"/> | |
| <item android:offset="1" android:color="#FFF1EFE7"/> | |
| </gradient> | |
| </aapt:attr> | |
| </path> |
🤖 Prompt for AI Agents
In app/src/main/res/drawable/ic_ricebowl_skip.xml around lines 14 to 26, the
<path> only supplies a gradient via <aapt:attr name="android:fillColor"> which
is ignored on API <24 causing the icon to render black; add an explicit
android:fillColor attribute on the same <path> (a solid hex color that matches
the intended fallback — e.g. one of the gradient colors) so older APIs use that
color while newer APIs will use the aapt-provided gradient.
| android:pathData="M31.502,6.096C32.023,6.274 33.081,6.68 33.599,7.198C34.03,7.629 34.383,8.433 34.592,8.991C34.705,9.291 34.478,9.598 34.158,9.598L1.83,9.598C1.513,9.598 1.287,9.297 1.396,8.999C1.598,8.449 1.946,7.651 2.399,7.198C2.941,6.656 3.974,6.265 4.49,6.094C4.676,6.032 4.814,5.871 4.86,5.68C4.971,5.219 5.265,4.339 5.999,3.605C6.465,3.139 7.229,2.85 7.933,2.673C8.219,2.601 9.363,1.385 9.599,1.208C10.543,0.5 12.23,0.906 12.906,1.111C13.087,1.166 13.284,1.123 13.428,1.001C13.833,0.658 14.716,0.008 15.599,0.008C16.311,0.008 17.444,0.43 17.999,0.773C18.553,0.429 19.687,0.007 20.399,0.008C21.282,0.009 22.166,0.659 22.57,1.002C22.714,1.123 22.912,1.166 23.092,1.111C23.768,0.906 25.455,0.5 26.399,1.208C26.635,1.385 27.779,2.601 28.065,2.673C28.77,2.851 29.533,3.139 29.999,3.605C30.736,4.342 31.03,5.226 31.14,5.686C31.184,5.874 31.319,6.034 31.502,6.096Z"> | ||
| <aapt:attr name="android:fillColor"> | ||
| <gradient | ||
| android:startX="17.999" | ||
| android:startY="0.008" | ||
| android:endX="17.999" | ||
| android:endY="9.598" | ||
| android:type="linear"> | ||
| <item android:offset="0" android:color="#FFEAE5D5"/> | ||
| <item android:offset="1" android:color="#FFF1EFE7"/> | ||
| </gradient> | ||
| </aapt:attr> | ||
| </path> |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
구버전 아이콘 색상 깨짐
Line 14의 패스도 그라디언트만 선언돼 있어서 지원 안 되는 단말에서는 검정으로 렌더링됩니다. 폴백 컬러를 추가해 주세요.
- <path
- android:pathData="M31.502,6.096C32.023,6.274 33.081,6.68 33.599,7.198C34.03,7.629 34.383,8.433 34.592,8.991C34.705,9.291 34.478,9.598 34.158,9.598L1.83,9.598C1.513,9.598 1.287,9.297 1.396,8.999C1.598,8.449 1.946,7.651 2.399,7.198C2.941,6.656 3.974,6.265 4.49,6.094C4.676,6.032 4.814,5.871 4.86,5.68C4.971,5.219 5.265,4.339 5.999,3.605C6.465,3.139 7.229,2.85 7.933,2.673C8.219,2.601 9.363,1.385 9.599,1.208C10.543,0.5 12.23,0.906 12.906,1.111C13.087,1.166 13.284,1.123 13.428,1.001C13.833,0.658 14.716,0.008 15.599,0.008C16.311,0.008 17.444,0.43 17.999,0.773C18.553,0.429 19.687,0.007 20.399,0.008C21.282,0.009 22.166,0.659 22.57,1.002C22.714,1.123 22.912,1.166 23.092,1.111C23.768,0.906 25.455,0.5 26.399,1.208C26.635,1.385 27.779,2.601 28.065,2.673C28.77,2.851 29.533,3.139 29.999,3.605C30.736,4.342 31.03,5.226 31.14,5.686C31.184,5.874 31.319,6.034 31.502,6.096Z">
+ <path
+ android:pathData="M31.502,6.096C32.023,6.274 33.081,6.68 33.599,7.198C34.03,7.629 34.383,8.433 34.592,8.991C34.705,9.291 34.478,9.598 34.158,9.598L1.83,9.598C1.513,9.598 1.287,9.297 1.396,8.999C1.598,8.449 1.946,7.651 2.399,7.198C2.941,6.656 3.974,6.265 4.49,6.094C4.676,6.032 4.814,5.871 4.86,5.68C4.971,5.219 5.265,4.339 5.999,3.605C6.465,3.139 7.229,2.85 7.933,2.673C8.219,2.601 9.363,1.385 9.599,1.208C10.543,0.5 12.23,0.906 12.906,1.111C13.087,1.166 13.284,1.123 13.428,1.001C13.833,0.658 14.716,0.008 15.599,0.008C16.311,0.008 17.444,0.43 17.999,0.773C18.553,0.429 19.687,0.007 20.399,0.008C21.282,0.009 22.166,0.659 22.57,1.002C22.714,1.123 22.912,1.166 23.092,1.111C23.768,0.906 25.455,0.5 26.399,1.208C26.635,1.385 27.779,2.601 28.065,2.673C28.77,2.851 29.533,3.139 29.999,3.605C30.736,4.342 31.03,5.226 31.14,5.686C31.184,5.874 31.319,6.034 31.502,6.096Z"
+ android:fillColor="#FFEAE5D5">📝 Committable suggestion
‼️ IMPORTANT
Carefully review the code before committing. Ensure that it accurately replaces the highlighted code, contains no missing lines, and has no issues with indentation. Thoroughly test & benchmark the code to ensure it meets the requirements.
| android:pathData="M31.502,6.096C32.023,6.274 33.081,6.68 33.599,7.198C34.03,7.629 34.383,8.433 34.592,8.991C34.705,9.291 34.478,9.598 34.158,9.598L1.83,9.598C1.513,9.598 1.287,9.297 1.396,8.999C1.598,8.449 1.946,7.651 2.399,7.198C2.941,6.656 3.974,6.265 4.49,6.094C4.676,6.032 4.814,5.871 4.86,5.68C4.971,5.219 5.265,4.339 5.999,3.605C6.465,3.139 7.229,2.85 7.933,2.673C8.219,2.601 9.363,1.385 9.599,1.208C10.543,0.5 12.23,0.906 12.906,1.111C13.087,1.166 13.284,1.123 13.428,1.001C13.833,0.658 14.716,0.008 15.599,0.008C16.311,0.008 17.444,0.43 17.999,0.773C18.553,0.429 19.687,0.007 20.399,0.008C21.282,0.009 22.166,0.659 22.57,1.002C22.714,1.123 22.912,1.166 23.092,1.111C23.768,0.906 25.455,0.5 26.399,1.208C26.635,1.385 27.779,2.601 28.065,2.673C28.77,2.851 29.533,3.139 29.999,3.605C30.736,4.342 31.03,5.226 31.14,5.686C31.184,5.874 31.319,6.034 31.502,6.096Z"> | |
| <aapt:attr name="android:fillColor"> | |
| <gradient | |
| android:startX="17.999" | |
| android:startY="0.008" | |
| android:endX="17.999" | |
| android:endY="9.598" | |
| android:type="linear"> | |
| <item android:offset="0" android:color="#FFEAE5D5"/> | |
| <item android:offset="1" android:color="#FFF1EFE7"/> | |
| </gradient> | |
| </aapt:attr> | |
| </path> | |
| <path | |
| android:pathData="M31.502,6.096C32.023,6.274 33.081,6.68 33.599,7.198C34.03,7.629 34.383,8.433 34.592,8.991C34.705,9.291 34.478,9.598 34.158,9.598L1.83,9.598C1.513,9.598 1.287,9.297 1.396,8.999C1.598,8.449 1.946,7.651 2.399,7.198C2.941,6.656 3.974,6.265 4.49,6.094C4.676,6.032 4.814,5.871 4.86,5.68C4.971,5.219 5.265,4.339 5.999,3.605C6.465,3.139 7.229,2.85 7.933,2.673C8.219,2.601 9.363,1.385 9.599,1.208C10.543,0.5 12.23,0.906 12.906,1.111C13.087,1.166 13.284,1.123 13.428,1.001C13.833,0.658 14.716,0.008 15.599,0.008C16.311,0.008 17.444,0.43 17.999,0.773C18.553,0.429 19.687,0.007 20.399,0.008C21.282,0.009 22.166,0.659 22.57,1.002C22.714,1.123 22.912,1.166 23.092,1.111C23.768,0.906 25.455,0.5 26.399,1.208C26.635,1.385 27.779,2.601 28.065,2.673C28.77,2.851 29.533,3.139 29.999,3.605C30.736,4.342 31.03,5.226 31.14,5.686C31.184,5.874 31.319,6.034 31.502,6.096Z" | |
| android:fillColor="#FFEAE5D5"> | |
| <aapt:attr name="android:fillColor"> | |
| <gradient | |
| android:startX="17.999" | |
| android:startY="0.008" | |
| android:endX="17.999" | |
| android:endY="9.598" | |
| android:type="linear"> | |
| <item android:offset="0" android:color="#FFEAE5D5"/> | |
| <item android:offset="1" android:color="#FFF1EFE7"/> | |
| </gradient> | |
| </aapt:attr> | |
| </path> |
🤖 Prompt for AI Agents
In app/src/main/res/drawable/ic_ricebowl_uncheck.xml around lines 14 to 26, the
<path> only supplies a gradient inside aapt:attr so older devices render it as
black; add a solid android:fillColor attribute on the <path> (use one of the
gradient colors, e.g. #FFF1EFE7 or #FFEAE5D5) as a fallback placed on the path
element itself, then keep the existing aapt:attr gradient so modern devices use
the gradient while legacy devices use the solid color.
| android:pathData="M16.251,3.048C16.511,3.137 17.041,3.34 17.3,3.599C17.515,3.814 17.692,4.216 17.796,4.496C17.853,4.646 17.739,4.799 17.579,4.799L1.415,4.799C1.256,4.799 1.143,4.648 1.198,4.5C1.299,4.224 1.473,3.826 1.7,3.599C1.971,3.328 2.487,3.132 2.745,3.047C2.838,3.016 2.907,2.935 2.93,2.84C2.985,2.609 3.133,2.169 3.5,1.802C3.733,1.569 4.114,1.425 4.467,1.337C4.61,1.301 5.182,0.692 5.3,0.604C5.772,0.25 6.615,0.453 6.953,0.556C7.043,0.583 7.142,0.561 7.214,0.501C7.416,0.329 7.858,0.004 8.3,0.004C8.655,0.004 9.222,0.215 9.499,0.387C9.777,0.215 10.344,0.003 10.7,0.004C11.141,0.005 11.583,0.329 11.785,0.501C11.857,0.562 11.956,0.583 12.046,0.556C12.384,0.453 13.228,0.25 13.7,0.604C13.818,0.692 14.389,1.301 14.533,1.337C14.885,1.425 15.267,1.57 15.5,1.803C15.868,2.171 16.015,2.613 16.07,2.843C16.092,2.937 16.16,3.017 16.251,3.048Z"> | ||
| <aapt:attr name="android:fillColor"> | ||
| <gradient | ||
| android:startX="9.5" | ||
| android:startY="0.004" | ||
| android:endX="9.5" | ||
| android:endY="4.799" | ||
| android:type="linear"> | ||
| <item android:offset="0" android:color="#FFEAE5D5"/> | ||
| <item android:offset="1" android:color="#FFF1EFE7"/> | ||
| </gradient> | ||
| </aapt:attr> | ||
| </path> |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
VectorDrawable 그라디언트 폴백 누락
Line 14 경로도 그라디언트만 들고 있어서 API 23 이하에서는 검정색으로 표시됩니다. android:fillColor 기본값을 추가해 호환성을 확보해 주세요.
- <path
- android:pathData="M16.251,3.048C16.511,3.137 17.041,3.34 17.3,3.599C17.515,3.814 17.692,4.216 17.796,4.496C17.853,4.646 17.739,4.799 17.579,4.799L1.415,4.799C1.256,4.799 1.143,4.648 1.198,4.5C1.299,4.224 1.473,3.826 1.7,3.599C1.971,3.328 2.487,3.132 2.745,3.047C2.838,3.016 2.907,2.935 2.93,2.84C2.985,2.609 3.133,2.169 3.5,1.802C3.733,1.569 4.114,1.425 4.467,1.337C4.61,1.301 5.182,0.692 5.3,0.604C5.772,0.25 6.615,0.453 6.953,0.556C7.043,0.583 7.142,0.561 7.214,0.501C7.416,0.329 7.858,0.004 8.3,0.004C8.655,0.004 9.222,0.215 9.499,0.387C9.777,0.215 10.344,0.003 10.7,0.004C11.141,0.005 11.583,0.329 11.785,0.501C11.857,0.562 11.956,0.583 12.046,0.556C12.384,0.453 13.228,0.25 13.7,0.604C13.818,0.692 14.389,1.301 14.533,1.337C14.885,1.425 15.267,1.57 15.5,1.803C15.868,2.171 16.015,2.613 16.07,2.843C16.092,2.937 16.16,3.017 16.251,3.048Z">
+ <path
+ android:pathData="M16.251,3.048C16.511,3.137 17.041,3.34 17.3,3.599C17.515,3.814 17.692,4.216 17.796,4.496C17.853,4.646 17.739,4.799 17.579,4.799L1.415,4.799C1.256,4.799 1.143,4.648 1.198,4.5C1.299,4.224 1.473,3.826 1.7,3.599C1.971,3.328 2.487,3.132 2.745,3.047C2.838,3.016 2.907,2.935 2.93,2.84C2.985,2.609 3.133,2.169 3.5,1.802C3.733,1.569 4.114,1.425 4.467,1.337C4.61,1.301 5.182,0.692 5.3,0.604C5.772,0.25 6.615,0.453 6.953,0.556C7.043,0.583 7.142,0.561 7.214,0.501C7.416,0.329 7.858,0.004 8.3,0.004C8.655,0.004 9.222,0.215 9.499,0.387C9.777,0.215 10.344,0.003 10.7,0.004C11.141,0.005 11.583,0.329 11.785,0.501C11.857,0.562 11.956,0.583 12.046,0.556C12.384,0.453 13.228,0.25 13.7,0.604C13.818,0.692 14.389,1.301 14.533,1.337C14.885,1.425 15.267,1.57 15.5,1.803C15.868,2.171 16.015,2.613 16.07,2.843C16.092,2.937 16.16,3.017 16.251,3.048Z"
+ android:fillColor="#FFEAE5D5">🤖 Prompt for AI Agents
In app/src/main/res/drawable/ic_ricebowl.xml around lines 14 to 26, the path
only defines a gradient via aapt:attr so on API 23 and below the shape renders
black; add a compatible fallback by adding an android:fillColor attribute on the
<path> with a sensible solid color (e.g., the gradient start color #FFEAE5D5)
before the <aapt:attr> block so older APIs have a solid fill while the aapt
gradient remains for newer devices.
ikseong00
left a comment
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
res/drawable 디렉토리 말고, icon 디렉토리에 존재하는 리소스 파일들이 있는 것 같습니다!
확인하고 수정 부탁드려요!
그 외 부분들은 잘 하신 것 같습니다.
이 PR 머지하구, 홈 화면의 코드적인 수정사항들은 이후 회의 때 논의해보면 좋을 것 같습니다!
|
수정하였습니다! |
| .background(Color.White) | ||
| text = "한 줄 요약", | ||
| style = MediCareCallTheme.typography.B_20, // Bold 스타일 | ||
| color = MediCareCallTheme.colors.g50, |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
| color = MediCareCallTheme.colors.g50, | |
| color = if (hasSummaryData) { | |
| MediCareCallTheme.colors.g50 | |
| } else { | |
| MediCareCallTheme.colors.white | |
| } |
이 부분 분기 처리 필요할 것 같습니다!
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
수정하였습니다!
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Actionable comments posted: 0
🧹 Nitpick comments (1)
app/src/main/java/com/konkuk/medicarecall/ui/feature/home/screen/HomeScreen.kt (1)
264-266: 알림 개수 관리 방식에 대한 의견현재 하드코딩된 알림 개수는 UI 확인용 임시 구현으로 적절합니다. 향후 실제 데이터 연동 시, 알림 개수 관리는 MainViewModel(또는 공통 레이어)에서 처리하는 것을 권장합니다:
권장 접근 방식:
- MainViewModel 또는 공통 NotificationRepository에서 알림 개수를 StateFlow로 관리
- 홈화면과 주간통계화면이 동일한 StateFlow를 구독
- 알림 데이터 변경 시 자동으로 모든 구독자에게 전파
장점:
- 단일 진실 공급원(Single Source of Truth) 보장
- 화면 간 알림 개수 불일치 방지
- 유지보수 용이
화면별로 개별 관리하면 동기화 문제와 중복 로직이 발생할 수 있습니다.
📜 Review details
Configuration used: CodeRabbit UI
Review profile: CHILL
Plan: Pro
📒 Files selected for processing (1)
app/src/main/java/com/konkuk/medicarecall/ui/feature/home/screen/HomeScreen.kt(9 hunks)
🧰 Additional context used
🧬 Code graph analysis (1)
app/src/main/java/com/konkuk/medicarecall/ui/feature/home/screen/HomeScreen.kt (8)
app/src/main/java/com/konkuk/medicarecall/ui/feature/home/component/CareCallSnackBar.kt (1)
CareCallSnackBar(13-25)app/src/main/java/com/konkuk/medicarecall/ui/feature/home/component/HomeMealContainer.kt (1)
HomeMealContainer(30-158)app/src/main/java/com/konkuk/medicarecall/ui/feature/home/component/HomeMedicineContainer.kt (1)
HomeMedicineContainer(31-199)app/src/main/java/com/konkuk/medicarecall/ui/feature/home/component/HomeSleepContainer.kt (1)
HomeSleepContainer(33-161)app/src/main/java/com/konkuk/medicarecall/ui/feature/home/component/HomeStateHealthContainer.kt (1)
HomeStateHealthContainer(29-104)app/src/main/java/com/konkuk/medicarecall/ui/feature/home/component/HomeStateMentalContainer.kt (1)
HomeStateMentalContainer(29-104)app/src/main/java/com/konkuk/medicarecall/ui/feature/home/component/HomeGlucoseLevelContainer.kt (1)
HomeGlucoseLevelContainer(28-118)app/src/main/java/com/konkuk/medicarecall/ui/common/component/NameDropdown.kt (1)
NameDropdown(37-120)
⏰ Context from checks skipped due to timeout of 90000ms. You can increase the timeout in your CodeRabbit configuration to a maximum of 15 minutes (900000ms). (1)
- GitHub Check: ci-build
🔇 Additional comments (3)
app/src/main/java/com/konkuk/medicarecall/ui/feature/home/screen/HomeScreen.kt (3)
166-180: LGTM! 이전 리뷰 코멘트 반영 완료요약 카드의 배경색과 텍스트 색상을 데이터 유무에 따라 분기 처리하는 로직이 명확하고 올바르게 구현되었습니다. 이전 리뷰에서 제기된 색상 분기 처리 필요성이 잘 반영되었네요!
457-499: 미기록 상태 Preview 추가 굿!미기록 상태를 확인할 수 있는 별도 Preview가 추가되어 UI 검증이 더 수월해졌습니다. 모든 데이터 필드가 비어있거나 null/zero로 설정되어 있어, 실제 사용자가 데이터를 아직 입력하지 않은 시나리오를 정확히 재현하고 있네요.
Preview 이름도 명확하게 작성되어 있어 개발자들이 쉽게 식별할 수 있습니다.
421-422: MedicineUiState 호출 인자 일치 확인
Preview에서 사용된 4개의 인자(String, Int, Int, String)는home/viewmodel/HomeUiState.kt에 정의된MedicineUiState생성자와 완벽히 일치합니다. 변경 필요 없습니다.
🔗 관련 이슈
📙 작업 설명
TODO
NameBar 알림 배지 기능과 HomeMedicineContainer의 아이콘 표시는 현재 UI 확인을 위한 임시 구현이 되어 있으며 관련 서버 API 업데이트가 필요합니다.
AI 한줄요약 미기록, 다음복약시간 미기록,추가 개발 UI에 관한 질문은 피그마에 남겨놓았습니다. 해결이 되면 수정하겠습니다.📸 스크린샷 또는 시연 영상 (선택)
Screen_recording_20251003_033648.webm
💬 추가 설명 or 리뷰 포인트 (선택)
Summary by CodeRabbit
신규 기능
UI/UX
리팩터
에셋