Implement freemium model with StoreKit 2: - StoreManager singleton for purchase/restore/entitlements - ProFeature enum defining gated features - PaywallView and OnboardingPaywallView for upsell UI - ProGate view modifier and ProBadge component Feature gating: - Trip saving: 1 free trip, then requires Pro - PDF export: Pro only with badge indicator - Progress tab: Shows ProLockedView for free users - Settings: Subscription management section Also fixes pre-existing test issues with StadiumVisit and ItineraryOption model signature changes. Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>
17 lines
361 B
Swift
17 lines
361 B
Swift
//
|
|
// ProGateTests.swift
|
|
// SportsTimeTests
|
|
//
|
|
|
|
import Testing
|
|
import SwiftUI
|
|
@testable import SportsTime
|
|
|
|
struct ProGateTests {
|
|
@Test func proGate_createsViewModifier() {
|
|
// Just verify the modifier compiles and can be applied
|
|
let _ = Text("Test").proGate(feature: .pdfExport)
|
|
#expect(true) // If we got here, it compiles
|
|
}
|
|
}
|