mirror of
https://codeberg.org/comaps/comaps
synced 2026-01-21 10:43:51 +00:00
Signed-off-by: Yannik Bloscheck <git@yannikbloscheck.com> m Signed-off-by: Yannik Bloscheck <git@yannikbloscheck.com>
85 lines
2.2 KiB
Swift
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()
|
|
}
|
|
}
|
|
}
|