Skip to content

Taki/onboarding 2 - #4

Merged
dbAbstract merged 27 commits into
mainfrom
taki/onboarding-2
Jul 21, 2026
Merged

dbAbstract merged 27 commits into
mainfrom
taki/onboarding-2

Conversation

@dbAbstract

Copy link
Copy Markdown
Owner

No description provided.

dbAbstract added 27 commits May 15, 2026 19:39
- 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`.
…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.
@dbAbstract
dbAbstract merged commit 90549ed into main Jul 21, 2026
2 checks passed
@dbAbstract
dbAbstract deleted the taki/onboarding-2 branch July 21, 2026 07:41
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant