Преглед изворни кода

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 пре 3 недеља
родитељ
комит
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 {
134 134
     private var planPriceFields: [String: (price: NSTextField, period: NSTextField)] = [:]
135 135
     private var planPurchaseButtons: [String: NSButton] = [:]
136 136
     private var subscriptionPrimaryFooterButton: NSButton?
137
+    private var premiumCloseButton: NSButton?
137 138
     private var subscriptionStatusObservation: NSObjectProtocol?
138 139
 
139 140
     private let plans: [Plan] = [
@@ -215,6 +216,7 @@ private final class PremiumPlansViewController: NSViewController {
215 216
                 await self?.subscriptionStore.loadProducts()
216 217
                 self?.applyStorePricing()
217 218
                 self?.updateSubscriptionPrimaryFooter()
219
+                self?.updatePremiumCloseButtonVisibility()
218 220
             }
219 221
         }
220 222
         Task { await loadStoreProducts() }
@@ -303,6 +305,12 @@ private final class PremiumPlansViewController: NSViewController {
303 305
             footerRow.widthAnchor.constraint(equalTo: root.widthAnchor),
304 306
             crownIcon.heightAnchor.constraint(equalToConstant: 20)
305 307
         ])
308
+        premiumCloseButton = closeButton
309
+        updatePremiumCloseButtonVisibility()
310
+    }
311
+
312
+    private func updatePremiumCloseButtonVisibility() {
313
+        premiumCloseButton?.isHidden = !subscriptionStore.isProActive
306 314
     }
307 315
 
308 316
     private func makePricingCard(_ plan: Plan) -> NSView {