// // Game+nextGameLabel.swift // IceGlass // // Copyright 2026 Rouslan Zenetl. All Rights Reserved. // import Foundation extension Scoreboard.Game { /// Friendly "next game" label used by both the macOS menu and the iOS /// playoff series row: "Today 9:30 PM", "Tomorrow 7:00 PM", "Wed 7:00 PM (PRE)", /// or just "LIVE" when the game is in progress. var nextGameLabel: String { let state = parsedGameState if state.isLive { return state.shortTag } let dayLabel: String switch gameDate { case Date.todayET: dayLabel = "Today" case Date.tomorrowET: dayLabel = "Tomorrow" case Date.yesterdayET: dayLabel = "Yesterday" default: let formatter = DateFormatter() formatter.dateFormat = "yyyy-MM-dd" formatter.timeZone = TimeZone(identifier: "America/New_York") if let date = formatter.date(from: gameDate) { dayLabel = date.formatDateET(format: "EEE") } else { dayLabel = "" } } let time = startTimeET.trimmingCharacters(in: .whitespaces) let base = "\(dayLabel) \(time)" return state == .pre ? "\(base) (PRE)" : base } }