Browse Source

Fix sidebar upgrade button so the full purple area is clickable.

Move button styling into the label and add contentShape so macOS hit testing covers the entire CTA, not just the text.

Co-authored-by: Cursor <cursoragent@cursor.com>
AhtashamShahzad1 2 tuần trước cách đây
mục cha
commit
dd08d8ab5f

+ 11 - 8
App AI for Reddit/Views/SidebarView.swift

@@ -126,20 +126,23 @@ struct SidebarView: View {
                     .fixedSize(horizontal: false, vertical: true)
                     .fixedSize(horizontal: false, vertical: true)
                     .lineSpacing(2)
                     .lineSpacing(2)
 
 
-                Button(premiumActionTitle) {
+                Button {
                     if isPremium {
                     if isPremium {
                         subscriptions.openSubscriptionManagement()
                         subscriptions.openSubscriptionManagement()
                     } else {
                     } else {
                         viewModel.showPaywall()
                         viewModel.showPaywall()
                     }
                     }
+                } label: {
+                    Text(premiumActionTitle)
+                        .font(.system(size: 11, weight: .semibold))
+                        .foregroundStyle(.white)
+                        .frame(maxWidth: .infinity)
+                        .padding(.vertical, 7.5)
+                        .background(AppTheme.accentPurple)
+                        .clipShape(RoundedRectangle(cornerRadius: 8))
+                        .contentShape(RoundedRectangle(cornerRadius: 8))
                 }
                 }
-                    .font(.system(size: 11, weight: .semibold))
-                    .foregroundStyle(.white)
-                    .frame(maxWidth: .infinity)
-                    .padding(.vertical, 7.5)
-                    .background(AppTheme.accentPurple)
-                    .clipShape(RoundedRectangle(cornerRadius: 8))
-                    .buttonStyle(AppPrimaryButtonStyle())
+                .buttonStyle(AppPrimaryButtonStyle())
             }
             }
             .frame(maxWidth: .infinity, minHeight: 105)
             .frame(maxWidth: .infinity, minHeight: 105)
             .padding(.horizontal, 12)
             .padding(.horizontal, 12)