Compare commits

..

No commits in common. "499889d37373628772afdb845e1674130fc73322" and "4537a40cea22d233b305f9c9ea03fde49583e034" have entirely different histories.

3 changed files with 6 additions and 20 deletions

View File

@ -232,8 +232,6 @@ struct OnboardingFeatureRow: View {
let icon: String let icon: String
let title: String let title: String
let subtitle: String let subtitle: String
var showBorder: Bool = false
var debug: Bool = false
var body: some View { var body: some View {
HStack(spacing: Design.Spacing.medium) { HStack(spacing: Design.Spacing.medium) {
@ -247,13 +245,9 @@ struct OnboardingFeatureRow: View {
Text(subtitle) Text(subtitle)
.styled(.caption, emphasis: .tertiary) .styled(.caption, emphasis: .tertiary)
} }
Spacer()
} }
.padding(Design.Spacing.medium)
.background(
RoundedRectangle(cornerRadius: Design.CornerRadius.medium)
.stroke(showBorder ? AppBorder.subtle : Color.clear, lineWidth: 1)
)
.debugBorder(debug, color: .blue, label: "FeatureRow")
} }
} }

View File

@ -35,26 +35,23 @@ struct OnboardingWelcomeView: View {
Spacer() Spacer()
// Feature highlights (centered within container) // Feature highlights (centered within container)
VStack(alignment: .leading, spacing: Design.Spacing.medium) { VStack(spacing: Design.Spacing.medium) {
OnboardingFeatureRow( OnboardingFeatureRow(
icon: "light.max", icon: "light.max",
title: String(localized: "Ring Light"), title: String(localized: "Ring Light"),
subtitle: String(localized: "Perfect lighting for every shot"), subtitle: String(localized: "Perfect lighting for every shot")
showBorder: false
) )
OnboardingFeatureRow( OnboardingFeatureRow(
icon: "camera.filters", icon: "camera.filters",
title: String(localized: "Pro Features"), title: String(localized: "Pro Features"),
subtitle: String(localized: "HDR, skin smoothing, and more"), subtitle: String(localized: "HDR, skin smoothing, and more")
showBorder: false
) )
OnboardingFeatureRow( OnboardingFeatureRow(
icon: "hand.tap.fill", icon: "hand.tap.fill",
title: String(localized: "Easy Capture"), title: String(localized: "Easy Capture"),
subtitle: String(localized: "Volume buttons, timers, gestures"), subtitle: String(localized: "Volume buttons, timers, gestures")
showBorder: false
) )
} }
.frame(maxWidth: .infinity, alignment: .center) .frame(maxWidth: .infinity, alignment: .center)

View File

@ -1,8 +1,3 @@
---
name: revenuecat-ios-integration
description: Integrate RevenueCat for in-app purchases in iOS/SwiftUI apps. Covers SDK setup, xcconfig-based API key management, PremiumManager implementation, paywalls, and troubleshooting. Use when setting up RevenueCat, implementing subscriptions, configuring API keys via xcconfig/Info.plist, debugging "API key not configured" errors, or when the user mentions RevenueCat, in-app purchases, subscriptions, paywalls, or premium features.
---
# RevenueCat Integration Guide for iOS # RevenueCat Integration Guide for iOS
A comprehensive, reusable guide for integrating RevenueCat into iOS apps with SwiftUI. This guide covers the complete flow from SDK setup to production deployment. A comprehensive, reusable guide for integrating RevenueCat into iOS apps with SwiftUI. This guide covers the complete flow from SDK setup to production deployment.