瀏覽代碼

Premium sheet: show close button only for Pro subscribers

Hide the X for free users; refresh visibility when subscription status
changes so subscribers regain the control after purchase.

Co-authored-by: Cursor <cursoragent@cursor.com>
AhtashamShahzad1 2 月之前
父節點
當前提交
f3d247e4bd
共有 1 個文件被更改,包括 8 次插入0 次删除
  1. 8 0
      App for Indeed/Controllers/PremiumPlansWindowController.swift

+ 8 - 0
App for Indeed/Controllers/PremiumPlansWindowController.swift

@@ -134,6 +134,7 @@ private final class PremiumPlansViewController: NSViewController {
     private var planPriceFields: [String: (price: NSTextField, period: NSTextField)] = [:]
     private var planPurchaseButtons: [String: NSButton] = [:]
     private var subscriptionPrimaryFooterButton: NSButton?
+    private var premiumCloseButton: NSButton?
     private var subscriptionStatusObservation: NSObjectProtocol?
 
     private let plans: [Plan] = [
@@ -215,6 +216,7 @@ private final class PremiumPlansViewController: NSViewController {
                 await self?.subscriptionStore.loadProducts()
                 self?.applyStorePricing()
                 self?.updateSubscriptionPrimaryFooter()
+                self?.updatePremiumCloseButtonVisibility()
             }
         }
         Task { await loadStoreProducts() }
@@ -303,6 +305,12 @@ private final class PremiumPlansViewController: NSViewController {
             footerRow.widthAnchor.constraint(equalTo: root.widthAnchor),
             crownIcon.heightAnchor.constraint(equalToConstant: 20)
         ])
+        premiumCloseButton = closeButton
+        updatePremiumCloseButtonVisibility()
+    }
+
+    private func updatePremiumCloseButtonVisibility() {
+        premiumCloseButton?.isHidden = !subscriptionStore.isProActive
     }
 
     private func makePricingCard(_ plan: Plan) -> NSView {