Conversation
nahy-512
left a comment
There was a problem hiding this comment.
ic_onboarding_film_check 이미지가 없다고 뜨는데, 확인 부탁드릴게요!
app/src/main/java/com/flint/presentation/onboarding/component/OnboardingOttItem.kt
Show resolved
Hide resolved
|
@coderabbitai review |
✅ Actions performedReview triggered.
|
📝 WalkthroughWalkthrough온보딩 필름 항목에서 Compose Changes
Estimated code review effort🎯 3 (Moderate) | ⏱️ ~20 minutes Poem
🚥 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
Comment |
There was a problem hiding this comment.
Actionable comments posted: 0
🧹 Nitpick comments (1)
app/src/main/java/com/flint/presentation/onboarding/component/OnboardingOttItem.kt (1)
26-27: Import와 함수 사이에 빈 줄 추가 권장.Kotlin 스타일 가이드에 따르면 import 문과 최상위 선언 사이에 빈 줄이 있어야 합니다.
🔧 제안된 수정
import com.flint.core.designsystem.component.image.NetworkImage import com.flint.core.designsystem.theme.FlintTheme + @Composable fun OnboardingOttItem(
📜 Review details
Configuration used: Organization UI
Review profile: CHILL
Plan: Pro
📒 Files selected for processing (2)
app/src/main/java/com/flint/presentation/onboarding/component/OnboardingFilmItem.ktapp/src/main/java/com/flint/presentation/onboarding/component/OnboardingOttItem.kt
🧰 Additional context used
🧬 Code graph analysis (2)
app/src/main/java/com/flint/presentation/onboarding/component/OnboardingFilmItem.kt (1)
app/src/main/java/com/flint/core/designsystem/component/image/NetworkImage.kt (1)
NetworkImage(22-46)
app/src/main/java/com/flint/presentation/onboarding/component/OnboardingOttItem.kt (2)
app/src/main/java/com/flint/core/designsystem/component/image/NetworkImage.kt (1)
NetworkImage(22-46)app/src/main/java/com/flint/core/designsystem/theme/Theme.kt (1)
FlintTheme(8-16)
🔇 Additional comments (3)
app/src/main/java/com/flint/presentation/onboarding/component/OnboardingFilmItem.kt (1)
56-61: LGTM!
NetworkImage컴포넌트로의 전환이 올바르게 적용되었습니다. 코드베이스 전반의 네트워크 이미지 로딩 패턴과 일관성이 유지됩니다.app/src/main/java/com/flint/presentation/onboarding/component/OnboardingOttItem.kt (2)
78-84: 선택된 상태의 텍스트 색상 확인 필요.선택된 항목의 텍스트가
gray300(어두움)으로, 비선택 항목이white(밝음)로 설정되어 있습니다. 오버레이와 체크 아이콘이 선택 상태를 표시하므로 의도된 디자인일 수 있지만, 일반적인 UX 패턴과 다르므로 디자인 명세와 일치하는지 확인해 주세요.
35-86: LGTM!컴포넌트 구조가 깔끔하고
OnboardingFilmItem과 일관된 패턴을 따릅니다.NetworkImage사용, 오버레이 처리, 체크 아이콘 표시가 올바르게 구현되었습니다.
There was a problem hiding this comment.
Actionable comments posted: 0
🧹 Nitpick comments (2)
app/src/main/java/com/flint/presentation/onboarding/component/OnboardingOttItem.kt (2)
41-46: 접근성 개선을 위해semantics또는Modifier.clickable에 역할 정보 추가를 권장합니다.현재
clickable수정자만 적용되어 있어 스크린 리더 사용자가 이 요소의 목적을 파악하기 어려울 수 있습니다.semantics블록을 추가하여 선택 가능한 항목임을 명시하면 접근성이 향상됩니다.♻️ 접근성 개선 제안
Box( modifier = Modifier .size(100.dp) - .clickable { onClick() }, + .clickable( + onClick = onClick, + onClickLabel = platformName + ), contentAlignment = Alignment.Center ) {
64-72: 아이콘 리소스 이름에 "film"이 포함되어 있습니다.
ic_onboarding_film_check는 기존 Film 컴포넌트용으로 보이는데, OTT 컴포넌트에서 재사용하고 있습니다. 동일한 체크 아이콘을 의도적으로 공유하는 것이라면 문제없지만, 명확성을 위해ic_onboarding_check같은 공통 이름으로 변경하거나 별도 리소스를 만드는 것을 고려해 볼 수 있습니다.
📜 Review details
Configuration used: Organization UI
Review profile: CHILL
Plan: Pro
📒 Files selected for processing (1)
app/src/main/java/com/flint/presentation/onboarding/component/OnboardingOttItem.kt
🧰 Additional context used
🧬 Code graph analysis (1)
app/src/main/java/com/flint/presentation/onboarding/component/OnboardingOttItem.kt (2)
app/src/main/java/com/flint/core/designsystem/component/image/NetworkImage.kt (1)
NetworkImage(22-46)app/src/main/java/com/flint/core/designsystem/theme/Theme.kt (1)
FlintTheme(8-16)
⏰ 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). (2)
- GitHub Check: PR Lint Check
- GitHub Check: PR Build Check
🔇 Additional comments (2)
app/src/main/java/com/flint/presentation/onboarding/component/OnboardingOttItem.kt (2)
79-85: 선택 시 텍스트 색상이 더 어두워지는 것이 의도된 디자인인지 확인이 필요합니다.현재
isSelected가true일 때 텍스트 색상이gray300으로 어두워집니다. 일반적으로 선택된 항목은 더 눈에 띄게 표시하는 경우가 많은데, 체크 아이콘으로 선택 상태를 표현하고 텍스트는 의도적으로 흐리게 처리한 것인지 디자인 명세 확인을 권장합니다.
89-124: LGTM!프리뷰 함수가 선택/비선택 상태를 모두 보여주고 FlintTheme으로 올바르게 감싸져 있습니다. 다양한 플랫폼 예시를 포함한 점도 좋습니다.
nahy-512
left a comment
There was a problem hiding this comment.
작업 고생하셨습니다!
반영해주면 좋겠는 부분이 좀 있긴 한데,, 일단 치명적인 거는 아니라 어푸 남깁니당
| .background(FlintTheme.colors.overlay) | ||
| ) | ||
| Icon( | ||
| painter = painterResource(id = R.drawable.ic_onboarding_film_check), |
There was a problem hiding this comment.
p2
체크 아이콘이 벡터 이미지니까
imageVector = ImageVector.vectorResource(id = R.drawable.ic_onboarding_film_check),
식으로 써주면 더 좋을 것 같습니다!
| ) | ||
| Icon( | ||
| painter = painterResource(id = R.drawable.ic_onboarding_film_check), | ||
| contentDescription = "선택됨", |
There was a problem hiding this comment.
p2
contentDescription 작성을 선호하시나요?? 저는.. 적기 귀찮아서 null로 두는 편
컨벤션을 맞춰봐도 괜찮겠지만, 사전에 논의를 따로 안했으니 일단 차민님 의견만 남겨주시면 좋을 것 같아요!
| modifier = | ||
| Modifier | ||
| .align(Alignment.Center) | ||
| .size(40.dp) |
There was a problem hiding this comment.
벡터이미지 디쌤들에게 말해서 정사각형 이미지로 디자인시스템이 수정되었습니다!
디자인 시스템만 변경되어 있는 상태입니다!
| style = FlintTheme.typography.body1M16, | ||
| color = if (isSelected) FlintTheme.colors.gray300 else FlintTheme.colors.white, | ||
| textAlign = TextAlign.Center, | ||
| modifier = Modifier.width(100.dp) |
There was a problem hiding this comment.
p2
| modifier = Modifier.width(100.dp) | |
| modifier = Modifier.fillMaxWidth() |
해주시는 편이 더 좋을 것 같아요~
There was a problem hiding this comment.
Actionable comments posted: 0
🧹 Nitpick comments (1)
app/src/main/java/com/flint/presentation/onboarding/component/OnboardingOttItem.kt (1)
66-74: 아이콘 리소스 네이밍 확인 필요
ic_onboarding_film_check아이콘이 OTT 아이템에서도 사용되고 있습니다. 이 아이콘이 온보딩 전반에서 공유되는 리소스라면,ic_onboarding_check와 같이 더 일반적인 이름으로 변경하는 것이 향후 유지보수에 도움이 될 수 있습니다.현재 동작에는 문제가 없으므로, 필요시 추후 리팩토링으로 진행해도 무방합니다.
📜 Review details
Configuration used: Organization UI
Review profile: CHILL
Plan: Pro
📒 Files selected for processing (1)
app/src/main/java/com/flint/presentation/onboarding/component/OnboardingOttItem.kt
🧰 Additional context used
🧬 Code graph analysis (1)
app/src/main/java/com/flint/presentation/onboarding/component/OnboardingOttItem.kt (2)
app/src/main/java/com/flint/core/designsystem/component/image/NetworkImage.kt (1)
NetworkImage(22-46)app/src/main/java/com/flint/core/designsystem/theme/Theme.kt (1)
FlintTheme(8-16)
⏰ 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: PR Build Check
🔇 Additional comments (3)
app/src/main/java/com/flint/presentation/onboarding/component/OnboardingOttItem.kt (3)
1-28: LGTM!임포트가 깔끔하게 정리되어 있으며, 디자인 시스템의
NetworkImage와FlintTheme을 적절히 활용하고 있습니다.
30-89: 컴포넌트 구조 LGTM!
OnboardingOttItem컴포저블이 잘 구현되어 있습니다:
NetworkImage를 활용한 이미지 로딩- 선택 상태에 따른 오버레이 및 체크 아이콘 표시
FlintTheme을 통한 일관된 스타일링- 적절한 접근성 지원 (
contentDescription)
91-126: 프리뷰 구현 LGTM!선택/비선택 상태와 다양한 플랫폼 이름을 포함한 프리뷰가 잘 구성되어 있습니다.
FlintTheme으로 감싸 테마 값이 올바르게 적용됩니다.

📮 관련 이슈
📌 작업 내용
📸 스크린샷
2026-01-13.2.07.11.mov
🫛 To. 리뷰어
Summary by CodeRabbit
✏️ Tip: You can customize this high-level summary in your review settings.