Ver código fonte

Show both upgrade and manage actions for yearly subscribers.

Made-with: Cursor
huzaifahayat12 3 meses atrás
pai
commit
02074b45be
1 arquivos alterados com 43 adições e 11 exclusões
  1. 43 11
      google_apps/LauncherRootView.swift

+ 43 - 11
google_apps/LauncherRootView.swift

@@ -120,6 +120,7 @@ struct LauncherRootView: View {
 
                 PromoBanner(
                     isPremiumUnlocked: premiumStore.isPremiumUnlocked,
+                    activePremiumProductID: premiumStore.activePremiumProductID,
                     onCloseTap: {
                         if !premiumStore.isPremiumUnlocked {
                             showingPremiumScreen = true
@@ -833,6 +834,7 @@ private func encodeUUIDSetGlobal(_ set: Set<UUID>) -> String {
 
 private struct PromoBanner: View {
     let isPremiumUnlocked: Bool
+    let activePremiumProductID: PremiumProductID?
     let onCloseTap: () -> Void
     let onUpgradeTap: () -> Void
     let onManageSubscriptionTap: () -> Void
@@ -853,18 +855,48 @@ private struct PromoBanner: View {
 
             Spacer()
 
-            Button(action: isPremiumUnlocked ? onManageSubscriptionTap : onUpgradeTap) {
-                Text(isPremiumUnlocked ? "Manage Subscription" : "Upgrade")
-                    .font(.system(size: 13, weight: .semibold))
-                    .foregroundStyle(.white)
-                    .padding(.horizontal, 12)
-                    .padding(.vertical, 6)
-                    .background(
-                        Capsule(style: .continuous)
-                            .fill(Color.blue.opacity(0.92))
-                    )
+            HStack(spacing: 8) {
+                if isPremiumUnlocked && activePremiumProductID == .yearly {
+                    Button(action: onUpgradeTap) {
+                        Text("Upgrade Plan")
+                            .font(.system(size: 13, weight: .semibold))
+                            .foregroundStyle(.white)
+                            .padding(.horizontal, 12)
+                            .padding(.vertical, 6)
+                            .background(
+                                Capsule(style: .continuous)
+                                    .fill(Color(red: 1.0, green: 0.67, blue: 0.2).opacity(0.95))
+                            )
+                    }
+                    .buttonStyle(.plain)
+
+                    Button(action: onManageSubscriptionTap) {
+                        Text("Manage Subscription")
+                            .font(.system(size: 13, weight: .semibold))
+                            .foregroundStyle(.white)
+                            .padding(.horizontal, 12)
+                            .padding(.vertical, 6)
+                            .background(
+                                Capsule(style: .continuous)
+                                    .fill(Color.blue.opacity(0.92))
+                            )
+                    }
+                    .buttonStyle(.plain)
+                } else {
+                    Button(action: isPremiumUnlocked ? onManageSubscriptionTap : onUpgradeTap) {
+                        Text(isPremiumUnlocked ? "Manage Subscription" : "Upgrade")
+                            .font(.system(size: 13, weight: .semibold))
+                            .foregroundStyle(.white)
+                            .padding(.horizontal, 12)
+                            .padding(.vertical, 6)
+                            .background(
+                                Capsule(style: .continuous)
+                                    .fill(Color.blue.opacity(0.92))
+                            )
+                    }
+                    .buttonStyle(.plain)
+                }
             }
-            .buttonStyle(.plain)
         }
         .padding(.horizontal, 11)
         .padding(.vertical, 8)