mirror of
https://github.com/tonytins/amtkstat.git
synced 2026-10-24 05:32:54 -04:00
49 lines
995 B
Swift
49 lines
995 B
Swift
import Foundation
|
|
import SwiftCrossUI
|
|
|
|
enum LateTrain {
|
|
case onTime
|
|
case early(minutes: Int)
|
|
case late(minutes: Int)
|
|
case unknown
|
|
|
|
var descrption: String {
|
|
switch self {
|
|
case .onTime:
|
|
return "On Time"
|
|
case .early(let minutes):
|
|
return "\(Self.formatted(minutes)) early"
|
|
case .late(let minutes):
|
|
return "\(Self.formatted(minutes)) late"
|
|
case .unknown:
|
|
return ""
|
|
}
|
|
}
|
|
|
|
var color: Color {
|
|
switch self {
|
|
case .onTime:
|
|
return .green
|
|
case .early:
|
|
return .blue
|
|
case .late:
|
|
return .red
|
|
case .unknown:
|
|
return .gray
|
|
}
|
|
}
|
|
|
|
static func formatted(_ minutes: Int) -> String {
|
|
let hours = minutes / 60
|
|
let remainder = minutes % 60
|
|
|
|
let minutesPart = "\(minutes) \(minutes.pluralized(singular: "min", plural: "mins"))"
|
|
let hoursPart = "\(hours) \(hours.pluralized(singular: "hr", plural: "hrs"))"
|
|
|
|
guard hours > 0 else {
|
|
return minutesPart
|
|
}
|
|
|
|
return hoursPart
|
|
}
|
|
}
|