Skip to content

Commit

Permalink
Paywalls: updated template names (#2971)
Browse files Browse the repository at this point in the history
  • Loading branch information
NachoSoto committed Aug 24, 2023
1 parent e9cf880 commit 98dbf52
Show file tree
Hide file tree
Showing 24 changed files with 94 additions and 94 deletions.
10 changes: 5 additions & 5 deletions RevenueCatUI/Data/TestData.swift
Original file line number Diff line number Diff line change
Expand Up @@ -150,7 +150,7 @@ internal enum TestData {
]

static let paywallWithIntroOffer = PaywallData(
template: .onePackageStandard,
template: .template1,
config: .init(
packages: [PackageType.monthly.identifier],
images: Self.images,
Expand All @@ -162,7 +162,7 @@ internal enum TestData {
assetBaseURL: Self.paywallAssetBaseURL
)
static let paywallWithNoIntroOffer = PaywallData(
template: .onePackageStandard,
template: .template1,
config: .init(
packages: [PackageType.annual.identifier],
images: Self.images,
Expand Down Expand Up @@ -193,7 +193,7 @@ internal enum TestData {
serverDescription: "Offering",
metadata: [:],
paywall: .init(
template: .multiPackageBold,
template: .template2,
config: .init(
packages: [PackageType.annual.identifier, PackageType.monthly.identifier],
images: Self.images,
Expand Down Expand Up @@ -232,7 +232,7 @@ internal enum TestData {
serverDescription: "Offering",
metadata: [:],
paywall: .init(
template: .onePackageWithFeatures,
template: .template3,
config: .init(
packages: [PackageType.annual.identifier],
images: Self.images,
Expand Down Expand Up @@ -279,7 +279,7 @@ internal enum TestData {
serverDescription: "Offering",
metadata: [:],
paywall: .init(
template: .multiPackageHorizontal,
template: .template4,
config: .init(
packages: [PackageType.monthly.identifier,
PackageType.sixMonth.identifier,
Expand Down
4 changes: 2 additions & 2 deletions RevenueCatUI/Helpers/PaywallData+Default.swift
Original file line number Diff line number Diff line change
Expand Up @@ -21,7 +21,7 @@ extension PaywallData {

static func createDefault(with packageIdentifiers: [String]) -> Self {
return .init(
template: .multiPackageBold,
template: .template2,
config: .init(
packages: packageIdentifiers,
images: .init(background: Self.backgroundImage),
Expand Down Expand Up @@ -85,7 +85,7 @@ struct DefaultPaywall_Previews: PreviewProvider {

static var previews: some View {
PreviewableTemplate(offering: Self.offering) {
MultiPackageBoldTemplate($0)
Template2View($0)
}
}

Expand Down
8 changes: 4 additions & 4 deletions RevenueCatUI/PaywallView.swift
Original file line number Diff line number Diff line change
Expand Up @@ -275,10 +275,10 @@ private extension PaywallTemplate {

var name: String {
switch self {
case .onePackageStandard: return "single"
case .multiPackageBold: return "multi"
case .onePackageWithFeatures: return "features"
case .multiPackageHorizontal: return "horizontal"
case .template1: return "Minimalist"
case .template2: return "Bold Packages"
case .template3: return "Feature List"
case .template4: return "Horizontal"
}
}

Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -3,7 +3,7 @@ import SwiftUI

@available(iOS 15.0, macOS 12.0, tvOS 15.0, *)
@available(tvOS, unavailable)
struct OnePackageStandardTemplate: TemplateViewType {
struct Template1View: TemplateViewType {

private let configuration: TemplateViewConfiguration
private var localization: ProcessedLocalizedConfiguration
Expand Down Expand Up @@ -211,11 +211,11 @@ private struct CircleMaskModifier: ViewModifier {
@available(macOS, unavailable)
@available(tvOS, unavailable)
@available(macCatalyst, unavailable)
struct OnePackageStandardTemplate_Previews: PreviewProvider {
struct Template1View_Previews: PreviewProvider {

static var previews: some View {
PreviewableTemplate(offering: TestData.offeringWithIntroOffer) {
OnePackageStandardTemplate($0)
Template1View($0)
}
}

Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -3,7 +3,7 @@ import SwiftUI

@available(iOS 15.0, macOS 12.0, tvOS 15.0, *)
@available(tvOS, unavailable)
struct MultiPackageBoldTemplate: TemplateViewType {
struct Template2View: TemplateViewType {

private let configuration: TemplateViewConfiguration
private var localization: [Package: ProcessedLocalizedConfiguration]
Expand Down Expand Up @@ -204,7 +204,7 @@ struct MultiPackageBoldTemplate: TemplateViewType {

@available(iOS 15.0, macOS 12.0, tvOS 15.0, *)
@available(tvOS, unavailable)
private extension MultiPackageBoldTemplate {
private extension Template2View {

func localization(for package: Package) -> ProcessedLocalizedConfiguration {
// Because of how packages are constructed this is known to exist
Expand All @@ -226,11 +226,11 @@ private extension MultiPackageBoldTemplate {
@available(macOS, unavailable)
@available(tvOS, unavailable)
@available(macCatalyst, unavailable)
struct MultiPackageBoldTemplate_Previews: PreviewProvider {
struct Template2View_Previews: PreviewProvider {

static var previews: some View {
PreviewableTemplate(offering: TestData.offeringWithMultiPackagePaywall) {
MultiPackageBoldTemplate($0)
Template2View($0)
}
}

Expand Down
Original file line number Diff line number Diff line change
@@ -1,5 +1,5 @@
//
// OnePackageWithFeaturesTemplate.swift
// Template3View.swift
//
//
// Created by Nacho Soto on 7/26/23.
Expand All @@ -10,7 +10,7 @@ import SwiftUI

@available(iOS 15.0, macOS 12.0, tvOS 15.0, *)
@available(tvOS, unavailable)
struct OnePackageWithFeaturesTemplate: TemplateViewType {
struct Template3View: TemplateViewType {

private let configuration: TemplateViewConfiguration
private let localization: ProcessedLocalizedConfiguration
Expand Down Expand Up @@ -186,11 +186,11 @@ private struct FeatureView: View {
@available(macOS, unavailable)
@available(tvOS, unavailable)
@available(macCatalyst, unavailable)
struct OnePackageWithFeaturesTemplate_Previews: PreviewProvider {
struct Template3View_Previews: PreviewProvider {

static var previews: some View {
PreviewableTemplate(offering: TestData.offeringWithSinglePackageFeaturesPaywall) {
OnePackageWithFeaturesTemplate($0)
Template3View($0)
}
}

Expand Down
Original file line number Diff line number Diff line change
@@ -1,5 +1,5 @@
//
// MultiPackageHorizontalTemplate.swift
// Template4View.swift
//
//
// Created by Nacho Soto on 8/1/23.
Expand All @@ -9,7 +9,7 @@ import RevenueCat
import SwiftUI

@available(iOS 15.0, macOS 12.0, tvOS 15.0, *)
struct MultiPackageHorizontalTemplate: TemplateViewType {
struct Template4View: TemplateViewType {

private let configuration: TemplateViewConfiguration
private var localization: [Package: ProcessedLocalizedConfiguration]
Expand Down Expand Up @@ -207,7 +207,7 @@ private struct PackageButton: View {
self.buttonTitle(self.package)
.frame(width: self.packageWidth)
.background { // Stroke
RoundedRectangle(cornerRadius: MultiPackageHorizontalTemplate.cornerRadius)
RoundedRectangle(cornerRadius: Template4View.cornerRadius)
.stroke(
self.selected
? self.configuration.colors.accent1Color
Expand All @@ -219,7 +219,7 @@ private struct PackageButton: View {
.padding(Self.borderWidth)
}
.background { // Background
RoundedRectangle(cornerRadius: MultiPackageHorizontalTemplate.cornerRadius)
RoundedRectangle(cornerRadius: Template4View.cornerRadius)
.foregroundStyle(self.configuration.colors.backgroundColor)
.frame(width: self.packageWidth)
.padding(Self.borderWidth)
Expand Down Expand Up @@ -280,7 +280,7 @@ private struct PackageButton: View {

private func discountOverlay(_ discount: Double) -> some View {
ZStack(alignment: .top) {
RoundedRectangle(cornerRadius: MultiPackageHorizontalTemplate.cornerRadius)
RoundedRectangle(cornerRadius: Template4View.cornerRadius)
.foregroundStyle(
self.selected
? self.configuration.colors.accent1Color
Expand Down Expand Up @@ -310,15 +310,15 @@ private struct PackageButton: View {
private static let borderWidth: CGFloat = 2

private var discountOverlayHeight: CGFloat {
return self.discountLabelHeight + MultiPackageHorizontalTemplate.verticalPadding
return self.discountLabelHeight + Template4View.verticalPadding
}

}

// MARK: - Extensions

@available(iOS 15.0, macOS 12.0, tvOS 15.0, *)
private extension MultiPackageHorizontalTemplate {
private extension Template4View {

func localization(for package: Package) -> ProcessedLocalizedConfiguration {
// Because of how packages are constructed this is known to exist
Expand All @@ -339,11 +339,11 @@ private extension MultiPackageHorizontalTemplate {
@available(watchOS, unavailable)
@available(macOS, unavailable)
@available(macCatalyst, unavailable)
struct MultiPackageHorizontalTemplate_Previews: PreviewProvider {
struct Template4View_Previews: PreviewProvider {

static var previews: some View {
PreviewableTemplate(offering: TestData.offeringWithMultiPackageHorizontalPaywall) {
MultiPackageHorizontalTemplate($0)
Template4View($0)
}
}

Expand Down
24 changes: 12 additions & 12 deletions RevenueCatUI/Templates/TemplateViewType.swift
Original file line number Diff line number Diff line change
Expand Up @@ -15,10 +15,10 @@ private extension PaywallTemplate {

var packageSetting: TemplateViewConfiguration.PackageSetting {
switch self {
case .onePackageStandard: return .single
case .multiPackageBold: return .multiple
case .onePackageWithFeatures: return .single
case .multiPackageHorizontal: return .multiple
case .template1: return .single
case .template2: return .multiple
case .template3: return .single
case .template4: return .multiple
}
}

Expand Down Expand Up @@ -79,14 +79,14 @@ extension PaywallData {
private static func createView(template: PaywallTemplate,
configuration: TemplateViewConfiguration) -> some View {
switch template {
case .onePackageStandard:
OnePackageStandardTemplate(configuration)
case .multiPackageBold:
MultiPackageBoldTemplate(configuration)
case .onePackageWithFeatures:
OnePackageWithFeaturesTemplate(configuration)
case .multiPackageHorizontal:
MultiPackageHorizontalTemplate(configuration)
case .template1:
Template1View(configuration)
case .template2:
Template2View(configuration)
case .template3:
Template3View(configuration)
case .template4:
Template4View(configuration)
}
}

Expand Down
8 changes: 4 additions & 4 deletions Sources/Paywalls/PaywallTemplate.swift
Original file line number Diff line number Diff line change
Expand Up @@ -17,10 +17,10 @@ import Foundation
public enum PaywallTemplate: String {

// swiftlint:disable missing_docs
case onePackageStandard = "one_package_standard"
case multiPackageBold = "multi_package_bold"
case onePackageWithFeatures = "one_package_with_features"
case multiPackageHorizontal = "multi_package_horizontal"
case template1 = "1"
case template2 = "2"
case template3 = "3"
case template4 = "4"

// swiftlint:enable missing_docs

Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -146,13 +146,13 @@ func checkPaywallColor(_ color: PaywallColor) throws {

func checkPaywallTemplate(_ template: PaywallTemplate) {
switch template {
case .onePackageStandard:
case .template1:
break
case .multiPackageBold:
case .template2:
break
case .onePackageWithFeatures:
case .template3:
break
case .multiPackageHorizontal:
case .template4:
break
@unknown default:
break
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -32,11 +32,11 @@
"paywall" : {
"asset_base_url" : "https://assets.pawwalls.com",
"config" : {
"blurred_background_image" : true,
"blurred_background_image" : false,
"colors" : {
"light" : {
"accent1" : "#ec64e5",
"accent2" : "#d9d9d9",
"accent2" : "#000000",
"background" : "#ffffff",
"call_to_action_background" : "#45c186",
"call_to_action_foreground" : "#ffffff",
Expand All @@ -46,8 +46,8 @@
"default_package" : "$rc_monthly",
"display_restore_purchases" : true,
"images" : {
"background" : "300883_1690710097.jpg",
"icon" : "300883_1690710150.jpg"
"background" : "300883_1691437592.jpg",
"icon" : "300883_1691437591.jpg"
},
"packages" : [
"$rc_monthly",
Expand All @@ -65,13 +65,13 @@

],
"offer_details" : "{{ total_price_and_per_month }}",
"offer_details_with_intro_offer" : "{{ total_price_and_per_month }} after {{ sub_offer_duration }} trial",
"offer_name" : "{{ period }}",
"subtitle" : "Gert access to all our educational content trusted by thousands of parents",
"offer_details_with_intro_offer" : "Start your {{ sub_offer_duration }} trial, then {{ sub_price_per_month }} per month",
"offer_name" : "{{ sub_period }}",
"subtitle" : "Get access to all our educational content trusted by thousands of parents",
"title" : "Ignite your child's curiosity"
}
},
"template_name" : "multi_package_bold"
"template_name" : "2"
}
},
{
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -53,7 +53,7 @@ private extension PaywallViewLocalizationTests {
serverDescription: "Offering",
metadata: [:],
paywall: .init(
template: .multiPackageBold,
template: .template2,
config: .init(
packages: [PackageType.weekly.identifier,
PackageType.annual.identifier,
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -7,7 +7,7 @@ import SwiftUI
#if !os(macOS)

@available(iOS 16.0, macOS 13.0, tvOS 16.0, watchOS 9.0, *)
class OnePackageStandardPaywallViewTests: BaseSnapshotTest {
class Template1ViewTests: BaseSnapshotTest {

func testSamplePaywall() {
let view = PaywallView(offering: Self.offeringWithNoIntroOffer,
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -6,7 +6,7 @@ import SnapshotTesting
#if !os(macOS)

@available(iOS 16.0, macOS 13.0, tvOS 16.0, watchOS 9.0, *)
class MultiPackageBoldPaywallViewTests: BaseSnapshotTest {
class Template2ViewTests: BaseSnapshotTest {

func testSamplePaywall() {
let view = PaywallView(offering: Self.offering.withLocalImages,
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -6,7 +6,7 @@ import SnapshotTesting
#if !os(macOS)

@available(iOS 16.0, macOS 13.0, tvOS 16.0, watchOS 9.0, *)
class OnePackageWithFeaturesPaywallViewTests: BaseSnapshotTest {
class Template3ViewTests: BaseSnapshotTest {

func testSamplePaywall() {
let view = PaywallView(offering: Self.offering.withLocalImages,
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -6,7 +6,7 @@ import SnapshotTesting
#if !os(macOS)

@available(iOS 16.0, macOS 13.0, tvOS 16.0, watchOS 9.0, *)
class MultiPackageHorizontalPaywallViewTests: BaseSnapshotTest {
class Template4ViewTests: BaseSnapshotTest {

func testSamplePaywall() {
PaywallView(offering: Self.offering.withLocalImages,
Expand Down
Loading

0 comments on commit 98dbf52

Please sign in to comment.