-
Notifications
You must be signed in to change notification settings - Fork 0
feat: OCR 문장 선택 UI/감상평 작성 UI 수정 #231
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
WalkthroughOCR 문장 선택 및 감상평 작성 UI 수정. BadgeView 컴포넌트 신규 추가, 감상평 입력 필드에 "선택" 배지 추가, 문장 선택 시 글꼴 가중치 애니메이션 적용, 감상평을 선택 항목으로 변경하여 다음 버튼 UX 개선. Changes
Estimated code review effort🎯 2 (Simple) | ⏱️ ~12 minutes 일관된 패턴의 UI 컴포넌트 추가와 기존 뷰 수정이 대부분이며, 각 변경사항이 독립적이고 로직 밀도가 낮습니다. BadgeView는 단순한 새 컴포넌트이고, 나머지 수정사항들은 명확한 의도의 작은 변경입니다. 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.
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)
src/Projects/BKPresentation/Sources/MainFlow/Note/View/TooltipView.swift (1)
7-7: 기술 부채 메모 확인.2차 작업 시 BKDesign 컴포넌트로 추출 예정이라는 메모가 명확합니다. 현재 PR에는 영향이 없으며, 향후 디자인 시스템 통합 시 유용한 참고사항입니다.
이 작업을 추적하기 위한 이슈를 생성하시겠습니까?
src/Projects/BKPresentation/Sources/MainFlow/Note/View/SentenceAppreciationView.swift (1)
163-163: 디자인 시스템 상수 사용을 고려해 보세요.
titleRowStackSpacing에 매직 넘버10을 사용하고 있습니다. 가능하다면BKSpacing의 기존 상수를 활용하면 디자인 일관성을 높일 수 있습니다.
📜 Review details
Configuration used: Path: .coderabbit.yaml
Review profile: CHILL
Plan: Pro
📒 Files selected for processing (5)
src/Projects/BKPresentation/Sources/MainFlow/Note/View/BadgeView.swift(1 hunks)src/Projects/BKPresentation/Sources/MainFlow/Note/View/NoteView.swift(1 hunks)src/Projects/BKPresentation/Sources/MainFlow/Note/View/SentenceAppreciationView.swift(6 hunks)src/Projects/BKPresentation/Sources/MainFlow/Note/View/SentenceListCell.swift(1 hunks)src/Projects/BKPresentation/Sources/MainFlow/Note/View/TooltipView.swift(1 hunks)
🧰 Additional context used
🧬 Code graph analysis (3)
src/Projects/BKPresentation/Sources/MainFlow/Note/View/NoteView.swift (3)
src/Projects/BKPresentation/Sources/MainFlow/Note/View/SentenceAppreciationView.swift (1)
registrationForm(146-152)src/Projects/BKPresentation/Sources/MainFlow/Note/View/EmotionRegistrationView.swift (1)
registrationForm(113-116)src/Projects/BKPresentation/Sources/MainFlow/Note/View/SentenceRegistrationView.swift (1)
registrationForm(131-146)
src/Projects/BKPresentation/Sources/MainFlow/Note/View/SentenceListCell.swift (1)
src/Projects/BKDesign/Sources/Extensions/UIColor+.swift (3)
bkContentColor(52-63)bkBackgroundColor(38-50)bkBorderColor(65-76)
src/Projects/BKPresentation/Sources/MainFlow/Note/View/BadgeView.swift (1)
src/Projects/BKDesign/Sources/Extensions/UIColor+.swift (2)
bkContentColor(52-63)bkBackgroundColor(38-50)
⏰ 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: build
🔇 Additional comments (6)
src/Projects/BKPresentation/Sources/MainFlow/Note/View/NoteView.swift (1)
182-187: 감상평을 선택 항목으로 변경한 로직이 올바르게 구현되었습니다.페이지 2(감상평 작성)에서 버튼을 무조건 활성화하는 로직이 "선택" 배지 추가 및
SentenceAppreciationView.registrationForm()의 변경사항과 일관성 있게 구현되었습니다.src/Projects/BKPresentation/Sources/MainFlow/Note/View/SentenceListCell.swift (2)
57-59: 중첩 애니메이션 구조를 확인해 주세요.
configure메서드에서updateSelectionState를 애니메이션 블록으로 감싸고 있는데,updateSelectionState내부(74-76줄)에도 별도의 애니메이션 블록이 있습니다.
- 외부 애니메이션:
updateSelectionState호출 자체를 애니메이션- 내부 애니메이션:
layoutIfNeeded()만 애니메이션폰트 변경은 암시적으로 애니메이션되지 않을 수 있으므로, 의도한 대로 동작하는지 확인해 주세요. 필요하다면 애니메이션 구조를 단순화하는 것을 고려해 보세요.
64-64: 선택 상태를 폰트 굵기로 표현하는 개선이 잘 구현되었습니다.색상 대신 폰트 굵기(medium/regular)로 선택 상태를 표현하여 UI가 더 일관되고 명확해졌습니다.
Also applies to: 69-69
src/Projects/BKPresentation/Sources/MainFlow/Note/View/BadgeView.swift (1)
7-46: BadgeView 컴포넌트가 깔끔하게 구현되었습니다.명확한 책임을 가진 재사용 가능한 UI 컴포넌트로 잘 설계되었습니다. Public API(
init(title:),title프로퍼티)도 직관적이며,SentenceAppreciationView에서 의도한 대로 활용되고 있습니다.src/Projects/BKPresentation/Sources/MainFlow/Note/View/SentenceAppreciationView.swift (2)
9-9: 감상평을 선택 항목으로 변경한 구현이 올바르지만, 백엔드 호환성을 확인해 주세요.
appreciation이String?으로 변경되었고registrationForm()이 빈 문자열도 허용하도록 수정되었습니다. 이는 "선택" 배지와 일관성이 있습니다.그러나 현재 구현은 빈 문자열("")을 전달하는데, 백엔드 API가 선택 항목에 대해
nil을 기대하는지 빈 문자열을 기대하는지 확인이 필요합니다. PR 설명에서 "API가 아직 수정되지 않았다"고 언급하신 만큼, API 업데이트 시 이 부분의 호환성을 검증해 주세요.Also applies to: 146-152
20-38: 배지와 타이틀 레이아웃이 잘 구성되었습니다.
optionBadge와titleRowStack을 추가하여 "문장에 대한 감상을 남겨주세요" 타이틀과 "선택" 배지를 수평으로 배치한 구조가 깔끔하고 의도가 명확합니다.Also applies to: 80-81
🔗 관련 이슈
📘 작업 유형
📙 작업 내역
🧪 테스트 내역
🎨 스크린샷 또는 시연 영상 (선택)
문장 선택 UI
ScreenRecording_10-18-2025.17-15-34_1.mp4
감상평 작성 UI
✅ PR 체크리스트
💬 추가 설명 or 리뷰 포인트 (선택)
Summary by CodeRabbit
릴리스 노트
새 기능
개선 사항