Add debug bypass subscription toggle, tests, and data layer improvements

- Add runtime toggle in Settings (DEBUG only) to bypass subscription/hide trial banner
- IAPManager.bypassSubscription is now a @Published var persisted via UserDefaults
- Hide upgrade banner in SettingsTabView and trial warnings when bypass is enabled
- Add FeelsTests directory with integration tests
- Update DataController, DataControllerGET, DataControllerUPDATE
- Update Xcode project and scheme configuration
- Update localization strings and App Store screen docs

Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
This commit is contained in:
Trey t
2026-02-15 17:12:56 -06:00
parent 7c142568be
commit 7639f881da
14 changed files with 1064 additions and 34 deletions

View File

@@ -67,6 +67,7 @@ struct SettingsContentView: View {
#if DEBUG
// Debug section
debugSectionHeader
bypassSubscriptionToggle
trialDateButton
animationLabButton
paywallPreviewButton
@@ -211,6 +212,35 @@ struct SettingsContentView: View {
.padding(.horizontal, 4)
}
private var bypassSubscriptionToggle: some View {
ZStack {
theme.currentTheme.secondaryBGColor
HStack(spacing: 12) {
Image(systemName: "lock.open.fill")
.font(.title2)
.foregroundColor(.green)
.frame(width: 32)
VStack(alignment: .leading, spacing: 2) {
Text("Bypass Subscription")
.foregroundColor(textColor)
Text("Hide trial banner & grant full access")
.font(.caption)
.foregroundStyle(.secondary)
}
Spacer()
Toggle("", isOn: $iapManager.bypassSubscription)
.labelsHidden()
}
.padding()
}
.fixedSize(horizontal: false, vertical: true)
.cornerRadius(Constants.viewsCornerRaidus, corners: [.topLeft, .topRight, .bottomLeft, .bottomRight])
}
private var trialDateButton: some View {
ZStack {
theme.currentTheme.secondaryBGColor
@@ -1282,6 +1312,7 @@ struct SettingsView: View {
Group {
Divider()
Text("Test builds only")
Toggle("Bypass Subscription", isOn: $iapManager.bypassSubscription)
addTestDataCell
clearDB
// fixWeekday