-
Notifications
You must be signed in to change notification settings - Fork 0
[Feat] 주간 통계 화면 UI 수정사항 반영 #131 #135
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
Develop 기본 사항 반영
develop to main
Walkthrough주간 통계 UI 구조가 재배치되고 시각 요소가 조정되었습니다. 상단에 Changes
Sequence Diagram(s)sequenceDiagram
autonumber
actor User
participant Screen as StatisticsScreen
participant VM as StatisticsViewModel
participant Weekend as WeekendBar
participant Content as StatisticsContent
participant Cards as Weekly…Card들
User->>Screen: 진입 (요약/summary 요청)
Screen->>VM: 상태/summary 구독
Screen->>Weekend: currentWeek, isLatest/isEarliest 전달
Weekend-->>Screen: onPreviousWeek / onNextWeek 트리거
Screen->>VM: 이전/다음 주 요청 처리
Screen->>Content: summary 전달 (Column/Scroll)
Content->>Cards: 각 Weekly…Card 렌더 호출
note right of Cards: Cards는 그림자·타이포·정렬 변경 적용
Estimated code review effort🎯 4 (Complex) | ⏱️ ~45 minutes Possibly related PRs
Suggested reviewers
Poem
Pre-merge checks and finishing touches❌ Failed checks (2 warnings)
✅ Passed checks (3 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: 1
🧹 Nitpick comments (6)
app/src/main/java/com/konkuk/medicarecall/ui/feature/statistics/weeklycard/WeeklySleepCard.kt (2)
37-41: 수면 시간/분 null 안전성 보강 제안모델에서 minutes가 null일 수 있다면, 현재 isUnrecorded가 hours만 보고 판단해서 NPE/“null” 문자열 노출 위험이 있어요. 둘 중 하나라도 null이면 미기록으로 처리하는 편이 안전합니다.
다음처럼 보강을 제안합니다:
- val isUnrecorded = summary.weeklySleepHours == null - val hoursText = if (isUnrecorded) "--" else summary.weeklySleepHours.toString() - val minutesText = if (isUnrecorded) "--" else summary.weeklySleepMinutes.toString() + val hours = summary.weeklySleepHours + val minutes = summary.weeklySleepMinutes + val isUnrecorded = (hours == null) || (minutes == null) + val hoursText = if (hours == null) "--" else hours.toString() + val minutesText = if (minutes == null) "--" else minutes.toString()가능하다면 WeeklySummaryUiState에서 “둘 다 null/둘 다 값”을 보장하는 불변식을 유지해도 좋습니다.
Also applies to: 98-101
71-75: 아이콘 접근성(a11y) 정리달 아이콘이 장식용이면 스크린리더에 불필요하니 contentDescription을 null로 두는 게 좋아요.
- Icon( + Icon( painter = painterResource(id = R.drawable.ic_moon), - contentDescription = "moon", + contentDescription = null, modifier = Modifier.size(40.dp), tint = Color.Unspecified )app/src/main/java/com/konkuk/medicarecall/ui/feature/statistics/weeklycard/WeeklyMentalCard.kt (1)
119-124: 카운트 영역 폭/표기 개선 제안
- 고정 폭 22.dp는 두 자릿수 이상에서 잘림 가능. min 폭으로 두는 게 안전합니다.
- 미기록일 때 “-번” 보다는 “-”만 표기하는 편이 자연스러워요.
- Text( - text = "${countText}번", + Text( + text = if (countText == "-") "-" else "${countText}번", style = MediCareCallTheme.typography.R_14, color = textColor, - modifier = Modifier.width(22.dp), + modifier = Modifier.widthIn(min = 22.dp), textAlign = TextAlign.End )추가로 필요한 import:
import androidx.compose.foundation.layout.widthInapp/src/main/java/com/konkuk/medicarecall/ui/feature/statistics/weeklycard/WeeklySummaryCard.kt (1)
109-116: 미기록 상태의 단위 텍스트 색상 보정현재 isUnrecorded 여부와 무관하게 unit이 검정으로 표시됩니다. 값이 ‘-’일 때는 unit도 옅은 색이 자연스러워요.
Text( text = unit, modifier = Modifier.padding(start = 2.dp, bottom = 2.dp), style = MediCareCallTheme.typography.M_16, - color = if (isUnrecorded) MediCareCallTheme.colors.black else MediCareCallTheme.colors.black, + color = if (isUnrecorded) MediCareCallTheme.colors.gray4 else MediCareCallTheme.colors.black, )app/src/main/java/com/konkuk/medicarecall/ui/feature/statistics/component/WeekendBar.kt (2)
66-69: DateTimeFormatter는 remember로 캐싱 권장불필요한 객체 생성 줄이기 위해 recomposition 간 캐싱하세요.
- val formatter = DateTimeFormatter.ofPattern("M월 d일", Locale.KOREAN) + val formatter = remember { DateTimeFormatter.ofPattern("M월 d일", Locale.KOREAN) }필요 시 import:
import androidx.compose.runtime.remember
44-48: 접근성/현지화 다듬기
- contentDescription은 stringResource로 현지화 추천(예: “이전 주”, “다음 주”).
- 가장 이른 주일 때 왼쪽 화살표는 색도 옅게 처리하면 비활성 상태가 더 명확합니다.
예시:
// import androidx.compose.ui.res.stringResource Icon( modifier = Modifier.clickable(enabled = !isEarliestWeek) { onPreviousWeek() }, painter = painterResource(id = R.drawable.ic_arrow_big_back), contentDescription = stringResource(R.string.cd_prev_week), tint = if (isEarliestWeek) MediCareCallTheme.colors.gray2 else MediCareCallTheme.colors.gray3 )Also applies to: 81-86, 56-60
📜 Review details
Configuration used: CodeRabbit UI
Review profile: CHILL
Plan: Pro
⛔ Files ignored due to path filters (1)
icon/ic_moon.svgis excluded by!**/*.svg
📒 Files selected for processing (11)
app/src/main/java/com/konkuk/medicarecall/ui/feature/statistics/component/WeekendBar.kt(3 hunks)app/src/main/java/com/konkuk/medicarecall/ui/feature/statistics/component/WeeklyGlucoseStatusChip.kt(2 hunks)app/src/main/java/com/konkuk/medicarecall/ui/feature/statistics/screen/StatisticsScreen.kt(9 hunks)app/src/main/java/com/konkuk/medicarecall/ui/feature/statistics/weeklycard/WeeklyGlucoseCard.kt(6 hunks)app/src/main/java/com/konkuk/medicarecall/ui/feature/statistics/weeklycard/WeeklyHealthCard.kt(1 hunks)app/src/main/java/com/konkuk/medicarecall/ui/feature/statistics/weeklycard/WeeklyMealCard.kt(2 hunks)app/src/main/java/com/konkuk/medicarecall/ui/feature/statistics/weeklycard/WeeklyMedicineCard.kt(1 hunks)app/src/main/java/com/konkuk/medicarecall/ui/feature/statistics/weeklycard/WeeklyMentalCard.kt(3 hunks)app/src/main/java/com/konkuk/medicarecall/ui/feature/statistics/weeklycard/WeeklySleepCard.kt(4 hunks)app/src/main/java/com/konkuk/medicarecall/ui/feature/statistics/weeklycard/WeeklySummaryCard.kt(3 hunks)app/src/main/res/drawable/ic_moon.xml(1 hunks)
🧰 Additional context used
🧬 Code graph analysis (1)
app/src/main/java/com/konkuk/medicarecall/ui/feature/statistics/screen/StatisticsScreen.kt (8)
app/src/main/java/com/konkuk/medicarecall/ui/feature/statistics/component/WeekendBar.kt (1)
WeekendBar(25-99)app/src/main/java/com/konkuk/medicarecall/ui/feature/statistics/weeklycard/WeeklySummaryCard.kt (1)
WeeklySummaryCard(25-77)app/src/main/java/com/konkuk/medicarecall/ui/feature/statistics/weeklycard/WeeklyMealCard.kt (1)
WeeklyMealCard(31-119)app/src/main/java/com/konkuk/medicarecall/ui/feature/statistics/weeklycard/WeeklyMedicineCard.kt (1)
WeeklyMedicineCard(34-130)app/src/main/java/com/konkuk/medicarecall/ui/feature/statistics/weeklycard/WeeklyHealthCard.kt (1)
WeeklyHealthCard(22-62)app/src/main/java/com/konkuk/medicarecall/ui/feature/statistics/weeklycard/WeeklySleepCard.kt (1)
WeeklySleepCard(32-112)app/src/main/java/com/konkuk/medicarecall/ui/feature/statistics/weeklycard/WeeklyMentalCard.kt (1)
WeeklyMentalCard(31-90)app/src/main/java/com/konkuk/medicarecall/ui/feature/statistics/weeklycard/WeeklyGlucoseCard.kt (1)
WeeklyGlucoseCard(31-170)
⏰ 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 (10)
app/src/main/java/com/konkuk/medicarecall/ui/feature/statistics/component/WeeklyGlucoseStatusChip.kt (1)
35-35: UI 업데이트 잘 반영되었습니다! 👍코너 반경을 10dp → 8dp로, 텍스트 스타일을 R_16 → R_14로 조정한 것은 주간 통계 화면의 전반적인 디자인 개선 방향과 일치합니다. 시각적 일관성을 높이는 변경이네요.
Also applies to: 48-48
app/src/main/java/com/konkuk/medicarecall/ui/feature/statistics/weeklycard/WeeklyMedicineCard.kt (1)
45-47: shadow01로의 통일 좋습니다주간 카드 전반의 그림자 톤이 일관돼 보여요. 문제 없습니다.
app/src/main/java/com/konkuk/medicarecall/ui/feature/statistics/weeklycard/WeeklyHealthCard.kt (1)
36-38: shadow01 적용 LGTM다른 카드들과의 시각적 일관성 확보 측면에서 좋습니다.
app/src/main/java/com/konkuk/medicarecall/ui/feature/statistics/weeklycard/WeeklySleepCard.kt (1)
49-51: shadow01 적용 일관성 OK카드 그림자 톤 통일 좋습니다.
app/src/main/java/com/konkuk/medicarecall/ui/feature/statistics/weeklycard/WeeklyMentalCard.kt (1)
39-42: shadow01 적용 LGTM시각적 일관성 확보에 적합합니다.
app/src/main/java/com/konkuk/medicarecall/ui/feature/statistics/weeklycard/WeeklySummaryCard.kt (1)
34-36: shadow01 적용 OK전반 카드들과 일관되어 좋습니다.
app/src/main/java/com/konkuk/medicarecall/ui/feature/statistics/weeklycard/WeeklyMealCard.kt (2)
40-42: shadow01 적용 LGTM다른 주간 카드와 톤이 맞춰져 좋아요.
93-96: 식사 타입 텍스트 색상 변경 좋습니다가독성이 좋아졌어요. 그대로 가도 됩니다.
app/src/main/java/com/konkuk/medicarecall/ui/feature/statistics/component/WeekendBar.kt (2)
35-41: 상단 바 구조 개편/Divider 추가 좋습니다중앙 정렬된 주차/날짜 범위와 하단 Divider로 정보 구조가 더 또렷해졌어요. 네비게이션 조건 처리도 깔끔합니다.
Also applies to: 93-97
26-33: WeekendBar 호출부 업데이트 완료
StatisticsScreen.kt와 Preview 함수들에서isEarliestWeek,onPreviousWeek,onNextWeek가 모두 정상 전달되고 있습니다.
app/src/main/java/com/konkuk/medicarecall/ui/feature/statistics/screen/StatisticsScreen.kt
Outdated
Show resolved
Hide resolved
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 (6)
app/src/main/java/com/konkuk/medicarecall/ui/feature/statistics/screen/StatisticsScreen.kt (2)
173-173: 에러 처리 UI 구현을 고려해보세요.현재 에러 케이스에서 빈 화면이 표시됩니다. 사용자 경험을 위해 에러 메시지나 재시도 버튼을 추가하는 것이 좋겠습니다.
다음과 같이 간단한 에러 UI를 추가할 수 있습니다:
- uiState.error != null -> { /* ... */ } + uiState.error != null -> { + Box( + Modifier.fillMaxSize(), + contentAlignment = Alignment.Center + ) { + Text( + text = "데이터를 불러올 수 없습니다", + style = MediCareCallTheme.typography.R_16, + color = MediCareCallTheme.colors.gray5 + ) + } + }
177-188: 불필요한 Column을 제거할 수 있습니다.
WeekendBar아래의Column(184-188줄)이StatisticsContent하나만 감싸고 있어서 불필요해 보입니다. 직접StatisticsContent를 호출하면 더 간결합니다.WeekendBar( currentWeek = currentWeek, isLatestWeek = isLatestWeek, isEarliestWeek = isEarliestWeek, onPreviousWeek = onPreviousWeek, onNextWeek = onNextWeek ) - Column { - StatisticsContent( - summary = uiState.summary - ) - } + StatisticsContent( + summary = uiState.summary + )app/src/main/java/com/konkuk/medicarecall/ui/feature/statistics/component/WeekendBar.kt (4)
45-51: 아이콘 터치 타깃 48dp 확보 및 IconButton 사용 권장현 상태(Icon + clickable)는 터치 타깃이 24dp 수준으로 접근성이 낮습니다. IconButton에 48dp 사이즈를 주어 터치 영역을 확보하고, enabled 플래그로 비활성 시멘틱도 함께 제공하는 쪽을 추천합니다. 또한 오른쪽 아이콘이 없을 때 Spacer도 48dp로 맞춰 중앙 정렬이 흔들리지 않게 해주세요.
좌측(이전 주) 아이콘 교체 예시:
- Icon( - modifier = Modifier.clickable(enabled = !isEarliestWeek) { onPreviousWeek() }, - painter = painterResource(id = R.drawable.ic_arrow_big_back), - contentDescription = "previous week", - tint = MediCareCallTheme.colors.gray3, - ) + IconButton( + onClick = onPreviousWeek, + enabled = !isEarliestWeek, + modifier = Modifier.size(48.dp), + ) { + Icon( + painter = painterResource(id = R.drawable.ic_arrow_big_back), + contentDescription = "previous week", + tint = MediCareCallTheme.colors.gray3, + ) + }우측(다음 주) 아이콘/플레이스홀더 교체 예시:
- if (!isLatestWeek) { - Icon( - modifier = Modifier.clickable { onNextWeek() }, - painter = painterResource(id = R.drawable.ic_arrow_big_forward), - contentDescription = "next week", - tint = MediCareCallTheme.colors.gray3, - ) - } else { - Spacer(modifier = Modifier.width(24.dp)) - } + if (!isLatestWeek) { + IconButton( + onClick = onNextWeek, + modifier = Modifier.size(48.dp), + ) { + Icon( + painter = painterResource(id = R.drawable.ic_arrow_big_forward), + contentDescription = "next week", + tint = MediCareCallTheme.colors.gray3, + ) + } + } else { + Spacer(modifier = Modifier.width(48.dp)) + }추가 필요 import:
import androidx.compose.foundation.layout.size import androidx.compose.material3.IconButtonAlso applies to: 82-92
58-62: 문자열 리소스화 및 언어 일관성"이번주", "previous week", "next week"는 string 리소스로 분리하고 stringResource로 참조해 주세요. 현재 영/한 혼재도 정리되면 좋습니다.
코드 변경 예시:
- text = "이번주", + text = stringResource(R.string.week_this),- contentDescription = "previous week", + contentDescription = stringResource(R.string.previous_week),- contentDescription = "next week", + contentDescription = stringResource(R.string.next_week),추가 필요 import:
import androidx.compose.ui.res.stringResourcestrings.xml 예시:
<string name="week_this">이번주</string> <string name="previous_week">이전 주</string> <string name="next_week">다음 주</string>Also applies to: 46-50, 84-88
57-71: DateTimeFormatter는 remember로 캐싱recomposition마다 포매터가 새로 생성됩니다. remember로 한 번만 생성해 성능/GC 부담을 줄여주세요.
- ) { - if (isLatestWeek) { + ) { + val dateFormatter = remember { DateTimeFormatter.ofPattern("M월 d일", Locale.KOREAN) } + if (isLatestWeek) { Text( text = "이번주", style = MediCareCallTheme.typography.M_20, color = MediCareCallTheme.colors.gray8, ) } else { Row( horizontalArrangement = Arrangement.Center, verticalAlignment = Alignment.CenterVertically ) { - val formatter = DateTimeFormatter.ofPattern("M월 d일", Locale.KOREAN) val commonTextStyle = MediCareCallTheme.typography.M_20 val commonTextColor = MediCareCallTheme.colors.gray8 - Text(text = currentWeek.first.format(formatter), style = commonTextStyle, color = commonTextColor) + Text(text = currentWeek.first.format(dateFormatter), style = commonTextStyle, color = commonTextColor) Spacer(modifier = Modifier.width(8.dp)) Text(text = "-", style = commonTextStyle, color = commonTextColor) Spacer(modifier = Modifier.width(8.dp)) - Text(text = currentWeek.second.format(formatter), style = commonTextStyle, color = commonTextColor) + Text(text = currentWeek.second.format(dateFormatter), style = commonTextStyle, color = commonTextColor) } } }추가 필요 import:
import androidx.compose.runtime.rememberAlso applies to: 72-77
27-35: 이름 개선 제안: WeekendBar → WeekBar/WeekNavBarWeekend는 ‘주말’로 오해 소지가 있어요. 주간 네비게이션 의미가 드러나도록 WeekBar/WeekNavBar 같은 네이밍을 검토해 주세요. 영향 범위가 크면 추후 리팩토링으로도 충분합니다.
📜 Review details
Configuration used: CodeRabbit UI
Review profile: CHILL
Plan: Pro
📒 Files selected for processing (2)
app/src/main/java/com/konkuk/medicarecall/ui/feature/statistics/component/WeekendBar.kt(3 hunks)app/src/main/java/com/konkuk/medicarecall/ui/feature/statistics/screen/StatisticsScreen.kt(8 hunks)
🧰 Additional context used
🧬 Code graph analysis (1)
app/src/main/java/com/konkuk/medicarecall/ui/feature/statistics/screen/StatisticsScreen.kt (8)
app/src/main/java/com/konkuk/medicarecall/ui/feature/statistics/component/WeekendBar.kt (1)
WeekendBar(27-101)app/src/main/java/com/konkuk/medicarecall/ui/feature/statistics/weeklycard/WeeklySummaryCard.kt (1)
WeeklySummaryCard(25-77)app/src/main/java/com/konkuk/medicarecall/ui/feature/statistics/weeklycard/WeeklyMealCard.kt (1)
WeeklyMealCard(31-119)app/src/main/java/com/konkuk/medicarecall/ui/feature/statistics/weeklycard/WeeklyMedicineCard.kt (1)
WeeklyMedicineCard(34-130)app/src/main/java/com/konkuk/medicarecall/ui/feature/statistics/weeklycard/WeeklyHealthCard.kt (1)
WeeklyHealthCard(22-62)app/src/main/java/com/konkuk/medicarecall/ui/feature/statistics/weeklycard/WeeklySleepCard.kt (1)
WeeklySleepCard(32-112)app/src/main/java/com/konkuk/medicarecall/ui/feature/statistics/weeklycard/WeeklyMentalCard.kt (1)
WeeklyMentalCard(31-90)app/src/main/java/com/konkuk/medicarecall/ui/feature/statistics/weeklycard/WeeklyGlucoseCard.kt (1)
WeeklyGlucoseCard(31-170)
⏰ 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 (4)
app/src/main/java/com/konkuk/medicarecall/ui/feature/statistics/screen/StatisticsScreen.kt (2)
39-53: import 구문이 올바르게 수정되었습니다.이전 리뷰에서 지적된
WeekendBar의 패키지 경로 누락 문제가 해결되었고, 모든 Weekly...Card 컴포저블들도 정확한 패키지 경로로 import되었습니다.
207-268: 주간 카드 컴포저블로의 리팩토링이 깔끔합니다.
StatisticsContent의 시그니처 단순화와 개별Weekly...Card컴포저블 사용으로 코드가 훨씬 읽기 쉬워졌습니다. 각 카드의 책임이 명확히 분리되어 유지보수성도 향상되었네요.app/src/main/java/com/konkuk/medicarecall/ui/feature/statistics/component/WeekendBar.kt (2)
36-44: 레이아웃 구조 전반적으로 깔끔합니다Column 래퍼 + 중앙 가변 영역(weight) + Divider로 시맨틱/정렬 안정적이에요. 이 방향 좋습니다.
47-49: 벡터 아이콘 확인됨 — tint 적용 문제 없음
ic_arrow_big_back.xml와ic_arrow_big_forward.xml이 모두<vector>로 정의되어 있어 tint가 정상 적용됩니다.
ProtossManse
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.
LGTM
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.
좋습니다!
./gradlew detekt 명령어로 수정된 파일들 린트 체크만 부탁드려요!
| Row( | ||
| horizontalArrangement = Arrangement.Center, | ||
| verticalAlignment = Alignment.CenterVertically | ||
| ) { | ||
| val formatter = DateTimeFormatter.ofPattern("M월 d일", Locale.KOREAN) | ||
| val commonTextStyle = MediCareCallTheme.typography.M_20 | ||
| val commonTextColor = MediCareCallTheme.colors.gray8 | ||
|
|
||
| Text(text = currentWeek.first.format(formatter), style = commonTextStyle, color = commonTextColor) | ||
| Spacer(modifier = Modifier.width(8.dp)) | ||
| Text(text = "-", style = commonTextStyle, color = commonTextColor) | ||
| Spacer(modifier = Modifier.width(8.dp)) | ||
| Text(text = currentWeek.second.format(formatter), style = commonTextStyle, color = commonTextColor) | ||
| } |
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.
피드백 감사합니다
린트 검사와 해당 컴포넌트 분리하였습니다
# Conflicts: # app/src/main/java/com/konkuk/medicarecall/ui/feature/statistics/screen/StatisticsScreen.kt # icon/ic_moon.svg
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 (2)
app/src/main/java/com/konkuk/medicarecall/ui/feature/statistics/screen/StatisticsScreen.kt (2)
174-174: 에러 처리 로직을 추가하면 더 좋을 것 같아요현재 에러 상태일 때 빈 블록으로 처리되고 있는데, 사용자에게 에러 메시지를 보여주거나 재시도 옵션을 제공하는 것을 고려해보세요. 급하지 않다면 나중에 추가해도 괜찮습니다.
185-189: Column 래퍼가 필요한지 확인해보세요
StatisticsContent가 이미Column을 반환하는데, 한 번 더Column으로 감싸고 있습니다. 레이아웃 의도가 있다면 괜찮지만, 불필요하다면 제거하는 것도 고려해보세요.// 만약 불필요하다면: WeekendBar( currentWeek = currentWeek, isLatestWeek = isLatestWeek, isEarliestWeek = isEarliestWeek, onPreviousWeek = onPreviousWeek, onNextWeek = onNextWeek ) StatisticsContent( summary = uiState.summary )
📜 Review details
Configuration used: CodeRabbit UI
Review profile: CHILL
Plan: Pro
📒 Files selected for processing (3)
app/src/main/java/com/konkuk/medicarecall/ui/feature/statistics/component/WeekRangeLabel.kt(1 hunks)app/src/main/java/com/konkuk/medicarecall/ui/feature/statistics/component/WeekendBar.kt(2 hunks)app/src/main/java/com/konkuk/medicarecall/ui/feature/statistics/screen/StatisticsScreen.kt(8 hunks)
🧰 Additional context used
🧬 Code graph analysis (3)
app/src/main/java/com/konkuk/medicarecall/ui/feature/statistics/component/WeekRangeLabel.kt (1)
app/src/main/java/com/konkuk/medicarecall/ui/theme/Theme.kt (1)
MediCareCallTheme(38-60)
app/src/main/java/com/konkuk/medicarecall/ui/feature/statistics/component/WeekendBar.kt (1)
app/src/main/java/com/konkuk/medicarecall/ui/feature/statistics/component/WeekRangeLabel.kt (1)
WeekRangeLabel(20-49)
app/src/main/java/com/konkuk/medicarecall/ui/feature/statistics/screen/StatisticsScreen.kt (8)
app/src/main/java/com/konkuk/medicarecall/ui/feature/statistics/component/WeekendBar.kt (1)
WeekendBar(23-74)app/src/main/java/com/konkuk/medicarecall/ui/feature/statistics/weeklycard/WeeklySummaryCard.kt (1)
WeeklySummaryCard(25-77)app/src/main/java/com/konkuk/medicarecall/ui/feature/statistics/weeklycard/WeeklyMealCard.kt (1)
WeeklyMealCard(31-119)app/src/main/java/com/konkuk/medicarecall/ui/feature/statistics/weeklycard/WeeklyMedicineCard.kt (1)
WeeklyMedicineCard(34-130)app/src/main/java/com/konkuk/medicarecall/ui/feature/statistics/weeklycard/WeeklyHealthCard.kt (1)
WeeklyHealthCard(22-62)app/src/main/java/com/konkuk/medicarecall/ui/feature/statistics/weeklycard/WeeklySleepCard.kt (1)
WeeklySleepCard(32-112)app/src/main/java/com/konkuk/medicarecall/ui/feature/statistics/weeklycard/WeeklyMentalCard.kt (1)
WeeklyMentalCard(31-90)app/src/main/java/com/konkuk/medicarecall/ui/feature/statistics/weeklycard/WeeklyGlucoseCard.kt (1)
WeeklyGlucoseCard(31-170)
⏰ 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/statistics/component/WeekRangeLabel.kt (1)
20-49: 깔끔한 컴포넌트 구현입니다!날짜 범위 표시 로직이 명확하고,
remember를 사용한 formatter 최적화도 적절합니다. 조건부 렌더링도 잘 구현되어 있네요.app/src/main/java/com/konkuk/medicarecall/ui/feature/statistics/component/WeekendBar.kt (1)
32-73: WeekRangeLabel 분리로 가독성이 좋아졌네요!이전 리뷰 피드백을 잘 반영하여 날짜 표시 부분을 별도 컴포넌트로 추출했습니다. 네비게이션 로직도 명확하고,
weight(1f)를 사용한 중앙 정렬 처리도 적절합니다.app/src/main/java/com/konkuk/medicarecall/ui/feature/statistics/screen/StatisticsScreen.kt (1)
219-267: 카드 컴포넌트로의 리팩토링이 깔끔합니다!주간 통계 데이터를 개별 카드 컴포넌트로 분리하여 코드 가독성과 재사용성이 높아졌네요. UI 구조가 명확해졌습니다.
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/statistics/weeklycard/WeeklyGlucoseCard.kt (1)
182-190: Chip 호출을 명시적 import로 정리해 주세요.
_root_ide_package_접두가 남아 있으면 IDE 생성 코드처럼 보이고 유지보수성이 떨어집니다. 상단에import com.konkuk.medicarecall.ui.feature.statistics.component.WeeklyGlucoseStatusChip을 추가하고, 여기서는WeeklyGlucoseStatusChip(...)으로 호출해 주시면 좋겠습니다.
📜 Review details
Configuration used: CodeRabbit UI
Review profile: CHILL
Plan: Pro
📒 Files selected for processing (11)
app/src/main/java/com/konkuk/medicarecall/ui/feature/statistics/component/WeekRangeLabel.kt(1 hunks)app/src/main/java/com/konkuk/medicarecall/ui/feature/statistics/component/WeekendBar.kt(2 hunks)app/src/main/java/com/konkuk/medicarecall/ui/feature/statistics/component/WeeklyGlucoseStatusChip.kt(3 hunks)app/src/main/java/com/konkuk/medicarecall/ui/feature/statistics/screen/StatisticsScreen.kt(15 hunks)app/src/main/java/com/konkuk/medicarecall/ui/feature/statistics/weeklycard/WeeklyGlucoseCard.kt(6 hunks)app/src/main/java/com/konkuk/medicarecall/ui/feature/statistics/weeklycard/WeeklyHealthCard.kt(3 hunks)app/src/main/java/com/konkuk/medicarecall/ui/feature/statistics/weeklycard/WeeklyMealCard.kt(6 hunks)app/src/main/java/com/konkuk/medicarecall/ui/feature/statistics/weeklycard/WeeklyMedicineCard.kt(7 hunks)app/src/main/java/com/konkuk/medicarecall/ui/feature/statistics/weeklycard/WeeklyMentalCard.kt(7 hunks)app/src/main/java/com/konkuk/medicarecall/ui/feature/statistics/weeklycard/WeeklySleepCard.kt(7 hunks)app/src/main/java/com/konkuk/medicarecall/ui/feature/statistics/weeklycard/WeeklySummaryCard.kt(4 hunks)
✅ Files skipped from review due to trivial changes (2)
- app/src/main/java/com/konkuk/medicarecall/ui/feature/statistics/weeklycard/WeeklyHealthCard.kt
- app/src/main/java/com/konkuk/medicarecall/ui/feature/statistics/weeklycard/WeeklyMedicineCard.kt
🚧 Files skipped from review as they are similar to previous changes (6)
- app/src/main/java/com/konkuk/medicarecall/ui/feature/statistics/weeklycard/WeeklySleepCard.kt
- app/src/main/java/com/konkuk/medicarecall/ui/feature/statistics/component/WeekRangeLabel.kt
- app/src/main/java/com/konkuk/medicarecall/ui/feature/statistics/component/WeekendBar.kt
- app/src/main/java/com/konkuk/medicarecall/ui/feature/statistics/weeklycard/WeeklyMentalCard.kt
- app/src/main/java/com/konkuk/medicarecall/ui/feature/statistics/weeklycard/WeeklyMealCard.kt
- app/src/main/java/com/konkuk/medicarecall/ui/feature/statistics/weeklycard/WeeklySummaryCard.kt
🧰 Additional context used
🧬 Code graph analysis (1)
app/src/main/java/com/konkuk/medicarecall/ui/feature/statistics/screen/StatisticsScreen.kt (8)
app/src/main/java/com/konkuk/medicarecall/ui/feature/statistics/component/WeekendBar.kt (1)
WeekendBar(23-74)app/src/main/java/com/konkuk/medicarecall/ui/feature/statistics/weeklycard/WeeklySummaryCard.kt (1)
WeeklySummaryCard(25-77)app/src/main/java/com/konkuk/medicarecall/ui/feature/statistics/weeklycard/WeeklyMealCard.kt (1)
WeeklyMealCard(31-119)app/src/main/java/com/konkuk/medicarecall/ui/feature/statistics/weeklycard/WeeklyMedicineCard.kt (1)
WeeklyMedicineCard(34-130)app/src/main/java/com/konkuk/medicarecall/ui/feature/statistics/weeklycard/WeeklyHealthCard.kt (1)
WeeklyHealthCard(22-62)app/src/main/java/com/konkuk/medicarecall/ui/feature/statistics/weeklycard/WeeklySleepCard.kt (1)
WeeklySleepCard(32-112)app/src/main/java/com/konkuk/medicarecall/ui/feature/statistics/weeklycard/WeeklyMentalCard.kt (1)
WeeklyMentalCard(31-90)app/src/main/java/com/konkuk/medicarecall/ui/feature/statistics/weeklycard/WeeklyGlucoseCard.kt (1)
WeeklyGlucoseCard(31-170)
⏰ 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
🔗 관련 이슈
📙 작업 설명
📸 스크린샷 또는 시연 영상 (선택)
💬 추가 설명 or 리뷰 포인트 (선택)
Summary by CodeRabbit