Przeglądaj źródła

Adjust paywall bottom alignment and footer spacing.

Move the CTA and offer section closer to the footer while reducing unused space at the bottom for a cleaner, more balanced layout.

Made-with: Cursor
huzaifahayat12 6 godzin temu
rodzic
commit
e8abb07e76
1 zmienionych plików z 6 dodań i 9 usunięć
  1. 6 9
      classroom_app/ViewController.swift

+ 6 - 9
classroom_app/ViewController.swift

@@ -2780,7 +2780,7 @@ private extension ViewController {
2780 2780
         midBottomSpacer.translatesAutoresizingMaskIntoConstraints = false
2781 2781
         midBottomSpacer.setContentHuggingPriority(.defaultLow, for: .vertical)
2782 2782
         midBottomSpacer.setContentCompressionResistancePriority(.defaultLow, for: .vertical)
2783
-        midBottomSpacer.heightAnchor.constraint(greaterThanOrEqualToConstant: 8).isActive = true
2783
+        midBottomSpacer.heightAnchor.constraint(greaterThanOrEqualToConstant: 18).isActive = true
2784 2784
         contentStack.addArrangedSubview(midBottomSpacer)
2785 2785
 
2786 2786
         let offer = textLabel(paywallOfferText(for: selectedPremiumPlan), font: NSFont.systemFont(ofSize: 13, weight: .semibold), color: palette.textPrimary)
@@ -2840,11 +2840,8 @@ private extension ViewController {
2840 2840
         let footerTopSpacer = NSView()
2841 2841
         footerTopSpacer.translatesAutoresizingMaskIntoConstraints = false
2842 2842
         contentStack.addArrangedSubview(footerTopSpacer)
2843
-        footerTopSpacer.setContentHuggingPriority(.defaultLow, for: .vertical)
2844
-        footerTopSpacer.setContentCompressionResistancePriority(.defaultLow, for: .vertical)
2845
-        footerTopSpacer.heightAnchor.constraint(greaterThanOrEqualToConstant: 8).isActive = true
2843
+        footerTopSpacer.heightAnchor.constraint(equalToConstant: 4).isActive = true
2846 2844
         midTopSpacer.heightAnchor.constraint(equalTo: midBottomSpacer.heightAnchor).isActive = true
2847
-        midBottomSpacer.heightAnchor.constraint(equalTo: footerTopSpacer.heightAnchor).isActive = true
2848 2845
 
2849 2846
         let footer = paywallFooterLinks()
2850 2847
         contentStack.addArrangedSubview(footer)
@@ -2854,7 +2851,7 @@ private extension ViewController {
2854 2851
             contentStack.centerXAnchor.constraint(equalTo: panel.centerXAnchor),
2855 2852
             contentStack.widthAnchor.constraint(equalToConstant: paywallLayoutWidth),
2856 2853
             contentStack.topAnchor.constraint(equalTo: panel.topAnchor, constant: 30),
2857
-            contentStack.bottomAnchor.constraint(equalTo: panel.bottomAnchor, constant: -20)
2854
+            contentStack.bottomAnchor.constraint(equalTo: panel.bottomAnchor, constant: -10)
2858 2855
         ])
2859 2856
 
2860 2857
         refreshPaywallStoreUI()
@@ -2966,7 +2963,7 @@ private extension ViewController {
2966 2963
     func paywallFooterLinks() -> NSView {
2967 2964
         let wrap = NSView()
2968 2965
         wrap.translatesAutoresizingMaskIntoConstraints = false
2969
-        wrap.heightAnchor.constraint(equalToConstant: 56).isActive = true
2966
+        wrap.heightAnchor.constraint(equalToConstant: 40).isActive = true
2970 2967
 
2971 2968
         let row = NSStackView()
2972 2969
         row.translatesAutoresizingMaskIntoConstraints = false
@@ -2983,8 +2980,8 @@ private extension ViewController {
2983 2980
         NSLayoutConstraint.activate([
2984 2981
             row.leadingAnchor.constraint(equalTo: wrap.leadingAnchor),
2985 2982
             row.trailingAnchor.constraint(equalTo: wrap.trailingAnchor),
2986
-            row.topAnchor.constraint(greaterThanOrEqualTo: wrap.topAnchor),
2987
-            row.bottomAnchor.constraint(equalTo: wrap.bottomAnchor, constant: -4)
2983
+            row.topAnchor.constraint(equalTo: wrap.topAnchor),
2984
+            row.bottomAnchor.constraint(equalTo: wrap.bottomAnchor)
2988 2985
         ])
2989 2986
 
2990 2987
         return wrap