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