## 목적 #2 에서 남은 항목 — 로그인/온보딩 완료 후 메인(홈) 화면으로 전환되는 라우팅을 정리한다. ## 현재 상태 - 로그인 성공 시 `LoginFeature.delegate(.presentOnboarding)` → `AuthCoordinator` 가 `OnBoardingFeature` 로 push 됨 (PR #30 에서 완료) - 그러나 온보딩 완료 시점에서 `OnBoardingFeature.delegate(.finished)` 만 발송되고 실제 홈 진입 동작은 미구현 - `AuthCoordinator.routerAction(.onboarding(.delegate(.finished)))` 핸들러에 `// TODO: 메인 탭으로 전환` 만 남아 있음 ## 작업 내용 - [ ] `AppReducer.State` 에 메인/홈 State 케이스 추가 (`case main(MainCoordinator.State)` 등) - [ ] `AppReducer.View / Inner` 에 `presentMain` / `completeMainTransition` 액션 + `startTransition` 흐름 연결 - [ ] `AuthCoordinator` 내 `NavigationAction.presentMain` 정의, `onboarding(.delegate(.finished))` 에서 발송 - [ ] 신규 사용자 (`LoginEntity.isNewUser == true`) vs 기존 사용자 분기 정책 결정 (온보딩 강제 vs 스킵) - [ ] 미인증 토큰 만료 시 다시 `Auth` 로 되돌리는 흐름과 충돌 없는지 점검 (#20 의 RefreshTokenExpired 알림) ## 의존 - #3 [Home] 홈 + 큐레이팅 (메인 탭 구현) - #20 [Auth] 토큰 관리 + 자동 refresh - #30 PR ## 참고 코드 - `Projects/App/Sources/Reducer/AppReducer.swift` - `Projects/Presentation/Auth/Sources/Coordinator/Reducer/AuthCoordinator.swift` (`routerAction`)
목적
#2 에서 남은 항목 — 로그인/온보딩 완료 후 메인(홈) 화면으로 전환되는 라우팅을 정리한다.
현재 상태
LoginFeature.delegate(.presentOnboarding)→AuthCoordinator가OnBoardingFeature로 push 됨 (PR feat: 온보딩 화면 + 로그인 라우팅 + CustomButton 토큰화 #30 에서 완료)OnBoardingFeature.delegate(.finished)만 발송되고 실제 홈 진입 동작은 미구현AuthCoordinator.routerAction(.onboarding(.delegate(.finished)))핸들러에// TODO: 메인 탭으로 전환만 남아 있음작업 내용
AppReducer.State에 메인/홈 State 케이스 추가 (case main(MainCoordinator.State)등)AppReducer.View / Inner에presentMain/completeMainTransition액션 +startTransition흐름 연결AuthCoordinator내NavigationAction.presentMain정의,onboarding(.delegate(.finished))에서 발송LoginEntity.isNewUser == true) vs 기존 사용자 분기 정책 결정 (온보딩 강제 vs 스킵)Auth로 되돌리는 흐름과 충돌 없는지 점검 ([Auth] 토큰 관리 + 자동 refresh #20 의 RefreshTokenExpired 알림)의존
참고 코드
Projects/App/Sources/Reducer/AppReducer.swiftProjects/Presentation/Auth/Sources/Coordinator/Reducer/AuthCoordinator.swift(routerAction)