[Feature/#22] 퀴즈 카테고리 선택 화면 UI를 구현합니다.#23
Conversation
🎯 진행 상황이 PR은 시니어 퀴즈 카테고리 선택 화면의 UI를 구현합니다. 새로운 열거형 QuizCategory, 카테고리 목록을 표시하는 QuizCategoryScreen, 개별 카테고리를 나타내는 QuizCategoryCard 컴포넌트가 추가됩니다. 📝 변경 사항
⏱️ 예상 코드 리뷰 노력🎯 2 (Simple) | ⏱️ ~10분
🐰 축하 시
Pre-merge checks and finishing touches❌ Failed checks (1 warning)
✅ Passed checks (4 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.
Actionable comments posted: 0
🧹 Nitpick comments (2)
feature/senior/src/main/kotlin/com/moa/app/feature/senior/quiz/component/QuizCategoryCard.kt (1)
49-54: 접근성을 위한 contentDescription 추가를 고려하세요.배경 이미지가 카테고리를 시각적으로 표현하고 있으나,
contentDescription = null로 설정되어 있습니다. title과 description이 이미 텍스트로 제공되므로 이미지가 장식적 역할을 한다면 현재 구현이 적절하지만, 이미지가 추가적인 의미를 전달한다면 적절한 설명을 제공하는 것이 좋습니다.feature/senior/src/main/kotlin/com/moa/app/feature/senior/quiz/QuizCategoryScreen.kt (1)
35-45: 문자열 리소스 분리를 권장합니다.헤더 텍스트가 하드코딩되어 있습니다. 유지보수성과 향후 다국어 지원을 위해 strings.xml에 문자열을 정의하는 것이 좋습니다.
strings.xml에 다음과 같이 정의하세요:
<string name="quiz_category_title">퀴즈 선택</string> <string name="quiz_category_subtitle">퀴즈는 MMSE 기반으로 만들어졌어요</string>그리고 다음과 같이 수정하세요:
- text = "퀴즈 선택", + text = stringResource(R.string.quiz_category_title),
📜 Review details
Configuration used: CodeRabbit UI
Review profile: CHILL
Plan: Pro
📒 Files selected for processing (3)
feature/senior/src/main/kotlin/com/moa/app/feature/senior/quiz/QuizCategory.kt(1 hunks)feature/senior/src/main/kotlin/com/moa/app/feature/senior/quiz/QuizCategoryScreen.kt(1 hunks)feature/senior/src/main/kotlin/com/moa/app/feature/senior/quiz/component/QuizCategoryCard.kt(1 hunks)
🧰 Additional context used
🧬 Code graph analysis (1)
feature/senior/src/main/kotlin/com/moa/app/feature/senior/quiz/QuizCategoryScreen.kt (1)
feature/senior/src/main/kotlin/com/moa/app/feature/senior/quiz/component/QuizCategoryCard.kt (1)
QuizCategoryCard(28-74)
🔇 Additional comments (4)
feature/senior/src/main/kotlin/com/moa/app/feature/senior/quiz/component/QuizCategoryCard.kt (1)
28-47: 구현이 잘 되었습니다!카드 컴포넌트의 구조와 클릭 처리 로직이 적절하게 구현되었습니다. ripple 효과와 접근성 Role.Button 설정이 올바르게 적용되었습니다.
feature/senior/src/main/kotlin/com/moa/app/feature/senior/quiz/QuizCategoryScreen.kt (2)
48-65: 스크롤 기능 추가를 검토하세요.카드 목록이 고정된 Column 안에서
weight(1f)로 균등 분할되고 있습니다. 현재 5개의 카테고리가 있어 작은 화면에서는 각 카드가 너무 작아지거나 내용이 잘릴 수 있습니다.LazyColumn또는verticalScrollmodifier 추가를 고려하세요.
62-62: onClick 구현이 필요합니다.현재 onClick 핸들러가 비어있습니다. UI 구현 PR이므로 예상되는 상황이지만, 향후 각 카테고리 선택 시 적절한 네비게이션 로직이 추가되어야 합니다.
feature/senior/src/main/kotlin/com/moa/app/feature/senior/quiz/QuizCategory.kt (1)
8-44: 잘 구조화된 데이터 모델입니다!퀴즈 카테고리를 enum으로 정의하여 타입 안전성을 확보하고, 각 카테고리에 필요한 메타데이터(이미지, 색상, 제목, 설명)를 명확하게 관리하고 있습니다.
@DrawableRes어노테이션 사용도 적절합니다.
Related issue 🛠
Work Description ✏️
Screenshot 📸
Summary by CodeRabbit
새로운 기능