diff --git a/PadelClub/Data/Match.swift b/PadelClub/Data/Match.swift index 09775dd..389543a 100644 --- a/PadelClub/Data/Match.swift +++ b/PadelClub/Data/Match.swift @@ -832,8 +832,8 @@ defer { if teamPosition == team(.two)?.groupStagePositionAtStep(step) { reverseValue = -1 } - let endedSetsOne = teamScoreTeam.score?.components(separatedBy: ",").compactMap({ Int($0) }) ?? matchFormat.defaultWalkOutScore(teamScoreTeam.isWalkOut()) - let endedSetsTwo = teamScoreOtherTeam.score?.components(separatedBy: ",").compactMap({ Int($0) }) ?? matchFormat.defaultWalkOutScore(teamScoreOtherTeam.isWalkOut()) + let endedSetsOne = teamScoreTeam.score?.components(separatedBy: ",").compactMap({ $0.components(separatedBy: "-").first }).compactMap({ Int($0) }) ?? matchFormat.defaultWalkOutScore(teamScoreTeam.isWalkOut()) + let endedSetsTwo = teamScoreOtherTeam.score?.components(separatedBy: ",").compactMap({ $0.components(separatedBy: "-").first }).compactMap({ Int($0) }) ?? matchFormat.defaultWalkOutScore(teamScoreOtherTeam.isWalkOut()) var setDifference : Int = 0 let zip = zip(endedSetsOne, endedSetsTwo) if matchFormat.setsToWin == 1 { diff --git a/PadelClub/ViewModel/MatchDescriptor.swift b/PadelClub/ViewModel/MatchDescriptor.swift index dd88446..6bea89e 100644 --- a/PadelClub/ViewModel/MatchDescriptor.swift +++ b/PadelClub/ViewModel/MatchDescriptor.swift @@ -94,11 +94,11 @@ class MatchDescriptor: ObservableObject { } var teamOneScores: [String] { - setDescriptors.compactMap { $0.valueTeamOne }.map { "\($0)" } + setDescriptors.compactMap { $0.getValue(teamPosition: .one) } } var teamTwoScores: [String] { - setDescriptors.compactMap { $0.valueTeamTwo }.map { "\($0)" } + setDescriptors.compactMap { $0.getValue(teamPosition: .two) } } var scoreTeamOne: Int { setDescriptors.compactMap { $0.winner }.filter { $0 == .one }.count } diff --git a/PadelClub/ViewModel/SetDescriptor.swift b/PadelClub/ViewModel/SetDescriptor.swift index 6ef5bfe..eb04555 100644 --- a/PadelClub/ViewModel/SetDescriptor.swift +++ b/PadelClub/ViewModel/SetDescriptor.swift @@ -40,4 +40,23 @@ struct SetDescriptor: Identifiable, Equatable { var shouldTieBreak: Bool { setFormat.shouldTiebreak(scoreTeamOne: valueTeamOne ?? 0, scoreTeamTwo: valueTeamTwo ?? 0) } + + func getValue(teamPosition: TeamPosition) -> String? { + switch teamPosition { + case .one: + if let valueTeamOne { + if let tieBreakValueTeamOne { + return "\(valueTeamOne)-\(tieBreakValueTeamOne)" + } + } + case .two: + if let valueTeamTwo { + if let tieBreakValueTeamTwo { + return "\(valueTeamTwo)-\(tieBreakValueTeamTwo)" + } + } + } + + return nil + } }