Add this suggestion to a batch that can be applied as a single commit.
This suggestion is invalid because no changes were made to the code.
Suggestions cannot be applied while the pull request is closed.
Suggestions cannot be applied while viewing a subset of changes.
Only one suggestion per line can be applied in a batch.
Add this suggestion to a batch that can be applied as a single commit.
Applying suggestions on deleted lines is not supported.
You must change the existing code in this line in order to create a valid suggestion.
Outdated suggestions cannot be applied.
This suggestion has been applied or marked resolved.
Suggestions cannot be applied from pending reviews.
Suggestions cannot be applied on multi-line comments.
Suggestions cannot be applied while the pull request is queued to merge.
Suggestion cannot be applied right now. Please check back later.
📌 What is the PR?
🪄 Changes
🌐 Common Changes
🔥 PR Point
AppFlowCoordinator는 App의 전반적인 흐름을 제어하는 코디네이터입니다.
온보딩/트레이너/트레이니 화면 흐름을 제어하며, 진입 시 인증 정보 확인, FCM, 인증 만료시 로그인 화면 라우팅 과 같은 로직이 추가될 예정입니다.
ifLet을 통해 Onboarding/Trainer/Trainee Feature가 주입되며, 화면에 표시됩니다.
OnboardingFlowFeature/View는 온보딩의 흐름을 제어하는 코디네이터입니다.
화면 흐름을 제어하며, 온보딩 플로우에 필요한 데이터를 @shared로 갖게 될 예정입니다.
NavigationStack에서 구성된 state+action -> store를 통해 해당 화면이 stack에 표시됩니다.
Trainer/TraineeFlowFeature/View는 트레이너/트레이니의 각 화면 흐름을 제어하는 코디네이터입니다.
마찬가지로 화면 흐름을 제어하며, 추후 해당 플로우에 추가되는 데이터들을 @shared로 갖게 될 예정입니다.
MainTabView의 경우도 하나의 화면으로 취급됩니다.
Onboarding/Trainer/TraineeFlowFeature의 Navigation 관리 단위는 stack-based로 관리되는 화면 하나입니다. 팝업/바텀시트와 같은 tree-based는 각 화면에서 관리하는 것을 원칙으로 합니다. 각 화면에서 선언한
setNavigating(RoutingScreen)
을 감시하며, 해당 액션 발생 시 RoutingScreen에 따라 현재 NavPath에 적절한 화면을 추가/삭제합니다.🙆🏻 To Reviewers
💭 Related Issues