import SwiftUI /// Design constants for the App Clip. /// Mirrors the main app's centralized constant patterns. enum ClipDesign { // MARK: - Spacing enum Spacing { static let xSmall: CGFloat = 4 static let small: CGFloat = 8 static let medium: CGFloat = 12 static let large: CGFloat = 16 static let xLarge: CGFloat = 24 static let xxLarge: CGFloat = 32 } // MARK: - Corner Radius enum CornerRadius { static let small: CGFloat = 8 static let medium: CGFloat = 12 static let large: CGFloat = 16 static let xLarge: CGFloat = 24 } // MARK: - Sizes enum Size { static let avatar: CGFloat = 80 static let avatarLarge: CGFloat = 112 static let buttonHeight: CGFloat = 50 static let previewBannerHeight: CGFloat = 132 static let previewAvatarSize: CGFloat = 96 static let previewAvatarOverlap: CGFloat = 48 static let previewMaxWidth: CGFloat = 460 static let previewCardMinHeight: CGFloat = 320 static let avatarFallbackSymbolSize: CGFloat = 42 static let avatarStrokeWidth: CGFloat = 4 static let cardStrokeWidth: CGFloat = 1 static let contactRowIconSize: CGFloat = 14 } // MARK: - Opacity enum Opacity { static let subtle: Double = 0.3 static let medium: Double = 0.5 static let strong: Double = 0.7 static let faint: Double = 0.12 } // MARK: - Shadow enum Shadow { static let radius: CGFloat = 14 static let y: CGFloat = 8 } // MARK: - URLs enum URL { static let appStore = "https://apps.apple.com/app/id1234567890" static let contactsScheme = "contacts://" static let recordQueryName = "id" } } // MARK: - Colors extension Color { enum Clip { static let background = Color("ClipBackground") static let cardBackground = Color("ClipSurface") static let text = Color("ClipTextPrimary") static let secondaryText = Color("ClipTextSecondary") static let accent = Color("ClipAccent") static let success = Color("ClipSuccess") static let error = Color("ClipError") } }