فهرست منبع

Remove large widget and fix medium sizing.

Drop the large widget variant/size and update medium widget layout, panel height, and preview sizing to prevent clipping.

Made-with: Cursor
huzaifahayat12 3 ماه پیش
والد
کامیت
fec8e11ec9

+ 2 - 10
meetings_app/Widgets/DesktopWidgetView.swift

@@ -41,8 +41,8 @@ struct DesktopWidgetView: View {
                 }
             }
             .padding(.horizontal, 14)
-            .padding(.bottom, variant.size == .medium ? 30 : 14)
-            .padding(.top, variant.size == .medium ? 34 : (variant.size == .small ? 10 : 14))
+            .padding(.bottom, variant.size == .medium ? 16 : 14)
+            .padding(.top, variant.size == .medium ? 18 : 10)
         }
     }
 
@@ -67,14 +67,6 @@ struct DesktopWidgetView: View {
                     actionTile(action)
                 }
             }
-        case .large:
-            meetingBlock(maxRows: 3)
-            Divider().overlay(Color.white.opacity(0.18))
-            LazyVGrid(columns: Array(repeating: GridItem(.flexible(minimum: 0), spacing: 8), count: 2), spacing: 8) {
-                ForEach(variant.quickActions.prefix(6)) { action in
-                    actionTile(action)
-                }
-            }
         }
     }
 

+ 3 - 5
meetings_app/Widgets/DesktopWidgetWindowManager.swift

@@ -137,8 +137,6 @@ final class DesktopWidgetWindowManager: ObservableObject {
             return CGSize(width: 220, height: 204)
         case .medium:
             return CGSize(width: 390, height: mediumPanelHeight())
-        case .large:
-            return CGSize(width: 390, height: 398)
         }
     }
 
@@ -146,11 +144,11 @@ final class DesktopWidgetWindowManager: ObservableObject {
         let visibleMeetingCount = min(loadWidgetMeetingCount(), 2)
         switch visibleMeetingCount {
         case 0:
-            return 212
+            return 252
         case 1:
-            return 226
+            return 270
         default:
-            return 240
+            return 288
         }
     }
 

+ 0 - 2
meetings_app/Widgets/WidgetSize.swift

@@ -3,13 +3,11 @@ import Foundation
 enum WidgetSize: String, CaseIterable, Codable, Hashable {
     case small
     case medium
-    case large
 
     var title: String {
         switch self {
         case .small: return "Small"
         case .medium: return "Medium"
-        case .large: return "Large"
         }
     }
 }

+ 3 - 17
meetings_app/Widgets/WidgetTemplates.swift

@@ -49,20 +49,6 @@ enum WidgetTemplates {
                 WidgetQuickAction(id: "settings", title: "Settings", systemImage: "gearshape.fill", destination: .settings),
                 WidgetQuickAction(id: "refresh", title: "Refresh", systemImage: "arrow.clockwise", destination: .refreshMeetings)
             ]
-        ),
-        WidgetVariant(
-            id: "meet_large",
-            title: "Google Meet",
-            subtitle: "Your day at a glance",
-            size: .large,
-            quickActions: [
-                WidgetQuickAction(id: "schedule", title: "Schedule", systemImage: "clock.badge.checkmark", destination: .schedule),
-                WidgetQuickAction(id: "calendar", title: "Calendar", systemImage: "calendar", destination: .calendar),
-                WidgetQuickAction(id: "settings", title: "Settings", systemImage: "gearshape.fill", destination: .settings),
-                WidgetQuickAction(id: "refresh", title: "Refresh", systemImage: "arrow.clockwise", destination: .refreshMeetings),
-                WidgetQuickAction(id: "meet", title: "Open Meet", systemImage: "video.fill", destination: .openMeetWeb),
-                WidgetQuickAction(id: "home", title: "Home", systemImage: "house.fill", destination: .joinMeetings)
-            ]
         )
     ]
 
@@ -77,9 +63,9 @@ extension WidgetVariant {
         case .small:
             return CGSize(width: 196, height: 196)
         case .medium:
-            return CGSize(width: 340, height: 220)
-        case .large:
-            return CGSize(width: 340, height: 364)
+            // Match the medium desktop widget’s tallest expected layout (e.g. 2 meetings + actions)
+            // so the preview doesn’t clip inside the “Add Widget to Desktop” screen.
+            return CGSize(width: 340, height: 288)
         }
     }
 }