[Refactor] LoginView 디자인 변경 및 컴포넌트 분리#38
Conversation
- UI 전체적으로 변경 - alert에 .constant를 사용하며 생기는 Binding 안티패턴 제거
Walkthrough카카오 로그인 관련 API 경로/인증 분기가 제거되고, LoginView가 새로운 LoginTextField/CTAButton 컴포넌트 기반으로 재구성되었습니다. LoginViewModel에 오류 표시 상태가 추가되고, ContentView의 로그인 분기 로직이 단순화되었습니다. HelpView/TrashView가 삭제되고, 여러 컬러셋 값과 일부 이미지셋 메타데이터가 변경되었습니다. Changes로그인 플로우 리팩토링
설정 화면 정리
컬러 및 이미지 에셋 변경
Estimated code review effort: 3 (Moderate) | ~25 minutes Possibly related PRs
Poem
🚥 Pre-merge checks | ✅ 5✅ Passed checks (5 passed)
✨ Finishing Touches📝 Generate docstrings
🧪 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.
🧹 Nitpick comments (2)
Rephoto_iOS/Features/User/Presentation/Views/LoginView.swift (2)
32-34: 📐 Maintainability & Code Quality | 🔵 Trivial주석과 프로퍼티명 불일치.
// MARK: - Title주석이title이 아닌header프로퍼티를 가리킵니다.✏️ 제안
- // MARK: - Title + // MARK: - Header🤖 Prompt for AI Agents
Verify each finding against current code. Fix only still-valid issues, skip the rest with a brief reason, keep changes minimal, and validate. In `@Rephoto_iOS/Features/User/Presentation/Views/LoginView.swift` around lines 32 - 34, The MARK comment is mislabeled: `// MARK: - Title` points to the `header` view rather than a `title` property. Update the section label to match the actual `header` computed property in `LoginView` so the comment accurately describes the symbol it groups, or rename the property if `title` is the intended name.
80-87: 🎯 Functional Correctness | 🔵 Trivial | 💤 Low value비활성화된
NavigationLink가NavigationStack밖에 위치.LoginView는 더 이상
NavigationStack으로 감싸여 있지 않고(ZStack/VStack으로 변경됨), ContentView.swift에서도LoginView(loginVM: loginVM)가NavigationStack없이 직접 표시됩니다. 현재는.disabled(true)로 인해 문제가 드러나지 않지만, 추후 회원가입 기능 활성화 시 이NavigationLink는 네비게이션 컨텍스트가 없어 동작하지 않을 수 있습니다.회원가입 기능을 활성화할 계획이 있다면, 상위 뷰에
NavigationStack을 추가하거나 현재는 플레이스홀더용Text/Button으로 대체하는 것을 고려해 주세요.🤖 Prompt for AI Agents
Verify each finding against current code. Fix only still-valid issues, skip the rest with a brief reason, keep changes minimal, and validate. In `@Rephoto_iOS/Features/User/Presentation/Views/LoginView.swift` around lines 80 - 87, The "회원가입" NavigationLink in LoginView is currently outside any NavigationStack, so it will not have a valid navigation context when re-enabled. Update LoginView or its parent presentation in ContentView to wrap the screen in a NavigationStack, or replace the placeholder NavigationLink in LoginView with a non-navigating Text/Button until the signup flow is ready. Use the LoginView and ContentView integration points to locate and adjust the navigation setup.
🤖 Prompt for all review comments with AI agents
Verify each finding against current code. Fix only still-valid issues, skip the
rest with a brief reason, keep changes minimal, and validate.
Nitpick comments:
In `@Rephoto_iOS/Features/User/Presentation/Views/LoginView.swift`:
- Around line 32-34: The MARK comment is mislabeled: `// MARK: - Title` points
to the `header` view rather than a `title` property. Update the section label to
match the actual `header` computed property in `LoginView` so the comment
accurately describes the symbol it groups, or rename the property if `title` is
the intended name.
- Around line 80-87: The "회원가입" NavigationLink in LoginView is currently outside
any NavigationStack, so it will not have a valid navigation context when
re-enabled. Update LoginView or its parent presentation in ContentView to wrap
the screen in a NavigationStack, or replace the placeholder NavigationLink in
LoginView with a non-navigating Text/Button until the signup flow is ready. Use
the LoginView and ContentView integration points to locate and adjust the
navigation setup.
ℹ️ Review info
⚙️ Run configuration
Configuration used: Repository UI
Review profile: CHILL
Plan: Pro
Run ID: 1cd9e8d9-ea90-429e-b470-0ee5b89c3985
⛔ Files ignored due to path filters (4)
Rephoto_iOS/Resource/Images/Assets.xcassets/home.imageset/home.pdfis excluded by!**/*.pdfRephoto_iOS/Resource/Images/Assets.xcassets/kakao.imageset/kakao.pdfis excluded by!**/*.pdfRephoto_iOS/Resource/Images/Assets.xcassets/map.imageset/map.pdfis excluded by!**/*.pdfRephoto_iOS/Resource/Images/Assets.xcassets/warning.imageset/warning.pdfis excluded by!**/*.pdf
📒 Files selected for processing (22)
Rephoto_iOS/App/ContentView.swiftRephoto_iOS/Core/NetworkAdapter/NetworkClient/DefaultAuthenticationPolicy.swiftRephoto_iOS/Features/Settings/Presentation/Views/HelpView.swiftRephoto_iOS/Features/Settings/Presentation/Views/TrashView.swiftRephoto_iOS/Features/User/Data/Targets/UserAPITarget.swiftRephoto_iOS/Features/User/Presentation/Components/LoginTextField.swiftRephoto_iOS/Features/User/Presentation/Preview/MockUserUseCaseProvider.swiftRephoto_iOS/Features/User/Presentation/ViewModels/LoginViewModel.swiftRephoto_iOS/Features/User/Presentation/Views/LoginView.swiftRephoto_iOS/Resource/Colors/Colors.xcassets/Color5.colorset/Contents.jsonRephoto_iOS/Resource/Colors/Colors.xcassets/Color6.colorset/Contents.jsonRephoto_iOS/Resource/Colors/Colors.xcassets/baseColor.colorset/Contents.jsonRephoto_iOS/Resource/Colors/Colors.xcassets/deepGreen.colorset/Contents.jsonRephoto_iOS/Resource/Colors/Colors.xcassets/lightGreen.colorset/Contents.jsonRephoto_iOS/Resource/Colors/Colors.xcassets/mainGreen.colorset/Contents.jsonRephoto_iOS/Resource/Colors/Colors.xcassets/mainRed.colorset/Contents.jsonRephoto_iOS/Resource/Colors/Colors.xcassets/subGreen.colorset/Contents.jsonRephoto_iOS/Resource/Components/CTAButton.swiftRephoto_iOS/Resource/Images/Assets.xcassets/home.imageset/Contents.jsonRephoto_iOS/Resource/Images/Assets.xcassets/kakao.imageset/Contents.jsonRephoto_iOS/Resource/Images/Assets.xcassets/map.imageset/Contents.jsonRephoto_iOS/Resource/Images/Assets.xcassets/warning.imageset/Contents.json
💤 Files with no reviewable changes (9)
- Rephoto_iOS/Resource/Images/Assets.xcassets/home.imageset/Contents.json
- Rephoto_iOS/App/ContentView.swift
- Rephoto_iOS/Resource/Images/Assets.xcassets/map.imageset/Contents.json
- Rephoto_iOS/Resource/Images/Assets.xcassets/kakao.imageset/Contents.json
- Rephoto_iOS/Resource/Images/Assets.xcassets/warning.imageset/Contents.json
- Rephoto_iOS/Features/Settings/Presentation/Views/HelpView.swift
- Rephoto_iOS/Resource/Colors/Colors.xcassets/Color5.colorset/Contents.json
- Rephoto_iOS/Features/Settings/Presentation/Views/TrashView.swift
- Rephoto_iOS/Resource/Colors/Colors.xcassets/Color6.colorset/Contents.json
✨ PR 유형
어떤 변경 사항이 있나요??
🛠️ 작업내용
[ 작업한 내용을 작성해주세요 ( UI 구현이라면 사진도 같이 올려주시면 좋아요! ) ]
📋 추후 진행 상황
[ 다음에 진행할 작업에 대해 작성해주세요!! ]
[ 현재 커밋 후 풀리퀘 다음으로 작업 내용을 적어주면 됩니다! ]
📌 리뷰 포인트
[ 어떤 부분을 잘 체크해야하는지 작성해주세요 ]
✅ Checklist
PR이 다음 요구 사항을 충족하는지 확인해주세요!!!
closed #36
Summary by CodeRabbit
New Features
Bug Fixes
Chores