import Foundation /// Ein Fahrzeug. Jedes Profil hat seinen eigenen Satz Geräte; die App zeigt und /// funkt immer nur für das gerade gewählte. struct Profile: Identifiable, Codable, Hashable, Sendable { var id: UUID var name: String /// SF-Symbol für die Auswahl im Dashboard. var symbol: String init(id: UUID = UUID(), name: String, symbol: String = "box.truck") { self.id = id self.name = name self.symbol = symbol } /// Profil, dem Geräte aus der Zeit vor der Profilverwaltung zugeordnet /// werden. Feste Kennung, damit die Zuordnung beim Update erhalten bleibt. static let defaultID = UUID(uuidString: "00000000-0000-0000-0000-00000000C001")! static var initial: Profile { Profile(id: defaultID, name: "Mein Camper") } /// Auswahl für die Profilbearbeitung. /// Alle Namen gegen NSImage(systemSymbolName:) geprüft – ein nicht /// existierendes Symbol lässt SwiftUI stillschweigend auf Text zurückfallen. static let symbols = [ "box.truck", "truck.pickup.side", "bus", "bus.doubledecker", "car", "car.side", "tent", "sailboat", "house.lodge", "mountain.2", ] }