Переглянути джерело

Disable paywall purchase CTA until StoreKit products are loaded.

Co-authored-by: Cursor <cursoragent@cursor.com>
AhtashamShahzad1 4 тижнів тому
батько
коміт
8f142727e7
1 змінених файлів з 5 додано та 2 видалено
  1. 5 2
      smart_printer/PaywallView.swift

+ 5 - 2
smart_printer/PaywallView.swift

@@ -1141,9 +1141,11 @@ final class PaywallView: NSView, AppearanceRefreshable {
 
     private func refreshPurchaseState() {
         let store = StoreManager.shared
+        let isProductReady = store.product(for: selectedPlan) != nil
         let isBusy = store.isPurchasing || store.isLoadingProducts
-        ctaButton.isEnabled = !isBusy
-        ctaButton.alphaValue = isBusy ? 0.65 : 1
+        let isDisabled = isBusy || !isProductReady
+        ctaButton.isEnabled = !isDisabled
+        ctaButton.alphaValue = isDisabled ? 0.65 : 1
         refreshPrimaryFooterLink()
     }
 
@@ -1462,6 +1464,7 @@ final class PaywallView: NSView, AppearanceRefreshable {
             config: paywallConfig,
             introOffer: StoreManager.shared.eligibleIntroOffer(for: plan)
         )
+        refreshPurchaseState()
     }
 
     @objc private func purchaseTapped() {