| 12345678910111213141516171819 |
- import SwiftUI
- @MainActor
- @Observable
- final class PaywallViewModel {
- var selectedPlan = PaywallPlan(productID: SubscriptionProductID.yearly)
- func selectPlan(_ plan: PaywallPlan) {
- selectedPlan = plan
- }
- func syncSelectedPlan(with availablePlans: [PaywallPlan]) {
- guard !availablePlans.isEmpty else { return }
- if !availablePlans.contains(selectedPlan) {
- let yearly = PaywallPlan(productID: SubscriptionProductID.yearly)
- selectedPlan = availablePlans.contains(yearly) ? yearly : availablePlans[0]
- }
- }
- }
|