Meshtastic-Apple/Meshtastic/Enums/RouteEnums.swift
Blake McAnally 4d547e48db This change fixes several lint errors throughout the project, and moves the SwiftLint build phase to before compilation.
After this change, a developer can now clone the project and run without the build failing due to lint errors! 😃

* I ran `swiftlint --fix` to resolve many auto-correctable issues (mostly whitespace)
* Excluded the `Meshtastic/Protobufs` directory from lint, since that code is automatically generated.
* Converted some single letter method parameters to lowercase.
* Converted several instances `force_cast` to instead use `guard` or `if let` to unwrap optional values. During this change, some of the SwiftUI views became "too complex to be solved in a reasonable time", so I broke up the views into distinct sub-expressions.

I was able to build and run the app on an iOS simulator.
2024-05-31 21:48:50 -05:00

53 lines
1.3 KiB
Swift

//
// RouteEnums.swift
// Meshtastic
//
// Copyright(c) Garth Vander Houwen 4/14/24.
//
import Foundation
import SwiftUI
enum ActivityType: Int, CaseIterable, Identifiable {
case walking = 0
case hiking = 1
case biking = 2
case driving = 3
case overlanding = 4
case skiing = 5
var id: Int { self.rawValue }
var description: String {
switch self {
case .walking:
return "routes.activitytype.walking".localized
case .hiking:
return "routes.activitytype.hiking".localized
case .biking:
return "routes.activitytype.biking".localized
case .driving:
return "routes.activitytype.driving".localized
case .overlanding:
return "routes.activitytype.overlanding".localized
case .skiing:
return "routes.activitytype.skiing".localized
}
}
var fileNameString: String {
switch self {
case .walking:
return "routes.activitytype.filename.walking".localized
case .hiking:
return "routes.activitytype.filename.hiking".localized
case .biking:
return "routes.activitytype.filename.biking".localized
case .driving:
return "routes.activitytype.filename.driving".localized
case .overlanding:
return "routes.activitytype.filename.overlanding".localized
case .skiing:
return "routes.activitytype.filename.skiing".localized
}
}
}