[Hotfix/#197] qa 2#198
Conversation
Walkthrough디자인 시스템 BoardRequestButton에 텍스트 파라미터(textWhite, textSky)를 추가하여 외부에서 텍스트 커스터마이징 가능하게 리팩토링했습니다. QuizMainScreen의 time 파라미터를 필수로 변경하고, 시간 포맷팅을 일관되게 "%02d : %02d" 형식으로 업데이트했습니다. QuizStartViewModel에 SavedStateHandle을 통합하여 상태 지속성을 개선했습니다. Changes
예상 코드 리뷰 난이도🎯 3 (중간) | ⏱️ ~20분
관련 PR 목록
제안 라벨
제안 리뷰어
🐰 시간의 흐름, 버튼의 변신
Pre-merge checks and finishing touches❌ Failed checks (1 warning, 2 inconclusive)
✅ Passed checks (2 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 (1)
core/designsystem/src/main/java/com/teamwable/designsystem/component/button/WableBoardRequestButton.kt (1)
16-17: 버튼 컴포넌트의 텍스트 커스터마이징이 개선되었습니다.BoardRequestButton에 textWhite와 textSky 파라미터를 추가하여 외부에서 텍스트를 커스터마이징할 수 있도록 리팩토링했습니다. 기본값을 제공하여 하위 호환성을 유지하면서도, 필요한 경우 호출자가 텍스트를 오버라이드할 수 있는 유연성을 제공합니다. 내부 함수도 적절하게 리팩토링되어 전달받은 파라미터를 사용하도록 변경되었습니다.
Also applies to: 21-21, 29-35
📜 Review details
Configuration used: CodeRabbit UI
Review profile: CHILL
Plan: Pro
📒 Files selected for processing (5)
core/designsystem/src/main/java/com/teamwable/designsystem/component/button/WableBoardRequestButton.kt(1 hunks)feature/quiz/src/main/java/com/teamwable/quiz/QuizMainScreen.kt(3 hunks)feature/quiz/src/main/java/com/teamwable/quiz/QuizMainViewModel.kt(1 hunks)feature/quiz/src/main/java/com/teamwable/quiz/start/QuizStartViewModel.kt(4 hunks)feature/quiz/src/main/res/values/strings.xml(1 hunks)
🧰 Additional context used
🧬 Code graph analysis (1)
core/designsystem/src/main/java/com/teamwable/designsystem/component/button/WableBoardRequestButton.kt (1)
core/designsystem/src/main/java/com/teamwable/designsystem/component/button/WableButton.kt (1)
WableAnnotatedTextButton(91-111)
⏰ 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 Checker
🔇 Additional comments (7)
feature/quiz/src/main/java/com/teamwable/quiz/QuizMainViewModel.kt (1)
27-31: 시간 포맷 변경이 일관성 있게 적용되었습니다.시간 표시 형식을
"%02d : %02d"로 변경하고 초기값도"00 : 00"으로 맞춰서 일관성이 유지되고 있습니다. 시간 단위에 leading zero가 추가되고 콜론 양쪽에 공백이 포함된 변경사항이 QuizMainScreen과도 일치합니다.feature/quiz/src/main/java/com/teamwable/quiz/start/QuizStartViewModel.kt (2)
3-4: SavedStateHandle 통합으로 상태 지속성이 개선되었습니다.SavedStateHandle을 사용하여 퀴즈 시작 시간을 저장하도록 구현했습니다. 이는 앱이 백그라운드로 이동하거나 프로세스가 종료되었을 때 상태를 복원할 수 있게 해줍니다.
Also applies to: 22-22, 26-30
49-49: Need to verify howstartTimeMillisis actually declared and initialized in the code:불필요한 리뷰 코멘트 - 기기 재부팅 시나리오에 대한 잘못된 이해
리뷰 코멘트의 우려 사항은
SavedStateHandle이 기기 재부팅 후에도 데이터를 유지한다는 잘못된 가정에 기반하고 있습니다. SavedStateHandle의 저장된 상태는 작업 스택과 연결되어 있으며, 작업 스택이 사라지면 저장된 상태도 함께 사라집니다. 이는 앱 강제 종료, 최근 앱 메뉴에서 제거, 또는 기기 재부팅 시 발생합니다.따라서 기기 재부팅 후
startTimeMillis는 초기값인 0L로 리셋되며, 현재의if (startTimeMillis == 0L)조건은 예상대로 작동합니다. 제시된 엣지 케이스는 실제로 발생하지 않습니다.Likely an incorrect or invalid review comment.
feature/quiz/src/main/res/values/strings.xml (1)
5-6: 새로운 버튼 텍스트 리소스가 추가되었습니다.퀴즈 메인 화면의 버튼 텍스트를 위한 string 리소스가 적절하게 추가되었습니다. 이는 디자인 시스템의 BoardRequestButton을 커스터마이징하는 데 사용됩니다.
feature/quiz/src/main/java/com/teamwable/quiz/QuizMainScreen.kt (3)
46-46: time 파라미터가 필수로 변경되었습니다.time 파라미터에서 기본값을 제거하여 호출자가 명시적으로 시간 값을 전달하도록 변경했습니다. 이는 의도된 변경으로 보이며, QuizMainRoute에서 ViewModel의 remainingTime을 전달하도록 구현되어 있습니다.
109-110: BoardRequestButton에 텍스트 커스터마이징이 적용되었습니다.디자인 시스템의 변경사항에 맞춰 textWhite와 textSky 파라미터를 전달하여 버튼 텍스트를 커스터마이징하고 있습니다. 새로 추가된 string 리소스를 활용하여 적절하게 구현되었습니다.
122-122: Preview가 업데이트된 시간 형식을 반영합니다.Preview에서 명시적으로
"00 : 00"형식(공백 포함)을 전달하여 변경된 시간 포맷과 일치하도록 업데이트되었습니다.
✅ 𝗖𝗵𝗲𝗰𝗸-𝗟𝗶𝘀𝘁
📌 𝗜𝘀𝘀𝘂𝗲𝘀
📎𝗪𝗼𝗿𝗸 𝗗𝗲𝘀𝗰𝗿𝗶𝗽𝘁𝗶𝗼𝗻
📷 𝗦𝗰𝗿𝗲𝗲𝗻𝘀𝗵𝗼𝘁
💬 𝗧𝗼 𝗥𝗲𝘃𝗶𝗲𝘄𝗲𝗿𝘀
Summary by CodeRabbit
릴리스 노트
New Features
Refactor