From 93aac6c746684fb5ea7234da47c24220d6f57de3 Mon Sep 17 00:00:00 2001 From: NachoSoto Date: Tue, 25 Jul 2023 22:13:18 +0200 Subject: [PATCH] `Paywalls`: disabled `PaywallViewMode`s for now (#2874) We won't ship these initially, but still leaving the infrastructure in place. --- RevenueCatUI/Data/PaywallViewMode.swift | 4 ++-- RevenueCatUI/Views/PurchaseButton.swift | 6 +++++- .../SwiftAPITester/PaywallViewAPI.swift | 2 +- Tests/RevenueCatUITests/BaseSnapshotTest.swift | 4 ++++ .../SinglePackagePaywallViewTests.swift | 3 +++ .../SimpleApp/Views/AppContentView.swift | 16 +--------------- 6 files changed, 16 insertions(+), 19 deletions(-) diff --git a/RevenueCatUI/Data/PaywallViewMode.swift b/RevenueCatUI/Data/PaywallViewMode.swift index 3acecf7b83..0fd072079f 100644 --- a/RevenueCatUI/Data/PaywallViewMode.swift +++ b/RevenueCatUI/Data/PaywallViewMode.swift @@ -14,9 +14,11 @@ public enum PaywallViewMode { case fullScreen /// Paywall is displayed with a square aspect ratio. It can be embedded inside any other SwiftUI view. + @available(*, unavailable, message: "Other modes coming soon.") case card /// Paywall is displayed in a condensed format. It can be embedded inside any other SwiftUI view. + @available(*, unavailable, message: "Other modes coming soon.") case banner /// The default ``PaywallViewMode``: ``PaywallViewMode/fullScreen``. @@ -24,8 +26,6 @@ public enum PaywallViewMode { } -extension PaywallViewMode: CaseIterable {} - extension PaywallViewMode { var isFullScreen: Bool { diff --git a/RevenueCatUI/Views/PurchaseButton.swift b/RevenueCatUI/Views/PurchaseButton.swift index 6bbd8c2ffe..275befbf86 100644 --- a/RevenueCatUI/Views/PurchaseButton.swift +++ b/RevenueCatUI/Views/PurchaseButton.swift @@ -132,12 +132,16 @@ struct PurchaseButton_Previews: PreviewProvider { } static var previews: some View { - ForEach(PaywallViewMode.allCases, id: \.self) { mode in + ForEach(Self.modes, id: \.self) { mode in Preview(mode: mode) .previewLayout(.sizeThatFits) } } + private static let modes: [PaywallViewMode] = [ + .fullScreen + ] + } #endif diff --git a/Tests/APITesters/RevenueCatUIAPITester/SwiftAPITester/PaywallViewAPI.swift b/Tests/APITesters/RevenueCatUIAPITester/SwiftAPITester/PaywallViewAPI.swift index d826bbab4e..a0e4460025 100644 --- a/Tests/APITesters/RevenueCatUIAPITester/SwiftAPITester/PaywallViewAPI.swift +++ b/Tests/APITesters/RevenueCatUIAPITester/SwiftAPITester/PaywallViewAPI.swift @@ -18,7 +18,7 @@ struct App: View { PaywallView() PaywallView(mode: .fullScreen) PaywallView(offering: self.offering) - PaywallView(offering: self.offering, mode: .card) + PaywallView(offering: self.offering, mode: .fullScreen) } @ViewBuilder diff --git a/Tests/RevenueCatUITests/BaseSnapshotTest.swift b/Tests/RevenueCatUITests/BaseSnapshotTest.swift index 23a7984081..03d258ebae 100644 --- a/Tests/RevenueCatUITests/BaseSnapshotTest.swift +++ b/Tests/RevenueCatUITests/BaseSnapshotTest.swift @@ -29,7 +29,11 @@ extension BaseSnapshotTest { static let purchaseHandler: PurchaseHandler = .mock() static let fullScreenSize: CGSize = .init(width: 460, height: 950) + + // Disabled until we bring modes back. + /* static let cardSize: CGSize = .init(width: 460, height: 460) static let bannerSize: CGSize = .init(width: 380, height: 70) + */ } diff --git a/Tests/RevenueCatUITests/SinglePackagePaywallViewTests.swift b/Tests/RevenueCatUITests/SinglePackagePaywallViewTests.swift index 64cd257abf..dd9f1e7c88 100644 --- a/Tests/RevenueCatUITests/SinglePackagePaywallViewTests.swift +++ b/Tests/RevenueCatUITests/SinglePackagePaywallViewTests.swift @@ -16,6 +16,8 @@ class SinglePackagePaywallViewTests: BaseSnapshotTest { view.snapshot(size: Self.fullScreenSize) } + // Disabled until we bring modes back. + /* func testCardPaywall() { let view = PaywallView(offering: Self.offeringWithNoIntroOffer, mode: .card, @@ -35,6 +37,7 @@ class SinglePackagePaywallViewTests: BaseSnapshotTest { view.snapshot(size: Self.bannerSize) } + */ func testSamplePaywallWithIntroOffer() { let view = PaywallView(offering: Self.offeringWithIntroOffer, diff --git a/Tests/TestingApps/SimpleApp/SimpleApp/Views/AppContentView.swift b/Tests/TestingApps/SimpleApp/SimpleApp/Views/AppContentView.swift index 9a53c66160..da5b2cff82 100644 --- a/Tests/TestingApps/SimpleApp/SimpleApp/Views/AppContentView.swift +++ b/Tests/TestingApps/SimpleApp/SimpleApp/Views/AppContentView.swift @@ -43,18 +43,12 @@ struct AppContentView: View { Text(verbatim: "You're signed in: \(info.originalAppUserId)") .font(.callout) - if self.shouldDisplayPaywall { - PaywallView(mode: .banner) - } - Spacer() BarChartView(data: (0..<10).map { _ in Double.random(in: 0..<100)}) .frame(maxWidth: .infinity) - if self.shouldDisplayPaywall { - PaywallView(mode: .card) - } else if let date = info.latestExpirationDate { + if let date = info.latestExpirationDate { Text(verbatim: "Your subscription expires: \(date.formatted())") .font(.caption) } @@ -71,14 +65,6 @@ struct AppContentView: View { } } - private var displayNonFullScreenPaywalls: Bool { - return false - } - - private var shouldDisplayPaywall: Bool { - return self.displayNonFullScreenPaywalls && self.customerInfo?.hasPro == false - } - }