|
|
@@ -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() {
|