import SwiftUI extension MapMode { /// The description text var description: String { switch self { case .default: return String(localized: "mapmode_default") case .hiking: return String(localized: "mapmode_hiking") case .cycling: return String(localized: "mapmode_cycling") case .driving: return String(localized: "mapmode_driving") case .publicTransport: return String(localized: "mapmode_publictransport") @unknown default: fatalError() } } /// The color var color: Color { switch self { case .default: return .ModeColors.default case .hiking: return .ModeColors.hiking case .cycling: return .ModeColors.cycling case .driving: return .ModeColors.driving case .publicTransport: return .ModeColors.publicTransport @unknown default: fatalError() } } /// The color var borderColor: Color { switch self { case .default: return .ModeColors.defaultBorder case .hiking: return .ModeColors.hikingBorder case .cycling: return .ModeColors.cyclingBorder case .driving: return .ModeColors.drivingBorder case .publicTransport: return .ModeColors.publicTransportBorder @unknown default: fatalError() } } /// The image var image: Image { return Image(imageName) } /// The image name var imageName: String { switch self { case .default: return "map" case .hiking: return "hiking" case .cycling: return "cycling" case .driving: return "driving" case .publicTransport: return "publictransport" @unknown default: fatalError() } } }