Remove CFB/NASCAR/PGA and streamline to 8 supported sports
- Remove College Football, NASCAR, and PGA from scraper and app - Clean all data files (stadiums, games, pipeline reports) - Update Sport.swift enum and all UI components - Add sportstime.py CLI tool for pipeline management - Add DATA_SCRAPING.md documentation - Add WNBA/MLS/NWSL implementation documentation - Scraper now supports: NBA, MLB, NHL, NFL, WNBA, MLS, NWSL, CBB Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>
This commit is contained in:
@@ -12,6 +12,9 @@ enum Sport: String, Codable, CaseIterable, Identifiable {
|
||||
case nhl = "NHL"
|
||||
case nfl = "NFL"
|
||||
case mls = "MLS"
|
||||
case wnba = "WNBA"
|
||||
case nwsl = "NWSL"
|
||||
case cbb = "CBB"
|
||||
|
||||
var id: String { rawValue }
|
||||
|
||||
@@ -22,6 +25,9 @@ enum Sport: String, Codable, CaseIterable, Identifiable {
|
||||
case .nhl: return "National Hockey League"
|
||||
case .nfl: return "National Football League"
|
||||
case .mls: return "Major League Soccer"
|
||||
case .wnba: return "Women's National Basketball Association"
|
||||
case .nwsl: return "National Women's Soccer League"
|
||||
case .cbb: return "College Basketball"
|
||||
}
|
||||
}
|
||||
|
||||
@@ -32,6 +38,9 @@ enum Sport: String, Codable, CaseIterable, Identifiable {
|
||||
case .nhl: return "hockey.puck.fill"
|
||||
case .nfl: return "football.fill"
|
||||
case .mls: return "soccerball"
|
||||
case .wnba: return "basketball.fill"
|
||||
case .nwsl: return "soccerball"
|
||||
case .cbb: return "basketball.fill"
|
||||
}
|
||||
}
|
||||
|
||||
@@ -42,6 +51,9 @@ enum Sport: String, Codable, CaseIterable, Identifiable {
|
||||
case .nhl: return .blue
|
||||
case .nfl: return .brown
|
||||
case .mls: return .green
|
||||
case .wnba: return .purple
|
||||
case .nwsl: return .teal
|
||||
case .cbb: return .mint
|
||||
}
|
||||
}
|
||||
|
||||
@@ -53,6 +65,9 @@ enum Sport: String, Codable, CaseIterable, Identifiable {
|
||||
case .nhl: return (10, 6) // October - June (wraps)
|
||||
case .nfl: return (9, 2) // September - February (wraps)
|
||||
case .mls: return (2, 12) // February - December
|
||||
case .wnba: return (5, 10) // May - October
|
||||
case .nwsl: return (3, 11) // March - November
|
||||
case .cbb: return (11, 4) // November - April (wraps, March Madness)
|
||||
}
|
||||
}
|
||||
|
||||
@@ -70,8 +85,19 @@ enum Sport: String, Codable, CaseIterable, Identifiable {
|
||||
}
|
||||
}
|
||||
|
||||
/// Currently supported sports for MVP
|
||||
/// Currently supported sports
|
||||
static var supported: [Sport] {
|
||||
[.mlb, .nba, .nhl]
|
||||
[.mlb, .nba, .nfl, .nhl, .mls, .wnba, .nwsl, .cbb]
|
||||
}
|
||||
}
|
||||
|
||||
// MARK: - Array Chunking
|
||||
|
||||
extension Array {
|
||||
/// Splits array into chunks of specified size
|
||||
func chunked(into size: Int) -> [[Element]] {
|
||||
stride(from: 0, to: count, by: size).map {
|
||||
Array(self[$0..<Swift.min($0 + size, count)])
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
@@ -25,7 +25,7 @@ enum PlanningMode: String, Codable, CaseIterable, Identifiable {
|
||||
|
||||
var description: String {
|
||||
switch self {
|
||||
case .dateRange: return "Find games within a date range"
|
||||
case .dateRange: return "Shows a curated sample of possible routes — use filters to find your ideal trip"
|
||||
case .gameFirst: return "Build trip around specific games"
|
||||
case .locations: return "Plan route between locations"
|
||||
}
|
||||
|
||||
@@ -126,6 +126,9 @@ enum Theme {
|
||||
static let nhlBlue = Color(hex: "003087")
|
||||
static let nflBrown = Color(hex: "8B5A2B")
|
||||
static let mlsGreen = Color(hex: "00A651")
|
||||
static let wnbaPurple = Color(hex: "FF6F20") // WNBA orange
|
||||
static let nwslTeal = Color(hex: "009688") // NWSL teal
|
||||
static let cbbMint = Color(hex: "3EB489") // College Basketball mint
|
||||
|
||||
// MARK: - Dark Mode Colors
|
||||
|
||||
|
||||
@@ -215,6 +215,9 @@ extension Sport {
|
||||
case .nhl: return Theme.nhlBlue
|
||||
case .nfl: return Theme.nflBrown
|
||||
case .mls: return Theme.mlsGreen
|
||||
case .wnba: return Theme.wnbaPurple
|
||||
case .nwsl: return Theme.nwslTeal
|
||||
case .cbb: return Theme.cbbMint
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user