| 1234567891011121314151617181920212223242526272829303132333435363738394041 |
- import SwiftUI
- struct WidgetPreviewCard: View {
- let app: LauncherApp
- let variant: WidgetVariant
- var body: some View {
- DesktopWidgetView(app: app, variant: variant, isPreview: true)
- .frame(width: previewSize.width, height: previewSize.height)
- .allowsHitTesting(false)
- .clipShape(RoundedRectangle(cornerRadius: 18, style: .continuous))
- .overlay(
- RoundedRectangle(cornerRadius: 18, style: .continuous)
- .stroke(Color.white.opacity(0.10), lineWidth: 1)
- )
- }
- private var previewSize: CGSize {
- switch variant.size {
- case .small:
- return CGSize(width: 190, height: 190)
- case .medium:
- return CGSize(width: 340, height: 190)
- case .large:
- return CGSize(width: 340, height: 260)
- }
- }
- }
- #Preview {
- ZStack {
- Color.black
- WidgetPreviewCard(
- app: LauncherApp.sampleApps[1],
- variant: WidgetTemplates.variants(for: LauncherApp.sampleApps[1])[0]
- )
- .frame(width: 520, height: 360)
- .padding()
- }
- }
|