CU-86dt8g811 update subscription hint

This commit is contained in:
Denis Aleshin
2024-05-13 11:47:34 +02:00
parent 52526adbe7
commit 8c0e2a294a
2 changed files with 16 additions and 15 deletions

View File

@@ -80,18 +80,10 @@ final class PaywallView: UIView {
return button
}()
var isYearlyProduct: Bool {
(VPNSubscription.selectedProductId == VPNSubscription.productIdAdvancedYearly)
|| (VPNSubscription.selectedProductId == VPNSubscription.productIdAnnual)
|| (VPNSubscription.selectedProductId == VPNSubscription.productIdAnnualPro)
}
var isYearlyProductWithTrial: Bool {
isYearlyProduct && (VPNSubscription.trialDuration(productId: model.annualProductId) != nil)
}
func updateCTATitle() {
let title = isYearlyProductWithTrial ? "Start for Free" : "Continue"
let hasTrial = (VPNSubscription.trialDuration(productId: model.annualProductId) != nil) || (VPNSubscription.trialDuration(productId: model.mounthProductId) != nil)
let title = hasTrial ? "Start for Free" : "Continue"
actionButton.setTitle(title, for: .normal)
}

View File

@@ -115,7 +115,7 @@ final class VPNPaywallViewController: BaseViewController, Loadable {
}
view.bottomProduct.setOnClickListener { [unowned self] in
selectAdvancedMonthly()
selectMontlyProduct(view)
selectMontlyProduct(view, model: .advancedDetails())
}
view.actionButton.setOnClickListener { [unowned self] in
@@ -135,7 +135,7 @@ final class VPNPaywallViewController: BaseViewController, Loadable {
}
view.bottomProduct.setOnClickListener { [unowned self] in
selectAnonymousMonthly()
selectMontlyProduct(view)
selectMontlyProduct(view, model: .anonymousDetails())
}
view.actionButton.setOnClickListener { [unowned self] in
startTrial()
@@ -152,7 +152,7 @@ final class VPNPaywallViewController: BaseViewController, Loadable {
}
view.bottomProduct.setOnClickListener { [unowned self] in
selectUniversalMonthly()
selectMontlyProduct(view)
selectMontlyProduct(view, model: .universalDetails())
}
view.actionButton.setOnClickListener { [unowned self] in
@@ -165,14 +165,23 @@ final class VPNPaywallViewController: BaseViewController, Loadable {
private func selectYearlyProduct(_ view: PaywallView, model: PaywallViewModel) {
view.topProduct.setSelected(true)
view.bottomProduct.setSelected(false)
let anualPrice = VPNSubscription.getProductIdPrice(productId: model.annualProductId)
let monthlyPrice = VPNSubscription.getProductIdPriceMonthly(productId: model.annualProductId)
let trialDuation = VPNSubscription.trialDuration(productId: model.annualProductId) ?? ""
let title = trialDuation + " " + NSLocalizedString("free trial", comment: "") + "," + " then \(anualPrice) (\(monthlyPrice)/mo)"
view.trialDescriptionLabel.text = title
view.trialDescriptionLabel.isHidden = VPNSubscription.trialDuration(productId: model.annualProductId) == nil
view.updateCTATitle()
}
private func selectMontlyProduct(_ view: PaywallView) {
private func selectMontlyProduct(_ view: PaywallView, model: PaywallViewModel) {
view.bottomProduct.setSelected(true)
view.topProduct.setSelected(false)
view.trialDescriptionLabel.isHidden = true
let monthlyPrice = VPNSubscription.getProductIdPrice(productId: model.mounthProductId)
let trialDuation = VPNSubscription.trialDuration(productId: model.annualProductId) ?? ""
let title = trialDuation + " " + NSLocalizedString("free trial", comment: "") + "," + " then \(monthlyPrice)/mo"
view.trialDescriptionLabel.text = title
view.trialDescriptionLabel.isHidden = VPNSubscription.trialDuration(productId: model.mounthProductId) == nil
view.updateCTATitle()
}