Repository navigation
Taki/onboarding 2 - #4
Merged
Merged
Conversation
- Rename `Sex` enum members from `MALE`/`FEMALE` to `Male`/`Female` and update all references in code and tests. - Replace `YaseyoTheme` with `YaseyoPreview` in Compose preview functions across onboarding UI components.
- Add `getGoalSuggestion` to `OnboardingApi` and implementation - Define network request and response models for goal suggestions - Update `ProfileSetupUiState` to include goal suggestion and target weight fields - Implement `fetchGoalSuggestion` in `ProfileSetupViewModel` triggered during navigation - Add `GoalWeightStep` UI component to display BMI, body fat stats, and target weight picker - Integrate goal weight selection step into `ProfileSetupScreen`
- Add `SummaryStep` UI widget and related components to display TDEE, calorie targets, and suggested macros. - Define `OnboardingSummary` domain model and its corresponding network request/response data classes. - Update `OnboardingApi` and `OnboardingApiImpl` to include the `getSummary` endpoint. - Integrate summary state and deficit adjustment logic into `ProfileSetupViewModel` and `ProfileSetupUiState`. - Add the summary step to `ProfileSetupScreen` with loading and data validation states.
… layer - Relocate `OnboardingSummary`, `GoalSuggestion`, and `ActivityLevelOption` from UI state to a dedicated model package. - Update `OnboardingApi` to use domain models instead of network DTOs in its interface. - Move DTO-to-domain mapping and enum conversion logic into `OnboardingApiImpl`. - Clean up `ProfileSetupViewModel` by removing mapping logic and unused `AppRouter` dependency. - Delete `EnumMappings.kt` as conversion logic is now encapsulated within the API implementation.
…stence - Add `OnboardingLocalDataSource` and `OnboardingRepository` to handle data persistence via DataStore - Update `OnboardingDraft` and `ProfileSetupUiState` to use `Sex` and `ActivityLevel` type-safe enums - Refactor `ProfileSetupViewModel` to reactively combine draft state with UI state and persist changes - Configure Koin dependencies for new data source and repository modules - Expose DataStore dependencies in `libs:datastore` module
- Create `TestDispatcherProvider` and a new `:libs:coroutines:testing` module. - Update `ProfileSetupViewModel` to use `DispatcherProvider` for better testability. - Add unit tests for `OnboardingRepositoryImpl` and `ProfileSetupViewModel` using Turbine and coroutines test utilities. - Implement fakes for `OnboardingApi`, `OnboardingLocalDataSource`, and `OnboardingRepository`. - Update `feature:onboarding` dependencies to include coroutines and testing utilities.
- Add `ClearBackStackAndGoTo` event and `navigateAndClearBackStack` to `AppRouter`. - Implement `clearAndGoTo` and `FinishHandler` in Android's `Navigator`. - Update `AppCoordinator` in iOS to handle backstack clearing and modal dismissal. - Integrate `AppRouter` into `ProfileSetupViewModel` and use it to navigate to `Home` after clearing the draft. - Update `AuthViewModel` to clear the backstack when navigating to profile setup. - Add `profileSetupScreenViewController` for iOS and update view controller factory logic. - Apply UI tweaks to `SignInSheetScreen` and `SignUpSheetScreen` by adding clips to text fields.
- Remove redundant `YaseyoTheme` and window insets from `BottomSheetSceneStrategy`. - Update `OnboardingProgressBar` to a segmented step indicator and update preview step counts. - Enhance `SignUpSheetScreen` and `SignInSheetScreen` with consistent button heights. - Improve `NameStep` by migrating to `rememberTextFieldState` and `InputTransformation`. - Add conditional back button visibility in `ProfileSetupScreen` based on the current step. - Apply clipping to `TextField` in `AuthLandingScreen`.
…Picker` state management
…SexStep` and `DateOfBirthStep` modules. Update `SummaryStep` to extract deficit selection into a standalone `DeficitStep` widget. Refactor `ProfileSetupScreen` and `ProfileSetupViewModel` to navigate steps using key-based logic instead of hardcoded indices.
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
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.
No description provided.