import SwiftUI

struct GamesHistoryRow: View {
    let visit: StadiumVisit
    let stadium: Stadium?

    var body: some View {
        HStack(spacing: 12) {
            // Sport icon
            if let stadium {
                Image(systemName: sportIcon(for: stadium.sport))
                    .font(.title3)
                    .foregroundStyle(stadium.sport.themeColor)
                    .frame(width: 32)
            }

            // Visit info
            VStack(alignment: .leading, spacing: 4) {
                // Date
                Text(visit.visitDate.formatted(date: .abbreviated, time: .omitted))
                    .font(.subheadline.bold())

                // Teams (if game)
                if let matchup = visit.matchupDescription {
                    Text(matchup)
                        .font(.caption)
                        .foregroundStyle(.secondary)
                } else {
                    Text(visit.stadiumNameAtVisit)
                        .font(.caption)
                        .foregroundStyle(.secondary)
                }
            }

            Spacer()

            // Chevron
            Image(systemName: "chevron.right")
                .font(.caption)
                .foregroundStyle(.tertiary)
        }
        .padding()
        .background(Color(.systemBackground))
        .clipShape(RoundedRectangle(cornerRadius: 10))
    }

    private func sportIcon(for sport: Sport) -> String {
        switch sport {
        case .mlb: return "baseball"
        case .nba: return "basketball"
        case .nhl: return "hockey.puck"
        case .nfl: return "football"
        case .mls: return "soccerball"
        @unknown default: return "sportscourt"
        }
    }
}

#Preview {
    VStack {
        Text("GamesHistoryRow Preview")
    }
    .padding()
    .background(Color(.systemGroupedBackground))
}
