BusinessCard/BusinessCardWatch Watch App/Models/WatchCard.swift

25 lines
745 B
Swift

import Foundation
import SwiftUI
/// A simplified card structure synced from the iOS app via App Group UserDefaults
struct WatchCard: Codable, Identifiable, Hashable {
let id: UUID
var displayName: String
var role: String
var company: String
var email: String
var phone: String
var website: String
var location: String
var isDefault: Bool
/// Pre-generated QR code PNG data from iOS (CoreImage not available on watchOS)
var qrCodeImageData: Data?
/// Returns a SwiftUI Image from the synced QR code data
var qrCodeImage: Image? {
guard let data = qrCodeImageData,
let uiImage = UIImage(data: data) else { return nil }
return Image(uiImage: uiImage)
}
}