From a25e414d4e31c81bc0b04225c6b3378a57a3d718 Mon Sep 17 00:00:00 2001 From: Matt Bruce Date: Sun, 4 Jan 2026 14:45:40 -0600 Subject: [PATCH] Signed-off-by: Matt Bruce --- SelfieCam/Features/Settings/SettingsView.swift | 5 +---- SelfieCam/Features/Settings/SettingsViewModel.swift | 8 ++++++++ SelfieCam/Shared/Premium/PremiumManager.swift | 2 +- 3 files changed, 10 insertions(+), 5 deletions(-) diff --git a/SelfieCam/Features/Settings/SettingsView.swift b/SelfieCam/Features/Settings/SettingsView.swift index bf231a5..99ecb91 100644 --- a/SelfieCam/Features/Settings/SettingsView.swift +++ b/SelfieCam/Features/Settings/SettingsView.swift @@ -770,10 +770,7 @@ struct SettingsView: View { SettingsToggle( title: "Enable Debug Premium", subtitle: "Unlock all premium features for testing", - isOn: Binding( - get: { viewModel.premiumManager.isDebugPremiumToggleEnabled }, - set: { viewModel.premiumManager.isDebugPremiumToggleEnabled = $0 } - ) + isOn: $viewModel.isDebugPremiumEnabled ) .tint(Color.Status.warning) // Icon Generator diff --git a/SelfieCam/Features/Settings/SettingsViewModel.swift b/SelfieCam/Features/Settings/SettingsViewModel.swift index 6588d23..27d3502 100644 --- a/SelfieCam/Features/Settings/SettingsViewModel.swift +++ b/SelfieCam/Features/Settings/SettingsViewModel.swift @@ -334,6 +334,14 @@ final class SettingsViewModel: RingLightConfigurable { var isCustomColorSelected: Bool { lightColorId == RingLightColor.customId } + + // MARK: - Debug Premium Toggle + + /// Debug premium toggle for testing (DEBUG builds only) + var isDebugPremiumEnabled: Bool { + get { premiumManager.isDebugPremiumToggleEnabled } + set { premiumManager.isDebugPremiumToggleEnabled = newValue } + } /// Sets the custom color and selects it (PREMIUM) func selectCustomColor(_ color: Color) { diff --git a/SelfieCam/Shared/Premium/PremiumManager.swift b/SelfieCam/Shared/Premium/PremiumManager.swift index 98013ca..ed1ab82 100644 --- a/SelfieCam/Shared/Premium/PremiumManager.swift +++ b/SelfieCam/Shared/Premium/PremiumManager.swift @@ -27,7 +27,7 @@ final class PremiumManager: PremiumManaging { // MARK: - Debug Override /// Debug premium toggle stored in UserDefaults (only available in DEBUG builds) - @AppStorage("debugPremiumEnabled") private var debugPremiumEnabled = false + @AppStorage("debugPremiumEnabled") @ObservationIgnored private var debugPremiumEnabled = false /// Check if debug premium is enabled via UserDefaults toggle or environment variable. /// The toggle in Settings > Debug takes precedence over environment variables.