From 600b92fdeec74ff092a27c1ff6b5aef13bba20ee Mon Sep 17 00:00:00 2001 From: NachoSoto Date: Wed, 13 Sep 2023 14:59:57 -0700 Subject: [PATCH 1/2] `Paywalls`: fixed broken layout on template 4 I broke this on #3183. We need to reset the height calculation when the inputs change, but setting it to 0 was making it layout with a 0 height instead of unlimited height to measure it. This also now enables template 4 since it's ready! --- RevenueCatUI/Data/PaywallTemplate.swift | 2 +- RevenueCatUI/Templates/Template4View.swift | 8 ++++---- 2 files changed, 5 insertions(+), 5 deletions(-) diff --git a/RevenueCatUI/Data/PaywallTemplate.swift b/RevenueCatUI/Data/PaywallTemplate.swift index d9864e96b3..656be08336 100644 --- a/RevenueCatUI/Data/PaywallTemplate.swift +++ b/RevenueCatUI/Data/PaywallTemplate.swift @@ -19,9 +19,9 @@ internal enum PaywallTemplate: String { case template1 = "1" case template2 = "2" case template3 = "3" + case template4 = "4" // Temporarily disabled until it's supported in the dashboard - case template4 = "4_disabled" case template5 = "5_disabled" } diff --git a/RevenueCatUI/Templates/Template4View.swift b/RevenueCatUI/Templates/Template4View.swift index 9263d5d2ed..ef9cd323dc 100644 --- a/RevenueCatUI/Templates/Template4View.swift +++ b/RevenueCatUI/Templates/Template4View.swift @@ -25,7 +25,7 @@ struct Template4View: TemplateViewType { private var selectedPackage: TemplateViewConfiguration.Package @State - private var packageContentHeight: CGFloat = 10 + private var packageContentHeight: CGFloat? @State private var containerWidth: CGFloat = 600 @State @@ -165,14 +165,14 @@ struct Template4View: TemplateViewType { packageWidth: self.packageWidth, desiredHeight: nil) .onSizeChange(.vertical) { - if $0 > self.packageContentHeight { + if $0 > self.packageContentHeight ?? 0 { self.packageContentHeight = $0 } } } } - .onChange(of: self.dynamicTypeSize) { _ in self.packageContentHeight = 0 } - .onChange(of: self.packageWidth) { _ in self.packageContentHeight = 0 } + .onChange(of: self.dynamicTypeSize) { _ in self.packageContentHeight = nil } + .onChange(of: self.containerWidth) { _ in self.packageContentHeight = nil } .hidden() } From a81f73acfb4d3f60dbd08b4e4a1acb06eaaf643d Mon Sep 17 00:00:00 2001 From: NachoSoto Date: Wed, 13 Sep 2023 15:02:51 -0700 Subject: [PATCH 2/2] Improved padding --- RevenueCatUI/Templates/Template4View.swift | 1 + 1 file changed, 1 insertion(+) diff --git a/RevenueCatUI/Templates/Template4View.swift b/RevenueCatUI/Templates/Template4View.swift index ef9cd323dc..f42b51ecf5 100644 --- a/RevenueCatUI/Templates/Template4View.swift +++ b/RevenueCatUI/Templates/Template4View.swift @@ -102,6 +102,7 @@ struct Template4View: TemplateViewType { self.subscribeButton .defaultHorizontalPadding() + .padding(.bottom, Self.verticalPadding / -2) FooterView(configuration: self.configuration, bold: false,