// // GameState.swift // IceGlass // // Copyright 2026 Rouslan Zenetl. All Rights Reserved. // import Foundation enum GameState: String, Codable { case future = "FUT" // More than 30 minutes prior to game start case pre = "PRE" // Pre-game, <30 minutes until puck drops case live = "LIVE" // Game has started case crit = "CRIT" // Last 5 minutes of regulation, OT or SO case over = "OVER" // Soft final case final_ = "FINAL" // Hard final case official = "OFF" // Official var isLive: Bool { self == .live || self == .crit } var isOver: Bool { self == .over || self == .final_ || self == .official } var isFuture: Bool { self == .future || self == .pre } var pollingInterval: PollingInterval { switch self { case .future: return .gameDay case .pre: return .preGame case .live, .crit: return .liveGame case .over, .final_: return .everyMinute case .official: return .idle } } }