From a384db1c8462232ed8f36b76db21dc96b39a4b5d Mon Sep 17 00:00:00 2001 From: Matt Bruce Date: Fri, 2 Jan 2026 15:54:11 -0600 Subject: [PATCH] Fix ring light color always showing white Bug: The ring light background was gated behind premium check: premiumManager.isPremiumUnlocked ? settings.lightColor : white This blocked ALL colors (even non-premium ones like Warm Cream) from displaying unless the user was premium. Fix: Remove the premium gate from the display - the selected color always shows. Premium enforcement should happen in Settings when selecting colors, not in displaying them. --- .../Features/Camera/ContentView.swift | 6 ++--- .../Resources/Localizable.xcstrings | 24 +++++++------------ 2 files changed, 10 insertions(+), 20 deletions(-) diff --git a/SelfieRingLight/Features/Camera/ContentView.swift b/SelfieRingLight/Features/Camera/ContentView.swift index 9d307c2..f3600f0 100644 --- a/SelfieRingLight/Features/Camera/ContentView.swift +++ b/SelfieRingLight/Features/Camera/ContentView.swift @@ -100,10 +100,8 @@ struct ContentView: View { @ViewBuilder private var ringLightBackground: some View { - // Access viewModel.settings directly to ensure SwiftUI observation works - let baseColor = premiumManager.isPremiumUnlocked ? viewModel.settings.lightColor : Color.RingLight.pureWhite - - baseColor + // Always use the selected light color - premium checks are done in Settings + viewModel.settings.lightColor .ignoresSafeArea() } diff --git a/SelfieRingLight/Resources/Localizable.xcstrings b/SelfieRingLight/Resources/Localizable.xcstrings index f47d769..c63ad7e 100644 --- a/SelfieRingLight/Resources/Localizable.xcstrings +++ b/SelfieRingLight/Resources/Localizable.xcstrings @@ -45,10 +45,6 @@ "comment" : "Accessibility hint for the \"Skin Smoothing\" toggle in the Settings view.", "isCommentAutoGenerated" : true }, - "Apply" : { - "comment" : "The text for a button that applies the selected color.", - "isCommentAutoGenerated" : true - }, "Auto-Save" : { "comment" : "Title of a toggle that enables automatic saving of captured photos and videos to the user's Photo Library.", "isCommentAutoGenerated" : true @@ -93,6 +89,10 @@ "comment" : "A label describing a captured video.", "isCommentAutoGenerated" : true }, + "Center Stage" : { + "comment" : "A button that toggles whether the user is centered in the video feed.", + "isCommentAutoGenerated" : true + }, "Close preview" : { "comment" : "A button label that closes the preview screen.", "isCommentAutoGenerated" : true @@ -109,10 +109,6 @@ "comment" : "An accessibility label for the custom color button.", "isCommentAutoGenerated" : true }, - "Custom Color" : { - "comment" : "The title of a sheet where a user can select a custom color.", - "isCommentAutoGenerated" : true - }, "Debug mode: Purchase simulated!" : { "comment" : "Announcement posted to VoiceOver when a premium purchase is simulated in debug mode.", "isCommentAutoGenerated" : true @@ -153,6 +149,10 @@ "comment" : "Name of a ring light color preset.", "isCommentAutoGenerated" : true }, + "Keeps you centered in frame" : { + "comment" : "A hint that explains the purpose of the \"Center Stage\" button.", + "isCommentAutoGenerated" : true + }, "Last synced %@" : { }, @@ -160,10 +160,6 @@ "comment" : "A label displayed above a section of the settings view related to light colors.", "isCommentAutoGenerated" : true }, - "Lighter colors work best as ring lights" : { - "comment" : "A tip explaining that lighter colors are better for ring lights.", - "isCommentAutoGenerated" : true - }, "No Watermarks • Ad-Free" : { "comment" : "Description of a benefit that comes with the Pro subscription.", "isCommentAutoGenerated" : true @@ -239,10 +235,6 @@ "comment" : "Text shown as a toast message when a photo is successfully saved to Photos.", "isCommentAutoGenerated" : true }, - "Select Color" : { - "comment" : "A label for the color picker in the custom color picker sheet.", - "isCommentAutoGenerated" : true - }, "Select self-timer duration" : { "comment" : "A label describing the segmented control for selecting the duration of the self-timer.", "isCommentAutoGenerated" : true