Files
comaps/iphone/Maps/Model/MapMode.swift
Yannik Bloscheck 94e20d437d WIP: Modes
Signed-off-by: Yannik Bloscheck <git@yannikbloscheck.com>

m

Signed-off-by: Yannik Bloscheck <git@yannikbloscheck.com>
2026-01-20 18:01:07 +01:00

85 lines
2.2 KiB
Swift

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()
}
}
}