1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
|
import SwiftUI
enum Season: String, Codable {
case spring
case summer
case autumn
case winter
var displayName: String {
switch self {
case .spring: return "Spring"
case .summer: return "Summer"
case .autumn: return "Autumn"
case .winter: return "Winter"
}
}
var description: String {
switch self {
case .spring: return "Day and night are approximately equal length"
case .summer: return "Longest day of the year"
case .autumn: return "Day and night are approximately equal length"
case .winter: return "Shortest day of the year"
}
}
var colorLight: Color {
switch self {
case .spring: return Color(red: 0.298, green: 0.686, blue: 0.314) // #4CAF50
case .summer: return Color(red: 1.0, green: 0.761, blue: 0.039) // #FFC107
case .autumn: return Color(red: 1.0, green: 0.596, blue: 0.0) // #FF9800
case .winter: return Color(red: 0.129, green: 0.588, blue: 0.953) // #2196F3
}
}
var assetName: String {
return "Season\(displayName)"
}
static func fromDate(_ date: Date) -> Season {
let month = Calendar.current.component(.month, from: date)
switch month {
case 3, 4, 5: return .spring
case 6, 7, 8: return .summer
case 9, 10, 11: return .autumn
default: return .winter
}
}
}
|