[FEAT/#87] 챌린지 로딩 스크린 구현 #89
Conversation
Walkthrough사용자 피부 컨디션 기반 TO-DO 미션 생성 중 표시되는 Jetpack Compose 로딩 화면 컴포넌트 Changes
Sequence Diagram(s)(생성 조건 미충족 — 단일 UI 컴포넌트 추가로 시퀀스 다이어그램 생략) Estimated code review effort🎯 2 (Simple) | ⏱️ ~10 minutes Suggested reviewers
🚥 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
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.
Actionable comments posted: 1
🤖 Fix all issues with AI agents
In
`@app/src/main/java/com/cherrish/android/presentation/challenge/ChallengeLoadingScreen.kt`:
- Around line 39-46: The Icon in ChallengeLoadingScreen.kt is clickable
(noRippleClickable with onCloseClick) but has contentDescription = null; update
the Icon to provide an accessible label by setting contentDescription to a
localized string (use stringResource with a new string like R.string.cd_back or
reuse an existing "back" label) so screen readers announce the action; ensure
the string resource key and usage reference the Icon in ChallengeLoadingScreen
(and add the string to res/values/strings.xml).
| Icon( | ||
| modifier = Modifier | ||
| .noRippleClickable(onClick = onCloseClick) | ||
| .align(Alignment.Start), | ||
| imageVector = ImageVector.vectorResource(R.drawable.ic_arrow_left), | ||
| contentDescription = null, | ||
| tint = CherrishTheme.colors.gray1000 | ||
| ) |
There was a problem hiding this comment.
접근성: 클릭 가능한 아이콘에 contentDescription 필요
현재 뒤로가기 아이콘이 클릭 가능하지만 contentDescription = null이라 스크린리더가 기능을 알 수 없습니다. 접근성상 차단 이슈이므로 라벨을 제공해 주세요.
🔧 제안 수정
- contentDescription = null,
+ contentDescription = stringResource(R.string.challenge_loading_close),🤖 Prompt for AI Agents
In
`@app/src/main/java/com/cherrish/android/presentation/challenge/ChallengeLoadingScreen.kt`
around lines 39 - 46, The Icon in ChallengeLoadingScreen.kt is clickable
(noRippleClickable with onCloseClick) but has contentDescription = null; update
the Icon to provide an accessible label by setting contentDescription to a
localized string (use stringResource with a new string like R.string.cd_back or
reuse an existing "back" label) so screen readers announce the action; ensure
the string resource key and usage reference the Icon in ChallengeLoadingScreen
(and add the string to res/values/strings.xml).
| withStyle( | ||
| style = SpanStyle(color = CherrishTheme.colors.red700) | ||
| ) { | ||
| append("피부 컨디션 ") | ||
| } | ||
| withStyle( | ||
| style = SpanStyle(color = CherrishTheme.colors.gray800) | ||
| ) { | ||
| append("관리 방향을 바탕으로") |
sohee6989
left a comment
There was a problem hiding this comment.
수고하셧습니다!
리뷰 확인 한 번 부탁드립니다!
| .fillMaxSize(), | ||
| horizontalAlignment = Alignment.CenterHorizontally | ||
| ) { | ||
| Spacer(modifier = Modifier.weight(44f)) |
There was a problem hiding this comment.
p1: 이거 44.dp로 주자요오!!
weight로 주면 헤더 위치가 화면마다 달라져서 ui 적으로 느낌이 달라질 것 같아요!
| modifier = Modifier | ||
| .noRippleClickable(onClick = onCloseClick) | ||
| .align(Alignment.Start) | ||
| .padding(start = 10.dp), |
There was a problem hiding this comment.
p1: 여기 start만 10.dp 패딩 주면 상단 헤더에 대해서 44.dp가 아닌 55.dp를 줘야 되지 않을까요?
개인적으로 영역을 패딩 10.dp로 줬으니 이 아이콘에 padding 10.dp를 주는게 터치 영역에 대해서 더 맞을 것 같아요!
| ) | ||
|
|
||
| Text( | ||
| text = "관리 방향을 바탕으로 ", |
| ) | ||
| } | ||
|
|
||
| Spacer(modifier = Modifier.weight(2f)) |
There was a problem hiding this comment.
p1: 여기도 weight가 아닌 dp로!
(관련해서 구두로 설명드리겠습니다!)
There was a problem hiding this comment.
알 거가타요 ~~ 또 설명해조요
|
|
||
| Spacer(modifier = Modifier.weight(60f)) | ||
|
|
||
| Image( |
There was a problem hiding this comment.
p1: 이거 그냥 size 150.dp 지정해주느게 좋을 것 같아요!
| style = CherrishTheme.typography.title1SB18 | ||
| ) | ||
|
|
||
| Spacer(modifier = Modifier.weight(60f)) |
There was a problem hiding this comment.
그럼 로딩같은 정적인것은 이렇게 할까요 ??
| contentDescription = null | ||
| ) | ||
|
|
||
| Spacer(modifier = Modifier.weight(80f)) |
| style = CherrishTheme.typography.body3M12 | ||
| ) | ||
|
|
||
| Spacer(modifier = Modifier.weight(30f)) |
sohee6989
left a comment
There was a problem hiding this comment.
수고햇쓰비낟~!!!!!!!!!!!!!!!!!!!!


Related issue 🛠
Work Description ✏️
Screenshot 📸
Uncompleted Tasks 😅
To Reviewers 📢
이것은 로딩 클래스라 따로 State는 구현하지 않았습니다 ! 제가 구현한 챌린지 뷰들에 로딩스크린을 넣으면 되는거 맞나욥 ??
Summary by CodeRabbit
✏️ Tip: You can customize this high-level summary in your review settings.