Compare commits
2 Commits
4537a40cea
...
499889d373
| Author | SHA1 | Date | |
|---|---|---|---|
| 499889d373 | |||
| 8ad199893a |
@ -232,6 +232,8 @@ struct OnboardingFeatureRow: View {
|
||||
let icon: String
|
||||
let title: String
|
||||
let subtitle: String
|
||||
var showBorder: Bool = false
|
||||
var debug: Bool = false
|
||||
|
||||
var body: some View {
|
||||
HStack(spacing: Design.Spacing.medium) {
|
||||
@ -245,9 +247,13 @@ struct OnboardingFeatureRow: View {
|
||||
Text(subtitle)
|
||||
.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")
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
@ -35,23 +35,26 @@ struct OnboardingWelcomeView: View {
|
||||
Spacer()
|
||||
|
||||
// Feature highlights (centered within container)
|
||||
VStack(spacing: Design.Spacing.medium) {
|
||||
VStack(alignment: .leading, spacing: Design.Spacing.medium) {
|
||||
OnboardingFeatureRow(
|
||||
icon: "light.max",
|
||||
title: String(localized: "Ring Light"),
|
||||
subtitle: String(localized: "Perfect lighting for every shot")
|
||||
subtitle: String(localized: "Perfect lighting for every shot"),
|
||||
showBorder: false
|
||||
)
|
||||
|
||||
OnboardingFeatureRow(
|
||||
icon: "camera.filters",
|
||||
title: String(localized: "Pro Features"),
|
||||
subtitle: String(localized: "HDR, skin smoothing, and more")
|
||||
subtitle: String(localized: "HDR, skin smoothing, and more"),
|
||||
showBorder: false
|
||||
)
|
||||
|
||||
OnboardingFeatureRow(
|
||||
icon: "hand.tap.fill",
|
||||
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)
|
||||
|
||||
@ -1,3 +1,8 @@
|
||||
---
|
||||
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
|
||||
|
||||
A comprehensive, reusable guide for integrating RevenueCat into iOS apps with SwiftUI. This guide covers the complete flow from SDK setup to production deployment.
|
||||
|
||||
Loading…
Reference in New Issue
Block a user