diff --git a/Andromida/App/Localization/Localizable.xcstrings b/Andromida/App/Localization/Localizable.xcstrings index 72ff656..ab2c39a 100644 --- a/Andromida/App/Localization/Localizable.xcstrings +++ b/Andromida/App/Localization/Localizable.xcstrings @@ -335,6 +335,7 @@ "isCommentAutoGenerated" : true }, "Adjust arc duration" : { + "extractionState" : "stale", "localizations" : { "en" : { "stringUnit" : { @@ -2178,6 +2179,7 @@ } }, "Ritual length" : { + "extractionState" : "stale", "localizations" : { "en" : { "stringUnit" : { @@ -2204,6 +2206,7 @@ "isCommentAutoGenerated" : true }, "Ritual pacing" : { + "extractionState" : "stale", "localizations" : { "en" : { "stringUnit" : { diff --git a/Andromida/App/Views/Settings/ProUpgradeView.swift b/Andromida/App/Views/Settings/ProUpgradeView.swift deleted file mode 100644 index 8e5872a..0000000 --- a/Andromida/App/Views/Settings/ProUpgradeView.swift +++ /dev/null @@ -1,129 +0,0 @@ -import SwiftUI -import Bedrock - -struct ProUpgradeView: View { - var body: some View { - ScrollView(.vertical, showsIndicators: false) { - VStack(spacing: Design.Spacing.xxLarge) { - headerSection - - featuresSection - - comingSoonSection - } - .padding(Design.Spacing.large) - } - .background(AppSurface.primary) - .navigationTitle(String(localized: "Rituals Pro")) - .navigationBarTitleDisplayMode(.inline) - } - - private var headerSection: some View { - VStack(spacing: Design.Spacing.medium) { - Image(systemName: "crown.fill") - .font(.system(size: Design.BaseFontSize.title)) - .foregroundStyle(AppAccent.primary) - .accessibilityHidden(true) - - Text(String(localized: "Unlock Your Full Potential")) - .font(.title2) - .bold() - .foregroundStyle(AppTextColors.primary) - .multilineTextAlignment(.center) - - Text(String(localized: "Rituals Pro gives you everything you need to build lasting habits.")) - .font(.body) - .foregroundStyle(AppTextColors.secondary) - .multilineTextAlignment(.center) - } - .padding(.top, Design.Spacing.large) - } - - private var featuresSection: some View { - VStack(alignment: .leading, spacing: Design.Spacing.medium) { - ProFeatureRowView( - icon: "infinity", - title: String(localized: "Unlimited Rituals"), - subtitle: String(localized: "Create as many arcs as you need") - ) - - ProFeatureRowView( - icon: "chart.line.uptrend.xyaxis", - title: String(localized: "Advanced Insights"), - subtitle: String(localized: "Deeper analytics on your progress") - ) - - ProFeatureRowView( - icon: "icloud.fill", - title: String(localized: "Priority Sync"), - subtitle: String(localized: "Faster iCloud synchronization") - ) - - ProFeatureRowView( - icon: "heart.fill", - title: String(localized: "Support Development"), - subtitle: String(localized: "Help us build more features") - ) - } - .padding(Design.Spacing.large) - .background(AppSurface.card) - .clipShape(.rect(cornerRadius: Design.CornerRadius.large)) - } - - private var comingSoonSection: some View { - VStack(spacing: Design.Spacing.medium) { - Button { - // No action - coming soon - } label: { - Text(String(localized: "Coming Soon")) - .font(.headline) - .foregroundStyle(AppTextColors.disabled) - .frame(maxWidth: .infinity) - .frame(height: AppMetrics.Size.buttonHeight) - .background(AppSurface.tertiary) - .clipShape(.rect(cornerRadius: Design.CornerRadius.medium)) - } - .disabled(true) - - Text(String(localized: "Pro features are in development")) - .font(.caption) - .foregroundStyle(AppTextColors.secondary) - } - } -} - -private struct ProFeatureRowView: View { - let icon: String - let title: String - let subtitle: String - - var body: some View { - HStack(spacing: Design.Spacing.medium) { - Image(systemName: icon) - .font(.title3) - .foregroundStyle(AppAccent.primary) - .frame(width: AppMetrics.Size.iconLarge) - .accessibilityHidden(true) - - VStack(alignment: .leading, spacing: Design.Spacing.xxxSmall) { - Text(title) - .font(.subheadline) - .bold() - .foregroundStyle(AppTextColors.primary) - - Text(subtitle) - .font(.caption) - .foregroundStyle(AppTextColors.secondary) - } - - Spacer(minLength: Design.Spacing.small) - } - .accessibilityElement(children: .combine) - } -} - -#Preview { - NavigationStack { - ProUpgradeView() - } -} diff --git a/Andromida/App/Views/Settings/SettingsView.swift b/Andromida/App/Views/Settings/SettingsView.swift index d34f826..215f813 100644 --- a/Andromida/App/Views/Settings/SettingsView.swift +++ b/Andromida/App/Views/Settings/SettingsView.swift @@ -54,22 +54,6 @@ struct SettingsView: View { ) } - SettingsSectionHeader( - title: String(localized: "Rituals Pro"), - systemImage: "crown.fill", - accentColor: AppAccent.secondary - ) - - SettingsCard(backgroundColor: AppSurface.card, borderColor: AppBorder.subtle) { - SettingsNavigationRow( - title: String(localized: "Upgrade to Pro"), - subtitle: String(localized: "Unlock unlimited rituals and more"), - backgroundColor: AppSurface.primary - ) { - ProUpgradeView() - } - } - SettingsSectionHeader( title: String(localized: "iCloud Sync"), systemImage: "icloud", diff --git a/README.md b/README.md index 7a0eb01..8f95c85 100644 --- a/README.md +++ b/README.md @@ -68,7 +68,6 @@ Rituals is a paid, offline-first habit tracker built around customizable "ritual - Daily reminder notifications with time picker - Haptics and sound toggles (wired to habit check-ins) - iCloud settings sync -- Pro upgrade placeholder - Debug tools: reset onboarding, app icon generation, branding preview ### Onboarding