polscm32 1 рік тому
батько
коміт
2bd7be6f30

+ 1 - 1
Trio/Sources/Modules/Main/View/OnboardingView.swift

@@ -126,7 +126,7 @@ struct OnboardingView: View {
                             withAnimation {
                                 if currentStep == .completed {
                                     // Apply settings and complete onboarding
-//                                    onboardingData.applyToSettings(settingsManager: manager.settingsManager)
+                                    onboardingData.applyToSettings()
                                     manager.completeOnboarding()
                                 } else if let next = currentStep.next {
                                     currentStep = next

+ 4 - 2
Trio/Sources/Modules/Onboarding/Model.swift

@@ -102,7 +102,9 @@ enum OnboardingStep: Int, CaseIterable, Identifiable {
 }
 
 /// Model that holds the data collected during onboarding.
-@Observable class OnboardingData {
+@Observable class OnboardingData: Injectable {
+    @ObservationIgnored @Injected() var settingsManager: SettingsManager!
+
     // Glucose Target
     var targetLow: Decimal = 70
     var targetHigh: Decimal = 180
@@ -132,7 +134,7 @@ enum OnboardingStep: Int, CaseIterable, Identifiable {
     }
 
     /// Applies the onboarding data to the app's settings.
-    func applyToSettings(settingsManager: SettingsManager) {
+    func applyToSettings() {
         // Make a copy of the current settings that we can mutate
         var settingsCopy = settingsManager.settings
 

+ 0 - 0
Trio/Sources/Modules/Onboarding/View/OnboardingRootView.swift


+ 1 - 1
Trio/Sources/Services/OnboardingManager/OnboardingManager.swift

@@ -16,7 +16,7 @@ extension UserDefaults {
 
 /// Manages the app's onboarding experience, ensuring it's only shown to new users.
 /// Coordinates the display of onboarding screens when the app is launched for the first time.
-final class OnboardingManager: ObservableObject {
+final class OnboardingManager: ObservableObject, Injectable {
     /// Shared singleton instance.
     static let shared = OnboardingManager()