[Refactor/#69] 시니어 로그아웃, 회원탈퇴 로직 흐름을 변경합니다.#70
Conversation
Walkthrough로그아웃과 회원탈퇴 대화 상자 상태 관리를 Boolean 플래그에서 Changes
Estimated code review effort🎯 3 (중간) | ⏱️ ~25분 Possibly related PRs
Poem
Pre-merge checks and finishing touches❌ Failed checks (1 warning)
✅ Passed checks (4 passed)
✨ 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: 0
🧹 Nitpick comments (6)
feature/senior/src/main/kotlin/com/moa/app/feature/senior/setting/model/SettingDialogState.kt (1)
5-10: 코드 중복: guardian 모듈에 동일한SettingDialogState가 존재합니다.
feature/guardian/src/main/kotlin/com/moa/app/feature/guardian/setting/model/SettingDialogState.kt에 동일한 인터페이스가 정의되어 있습니다. 공통 모듈(예:core/common또는core/ui)로 이동하여 중복을 제거하는 것을 권장합니다.feature/senior/src/main/kotlin/com/moa/app/feature/senior/setting/SeniorSettingScreen.kt (3)
44-64:isLoading상태 활용 고려
SeniorSettingUiState에isLoading이 추가되었지만, 로그아웃/회원탈퇴 진행 중 로딩 인디케이터 표시나 버튼 비활성화에 사용되지 않고 있습니다. 사용자 경험 향상을 위해 로딩 상태를 UI에 반영하는 것을 권장합니다.
56-63: 완료 다이얼로그 dismiss 동작 확인
onDialogDismissRequest = {}로 설정하여 사용자가 뒤로가기나 외부 터치로 다이얼로그를 닫을 수 없습니다. 의도된 동작이라면, 동일한 동작을navigateToClear로 연결하거나 주석을 추가하여 의도를 명확히 하는 것을 권장합니다.🔎 dismiss 시에도 동일하게 네비게이션 처리
is SettingDialogState.Complete -> { MaConfirmDialog( title = "로그아웃 완료되었습니다", confirmButtonText = "확인", onConfirm = viewModel::navigateToClear, - onDialogDismissRequest = {}, + onDialogDismissRequest = viewModel::navigateToClear, ) }
78-85: 회원탈퇴 완료 다이얼로그도 동일한 패턴 적용 권장로그아웃 완료 다이얼로그와 동일하게
onDialogDismissRequest에 빈 람다 대신navigateToClear를 연결하는 것을 권장합니다.feature/senior/src/main/kotlin/com/moa/app/feature/senior/setting/SeniorSettingViewModel.kt (2)
83-88: 실패 시 사용자에게 에러 피드백 제공 권장로그아웃 실패 시 다이얼로그가 조용히 닫히고 사용자는 왜 실패했는지 알 수 없습니다. 실패 원인을 사용자에게 알리는 토스트 메시지나 에러 다이얼로그를 표시하는 것을 권장합니다.
102-107: 회원탈퇴 실패 시에도 동일하게 사용자 피드백 필요회원탈퇴 실패 시에도 사용자에게 에러 메시지를 표시하는 것을 권장합니다. 특히 회원탈퇴는 중요한 작업이므로 실패 원인을 명확히 전달해야 합니다.
📜 Review details
Configuration used: Repository UI
Review profile: CHILL
Plan: Pro
📒 Files selected for processing (4)
feature/senior/src/main/kotlin/com/moa/app/feature/senior/setting/SeniorSettingScreen.ktfeature/senior/src/main/kotlin/com/moa/app/feature/senior/setting/SeniorSettingViewModel.ktfeature/senior/src/main/kotlin/com/moa/app/feature/senior/setting/model/SeniorSettingUiState.ktfeature/senior/src/main/kotlin/com/moa/app/feature/senior/setting/model/SettingDialogState.kt
🧰 Additional context used
🧬 Code graph analysis (2)
feature/senior/src/main/kotlin/com/moa/app/feature/senior/setting/SeniorSettingScreen.kt (2)
core/designsystem/src/main/kotlin/com/moa/app/designsystem/component/product/dialog/MaAlertDialog.kt (1)
MaAlertDialog(27-120)core/designsystem/src/main/kotlin/com/moa/app/designsystem/component/product/dialog/MaConfirmDialog.kt (1)
MaConfirmDialog(24-69)
feature/senior/src/main/kotlin/com/moa/app/feature/senior/setting/model/SettingDialogState.kt (1)
feature/guardian/src/main/kotlin/com/moa/app/feature/guardian/setting/model/SettingDialogState.kt (1)
@Immutable(5-10)
⏰ 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: Run Unit Tests
🔇 Additional comments (2)
feature/senior/src/main/kotlin/com/moa/app/feature/senior/setting/model/SeniorSettingUiState.kt (1)
3-17: LGTM!Boolean 플래그 대신 명시적인
SettingDialogState를 사용하여 다이얼로그 상태를 관리하는 것은 좋은 개선입니다.isLoading추가로 로딩 상태 추적도 가능해졌습니다.feature/senior/src/main/kotlin/com/moa/app/feature/senior/setting/SeniorSettingViewModel.kt (1)
118-127: LGTM!
navigateToClear()를 public으로 변경하여 Complete 다이얼로그에서 호출할 수 있게 한 것은 새로운 흐름에 적합합니다. 백스택 정리와 AuthLanding으로의 네비게이션 로직이 올바르게 구현되어 있습니다.
Related issue 🛠
Work Description ✏️
Screenshot 📸
Uncompleted Tasks 😅
Summary by CodeRabbit
릴리스 노트
✏️ Tip: You can customize this high-level summary in your review settings.