Browse Source

Fix paywall close flow to allow reliable reopen.

Remove asynchronous overlay fade-out during close and tear down the paywall overlay immediately so subsequent open actions always present correctly.

Made-with: Cursor
huzaifahayat12 5 hours ago
parent
commit
b2fdd68c1e
1 changed files with 3 additions and 9 deletions
  1. 3 9
      classroom_app/ViewController.swift

+ 3 - 9
classroom_app/ViewController.swift

@@ -1107,13 +1107,7 @@ private extension ViewController {
1107
         if let overlay = paywallOverlayView {
1107
         if let overlay = paywallOverlayView {
1108
             paywallOverlayView = nil
1108
             paywallOverlayView = nil
1109
             paywallUpgradeFlowEnabled = false
1109
             paywallUpgradeFlowEnabled = false
1110
-            NSAnimationContext.runAnimationGroup({ context in
1111
-                context.duration = 0.16
1112
-                context.timingFunction = CAMediaTimingFunction(name: .easeInEaseOut)
1113
-                overlay.animator().alphaValue = 0
1114
-            }, completionHandler: {
1115
-                overlay.removeFromSuperview()
1116
-            })
1110
+            overlay.removeFromSuperview()
1117
             return
1111
             return
1118
         }
1112
         }
1119
         if let win = paywallWindow {
1113
         if let win = paywallWindow {
@@ -2837,8 +2831,8 @@ private extension ViewController {
2837
         footer.widthAnchor.constraint(equalTo: contentStack.widthAnchor).isActive = true
2831
         footer.widthAnchor.constraint(equalTo: contentStack.widthAnchor).isActive = true
2838
 
2832
 
2839
         NSLayoutConstraint.activate([
2833
         NSLayoutConstraint.activate([
2840
-            closeButton.topAnchor.constraint(equalTo: panel.topAnchor, constant: 18),
2841
-            closeButton.trailingAnchor.constraint(equalTo: panel.trailingAnchor, constant: -18),
2834
+            closeButton.topAnchor.constraint(equalTo: panel.topAnchor, constant: 24),
2835
+            closeButton.trailingAnchor.constraint(equalTo: panel.trailingAnchor, constant: -24),
2842
             contentStack.centerXAnchor.constraint(equalTo: panel.centerXAnchor),
2836
             contentStack.centerXAnchor.constraint(equalTo: panel.centerXAnchor),
2843
             contentStack.widthAnchor.constraint(equalToConstant: paywallLayoutWidth),
2837
             contentStack.widthAnchor.constraint(equalToConstant: paywallLayoutWidth),
2844
             contentStack.topAnchor.constraint(equalTo: panel.topAnchor, constant: 80),
2838
             contentStack.topAnchor.constraint(equalTo: panel.topAnchor, constant: 80),