enhance score input to handle first team to input score switching

paca_championship
Raz 1 year ago
parent c016e5e0c8
commit 566c5c1eac
  1. 19
      PadelClub/ViewModel/MatchDescriptor.swift
  2. 4
      PadelClub/ViewModel/SetDescriptor.swift
  3. 68
      PadelClub/Views/Score/EditScoreView.swift
  4. 183
      PadelClub/Views/Score/SetInputView.swift

@ -62,25 +62,6 @@ class MatchDescriptor: ObservableObject {
return true return true
} }
func getColor() -> Color {
guard let setDescriptor = setDescriptors.last else {
return .master
}
if setDescriptor.valueTeamOne == nil {
return colorTeamOne
} else if setDescriptor.valueTeamTwo == nil {
return colorTeamTwo
} else if setDescriptor.tieBreakValueTeamOne == nil, setDescriptor.shouldTieBreak {
return colorTeamOne
} else if setDescriptor.tieBreakValueTeamTwo == nil, setDescriptor.shouldTieBreak {
return colorTeamTwo
}
return colorTeamTwo
}
var showSetInputView: Bool { var showSetInputView: Bool {
return setDescriptors.anySatisfy({ $0.showSetInputView }) return setDescriptors.anySatisfy({ $0.showSetInputView })
} }

@ -17,6 +17,10 @@ struct SetDescriptor: Identifiable, Equatable {
var showSetInputView: Bool = true var showSetInputView: Bool = true
var showTieBreakInputView: Bool = false var showTieBreakInputView: Bool = false
var isTeamOneSet: Bool {
return valueTeamOne != nil || tieBreakValueTeamOne != nil
}
var hasEnded: Bool { var hasEnded: Bool {
if let valueTeamTwo, let valueTeamOne { if let valueTeamTwo, let valueTeamOne {
return setFormat.hasEnded(teamOne: valueTeamOne, teamTwo: valueTeamTwo) return setFormat.hasEnded(teamOne: valueTeamOne, teamTwo: valueTeamTwo)

@ -16,6 +16,7 @@ struct EditScoreView: View {
@State private var presentMatchFormatSelection: Bool = false @State private var presentMatchFormatSelection: Bool = false
@Binding var confirmScoreEdition: Bool @Binding var confirmScoreEdition: Bool
@Environment(\.dismiss) private var dismiss @Environment(\.dismiss) private var dismiss
@State private var firstTeamIsFirstScoreToEnter: Bool = true
init(match: Match, confirmScoreEdition: Binding<Bool>) { init(match: Match, confirmScoreEdition: Binding<Bool>) {
let matchDescriptor = MatchDescriptor(match: match) let matchDescriptor = MatchDescriptor(match: match)
@ -23,6 +24,22 @@ struct EditScoreView: View {
_confirmScoreEdition = confirmScoreEdition _confirmScoreEdition = confirmScoreEdition
} }
var defaultTeamIsActive: Bool {
if firstTeamIsFirstScoreToEnter {
matchDescriptor.teamOneSetupIsActive
} else {
matchDescriptor.teamTwoSetupIsActive
}
}
var otherTeamIsActive: Bool {
if firstTeamIsFirstScoreToEnter {
matchDescriptor.teamTwoSetupIsActive
} else {
matchDescriptor.teamOneSetupIsActive
}
}
func walkout(_ team: TeamPosition) { func walkout(_ team: TeamPosition) {
self.matchDescriptor.match?.setWalkOut(team) self.matchDescriptor.match?.setWalkOut(team)
save() save()
@ -45,20 +62,48 @@ struct EditScoreView: View {
return winner ? tournament.tournamentLevel.points(for: seedInterval.first - 1, count: teamsCount) : tournament.tournamentLevel.points(for: seedInterval.last - 1, count: teamsCount) return winner ? tournament.tournamentLevel.points(for: seedInterval.first - 1, count: teamsCount) : tournament.tournamentLevel.points(for: seedInterval.last - 1, count: teamsCount)
} }
func getColor(setDescriptor: SetDescriptor) -> Color {
switch (firstTeamIsFirstScoreToEnter, setDescriptor.isTeamOneSet == false) {
case (true, true), (false, false):
return matchDescriptor.colorTeamOne
default:
return matchDescriptor.colorTeamTwo
}
}
func teamScorePositionLabel(teamPosition: TeamPosition) -> String {
switch (firstTeamIsFirstScoreToEnter, teamPosition == .one) {
case (true, true), (false, false):
return "score de gauche"
default:
return "score de droite"
}
}
var body: some View { var body: some View {
Form { Form {
Section { Section {
VStack(alignment: .leading) { HStack {
Text(matchDescriptor.teamLabelOne) VStack(alignment: .leading) {
if matchDescriptor.hasEnded, let pointRange = pointRange(winner: matchDescriptor.winner == .one) { Text(teamScorePositionLabel(teamPosition: .one)).font(.caption)
Text(pointRange.formatted(.number.sign(strategy: .always())) + " pts") Text(matchDescriptor.teamLabelOne)
.bold() if matchDescriptor.hasEnded, let pointRange = pointRange(winner: matchDescriptor.winner == .one) {
Text(pointRange.formatted(.number.sign(strategy: .always())) + " pts")
.bold()
}
} }
Spacer()
}
.listRowView(isActive: defaultTeamIsActive, color: matchDescriptor.colorTeamOne, hideColorVariation: false)
.contentShape(Rectangle())
.frame(maxWidth: .infinity)
.onTapGesture {
firstTeamIsFirstScoreToEnter.toggle()
} }
.listRowView(isActive: matchDescriptor.teamOneSetupIsActive, color: matchDescriptor.colorTeamOne, hideColorVariation: false)
HStack { HStack {
Spacer() Spacer()
VStack(alignment: .trailing) { VStack(alignment: .trailing) {
Text(teamScorePositionLabel(teamPosition: .two)).font(.caption)
Text(matchDescriptor.teamLabelTwo).multilineTextAlignment(.trailing) Text(matchDescriptor.teamLabelTwo).multilineTextAlignment(.trailing)
if matchDescriptor.hasEnded, let pointRange = pointRange(winner: matchDescriptor.winner == .two) { if matchDescriptor.hasEnded, let pointRange = pointRange(winner: matchDescriptor.winner == .two) {
Text(pointRange.formatted(.number.sign(strategy: .always())) + " pts") Text(pointRange.formatted(.number.sign(strategy: .always())) + " pts")
@ -66,7 +111,12 @@ struct EditScoreView: View {
} }
} }
} }
.listRowView(isActive: matchDescriptor.teamTwoSetupIsActive, color: matchDescriptor.colorTeamTwo, hideColorVariation: false, alignment: .trailing) .listRowView(isActive: otherTeamIsActive, color: matchDescriptor.colorTeamTwo, hideColorVariation: false, alignment: .trailing)
.contentShape(Rectangle())
.frame(maxWidth: .infinity)
.onTapGesture {
firstTeamIsFirstScoreToEnter.toggle()
}
} header: { } header: {
if let roundTitle = matchDescriptor.match?.roundAndMatchTitle() { if let roundTitle = matchDescriptor.match?.roundAndMatchTitle() {
Text(roundTitle) Text(roundTitle)
@ -96,7 +146,7 @@ struct EditScoreView: View {
} }
} }
ForEach($matchDescriptor.setDescriptors) { $setDescriptor in ForEach($matchDescriptor.setDescriptors) { $setDescriptor in
SetInputView(setDescriptor: $setDescriptor) SetInputView(setDescriptor: $setDescriptor, firstTeamIsFirstScoreToEnter: firstTeamIsFirstScoreToEnter)
.onChange(of: setDescriptor.hasEnded) { .onChange(of: setDescriptor.hasEnded) {
if setDescriptor.hasEnded { if setDescriptor.hasEnded {
if matchDescriptor.hasEnded == false { if matchDescriptor.hasEnded == false {
@ -107,7 +157,7 @@ struct EditScoreView: View {
matchDescriptor.setDescriptors = Array(matchDescriptor.setDescriptors[0...index]) matchDescriptor.setDescriptors = Array(matchDescriptor.setDescriptors[0...index])
} }
} }
.tint(matchDescriptor.getColor()) .tint(getColor(setDescriptor: setDescriptor))
} }
if matchDescriptor.hasEnded { if matchDescriptor.hasEnded {

@ -11,6 +11,7 @@ struct SetInputView: View {
@Binding var setDescriptor: SetDescriptor @Binding var setDescriptor: SetDescriptor
@State private var showSetInputView: Bool = true @State private var showSetInputView: Bool = true
@State private var showTieBreakInputView: Bool = false @State private var showTieBreakInputView: Bool = false
var firstTeamIsFirstScoreToEnter: Bool = true
var setFormat: SetFormat { setDescriptor.setFormat } var setFormat: SetFormat { setDescriptor.setFormat }
@ -22,56 +23,138 @@ struct SetInputView: View {
setFormat == .superTieBreak || setFormat == .megaTieBreak setFormat == .superTieBreak || setFormat == .megaTieBreak
} }
var defaultTeamValue: Int? {
if firstTeamIsFirstScoreToEnter {
return setDescriptor.valueTeamOne
} else {
return setDescriptor.valueTeamTwo
}
}
var defaultTeamValueBinding: Binding<Int?> {
Binding {
defaultTeamValue
} set: { value in
if firstTeamIsFirstScoreToEnter {
setDescriptor.valueTeamOne = value
} else {
setDescriptor.valueTeamTwo = value
}
}
}
var otherTeamValue: Int? {
if firstTeamIsFirstScoreToEnter {
return setDescriptor.valueTeamTwo
} else {
return setDescriptor.valueTeamOne
}
}
var otherTeamValueBinding: Binding<Int?> {
Binding {
otherTeamValue
} set: { value in
if firstTeamIsFirstScoreToEnter {
setDescriptor.valueTeamTwo = value
} else {
setDescriptor.valueTeamOne = value
}
}
}
var defaultTeamTieBreakValue: Int? {
if firstTeamIsFirstScoreToEnter {
return setDescriptor.tieBreakValueTeamOne
} else {
return setDescriptor.tieBreakValueTeamTwo
}
}
var defaultTeamTieBreakValueBinding: Binding<Int?> {
Binding {
defaultTeamTieBreakValue
} set: { value in
if firstTeamIsFirstScoreToEnter {
setDescriptor.tieBreakValueTeamOne = value
} else {
setDescriptor.tieBreakValueTeamTwo = value
}
}
}
var otherTeamTieBreakValue: Int? {
if firstTeamIsFirstScoreToEnter {
return setDescriptor.tieBreakValueTeamTwo
} else {
return setDescriptor.tieBreakValueTeamOne
}
}
var otherTeamTieBreakValueBinding: Binding<Int?> {
Binding {
otherTeamTieBreakValue
} set: { value in
if firstTeamIsFirstScoreToEnter {
setDescriptor.tieBreakValueTeamTwo = value
} else {
setDescriptor.tieBreakValueTeamOne = value
}
}
}
private var currentValue: Binding<Int?> { private var currentValue: Binding<Int?> {
Binding { Binding {
if setDescriptor.valueTeamOne != nil { if defaultTeamValue != nil {
return setDescriptor.valueTeamTwo return otherTeamValue
} else { } else {
return setDescriptor.valueTeamOne return defaultTeamValue
} }
} set: { newValue, _ in } set: { newValue, _ in
if setDescriptor.valueTeamOne != nil { if defaultTeamValue != nil {
setDescriptor.valueTeamTwo = newValue otherTeamValueBinding.wrappedValue = newValue
} else { } else {
setDescriptor.valueTeamOne = newValue defaultTeamValueBinding.wrappedValue = newValue
} }
} }
} }
private var currentTiebreakValue: Binding<Int?> { private var currentTiebreakValue: Binding<Int?> {
Binding { Binding {
if setDescriptor.tieBreakValueTeamOne != nil { if defaultTeamTieBreakValue != nil {
return setDescriptor.tieBreakValueTeamTwo return otherTeamTieBreakValue
} else { } else {
return setDescriptor.tieBreakValueTeamOne return defaultTeamTieBreakValue
} }
} set: { newValue, _ in } set: { newValue, _ in
if let tieBreakValueTeamOne = setDescriptor.tieBreakValueTeamOne, let tieBreakValueTeamTwo = setDescriptor.tieBreakValueTeamTwo { if let tieBreakValueTeamOne = defaultTeamTieBreakValue, let tieBreakValueTeamTwo = otherTeamTieBreakValue {
if tieBreakValueTeamOne < tieBreakValueTeamTwo && tieBreakValueTeamTwo > 6 { if tieBreakValueTeamOne < tieBreakValueTeamTwo && tieBreakValueTeamTwo > 6 {
setDescriptor.tieBreakValueTeamOne = newValue defaultTeamTieBreakValueBinding.wrappedValue = newValue
} }
else if tieBreakValueTeamOne > tieBreakValueTeamTwo && tieBreakValueTeamOne > 6 { else if tieBreakValueTeamOne > tieBreakValueTeamTwo && tieBreakValueTeamOne > 6 {
setDescriptor.tieBreakValueTeamTwo = newValue otherTeamTieBreakValueBinding.wrappedValue = newValue
} }
} }
else if setDescriptor.tieBreakValueTeamOne != nil { else if defaultTeamTieBreakValue != nil {
setDescriptor.tieBreakValueTeamTwo = newValue otherTeamTieBreakValueBinding.wrappedValue = newValue
} else { } else {
setDescriptor.tieBreakValueTeamOne = newValue defaultTeamTieBreakValueBinding.wrappedValue = newValue
} }
} }
} }
private var disableValues: [Int] { private var disableValues: [Int] {
if let valueTeamOne = setDescriptor.valueTeamOne { if let valueTeamOne = defaultTeamValue {
return setFormat.disableValuesForTeamTwo(with: valueTeamOne) return setFormat.disableValuesForTeamTwo(with: valueTeamOne)
} }
return [] return []
} }
private var disableTieBreakValues: [Int] { private var disableTieBreakValues: [Int] {
if let tieBreakValueTeamOne = setDescriptor.tieBreakValueTeamOne { if let tieBreakValueTeamOne = defaultTeamTieBreakValue {
if tieBreakValueTeamOne == 7 { if tieBreakValueTeamOne == 7 {
return [7,6] return [7,6]
} }
@ -90,7 +173,7 @@ struct SetInputView: View {
} }
func possibleValues() -> [Int] { func possibleValues() -> [Int] {
if let valueTeamOne = setDescriptor.valueTeamOne { if let valueTeamOne = defaultTeamValue {
if valueTeamOne == 7 && setFormat == .six { if valueTeamOne == 7 && setFormat == .six {
return [6,5] return [6,5]
} }
@ -102,7 +185,7 @@ struct SetInputView: View {
} }
func tieBreakPossibleValues() -> [Int] { func tieBreakPossibleValues() -> [Int] {
if let tieBreakValueTeamOne = setDescriptor.tieBreakValueTeamOne, let tieBreakValueTeamTwo = setDescriptor.tieBreakValueTeamTwo { if let tieBreakValueTeamOne = defaultTeamTieBreakValue, let tieBreakValueTeamTwo = otherTeamTieBreakValue {
if tieBreakValueTeamOne == 6 && tieBreakValueTeamTwo == 8 { if tieBreakValueTeamOne == 6 && tieBreakValueTeamTwo == 8 {
return [] return []
} }
@ -114,7 +197,7 @@ struct SetInputView: View {
} }
return Array(((max(tieBreakValueTeamOne, tieBreakValueTeamTwo)+2)..<max(tieBreakValueTeamOne, tieBreakValueTeamTwo)+8)).reversed() return Array(((max(tieBreakValueTeamOne, tieBreakValueTeamTwo)+2)..<max(tieBreakValueTeamOne, tieBreakValueTeamTwo)+8)).reversed()
} }
if setDescriptor.tieBreakValueTeamOne != nil { if defaultTeamTieBreakValue != nil {
return [9, 5, 4, 3, 2, 1, 0] return [9, 5, 4, 3, 2, 1, 0]
} }
return SetFormat.six.possibleValues return SetFormat.six.possibleValues
@ -126,14 +209,14 @@ struct SetInputView: View {
PointSelectionView(valueSelected: currentValue, values: possibleValues(), possibleValues: setFormat.possibleValues, disableValues: disableValues, deleteAction: deleteLastValue) PointSelectionView(valueSelected: currentValue, values: possibleValues(), possibleValues: setFormat.possibleValues, disableValues: disableValues, deleteAction: deleteLastValue)
.listRowInsets(EdgeInsets(top: -8, leading: -20, bottom: 0, trailing: 0)) .listRowInsets(EdgeInsets(top: -8, leading: -20, bottom: 0, trailing: 0))
} label: { } label: {
SetLabelView(initialValueLeft: $setDescriptor.valueTeamOne, initialValueRight: $setDescriptor.valueTeamTwo, shouldDisplaySteppers: isMainViewTieBreakView) SetLabelView(initialValueLeft: defaultTeamValueBinding, initialValueRight: otherTeamValueBinding, shouldDisplaySteppers: isMainViewTieBreakView)
} }
if showTieBreakView { if showTieBreakView {
DisclosureGroup(isExpanded: $showTieBreakInputView) { DisclosureGroup(isExpanded: $showTieBreakInputView) {
PointSelectionView(valueSelected: currentTiebreakValue, values: tieBreakPossibleValues(), possibleValues: SetFormat.six.possibleValues, disableValues: disableTieBreakValues, deleteAction: deleteLastTiebreakValue) PointSelectionView(valueSelected: currentTiebreakValue, values: tieBreakPossibleValues(), possibleValues: SetFormat.six.possibleValues, disableValues: disableTieBreakValues, deleteAction: deleteLastTiebreakValue)
.listRowInsets(EdgeInsets(top: -8, leading: -20, bottom: 0, trailing: 0)) .listRowInsets(EdgeInsets(top: -8, leading: -20, bottom: 0, trailing: 0))
} label: { } label: {
SetLabelView(initialValueLeft: $setDescriptor.tieBreakValueTeamOne, initialValueRight: $setDescriptor.tieBreakValueTeamTwo, shouldDisplaySteppers: showTieBreakInputView, isTieBreak: true) SetLabelView(initialValueLeft: defaultTeamTieBreakValueBinding, initialValueRight: otherTeamTieBreakValueBinding, shouldDisplaySteppers: showTieBreakInputView, isTieBreak: true)
} }
} }
} }
@ -143,71 +226,71 @@ struct SetInputView: View {
.onChange(of: showTieBreakInputView) { .onChange(of: showTieBreakInputView) {
setDescriptor.showTieBreakInputView = showTieBreakInputView setDescriptor.showTieBreakInputView = showTieBreakInputView
} }
.onChange(of: setDescriptor.valueTeamOne) { .onChange(of: defaultTeamValue) {
if let newValue = setDescriptor.valueTeamOne { if let newValue = defaultTeamValue {
if newValue == setFormat.scoreToWin - 1 && setFormat.tieBreak == 8 { if newValue == setFormat.scoreToWin - 1 && setFormat.tieBreak == 8 {
setDescriptor.valueTeamTwo = setFormat.scoreToWin otherTeamValueBinding.wrappedValue = setFormat.scoreToWin
} else if newValue == setFormat.scoreToWin - 2 && setFormat.tieBreak == 8 { } else if newValue == setFormat.scoreToWin - 2 && setFormat.tieBreak == 8 {
setDescriptor.valueTeamTwo = setFormat.scoreToWin otherTeamValueBinding.wrappedValue = setFormat.scoreToWin
} else if newValue == setFormat.scoreToWin - 1 { } else if newValue == setFormat.scoreToWin - 1 {
setDescriptor.valueTeamTwo = setFormat.scoreToWin + 1 otherTeamValueBinding.wrappedValue = setFormat.scoreToWin + 1
} else if newValue <= setFormat.scoreToWin - 2 { } else if newValue <= setFormat.scoreToWin - 2 {
setDescriptor.valueTeamTwo = setFormat.scoreToWin otherTeamValueBinding.wrappedValue = setFormat.scoreToWin
} else if newValue > 10 && setFormat == .superTieBreak { } else if newValue > 10 && setFormat == .superTieBreak {
setDescriptor.valueTeamTwo = newValue - 2 otherTeamValueBinding.wrappedValue = newValue - 2
} else if newValue > 15 && setFormat == .megaTieBreak { } else if newValue > 15 && setFormat == .megaTieBreak {
setDescriptor.valueTeamTwo = newValue - 2 otherTeamValueBinding.wrappedValue = newValue - 2
} }
} }
} }
.onChange(of: setDescriptor.valueTeamTwo) { .onChange(of: otherTeamValue) {
if setDescriptor.valueTeamOne != nil && setDescriptor.valueTeamTwo != nil { if defaultTeamValue != nil && otherTeamValue != nil {
showSetInputView = false showSetInputView = false
} }
} }
.onChange(of: setDescriptor.tieBreakValueTeamOne) { .onChange(of: defaultTeamTieBreakValue) {
if let newValue = setDescriptor.tieBreakValueTeamOne, setDescriptor.tieBreakValueTeamTwo == nil { if let newValue = defaultTeamTieBreakValue, otherTeamTieBreakValue == nil {
if newValue > 7 { if newValue > 7 {
setDescriptor.tieBreakValueTeamTwo = newValue - 2 otherTeamTieBreakValueBinding.wrappedValue = newValue - 2
} }
if newValue == 6 { if newValue == 6 {
setDescriptor.tieBreakValueTeamTwo = newValue + 2 otherTeamTieBreakValueBinding.wrappedValue = newValue + 2
} }
if newValue <= 5 { if newValue <= 5 {
setDescriptor.tieBreakValueTeamTwo = 7 otherTeamTieBreakValueBinding.wrappedValue = 7
} }
} }
else if let newValue = setDescriptor.tieBreakValueTeamOne, let tieBreakValueTeamTwo = setDescriptor.tieBreakValueTeamTwo { else if let newValue = defaultTeamTieBreakValue, let tieBreakValueTeamTwo = otherTeamTieBreakValue {
if newValue > 6 && tieBreakValueTeamTwo < newValue { if newValue > 6 && tieBreakValueTeamTwo < newValue {
setDescriptor.tieBreakValueTeamTwo = newValue - 2 otherTeamTieBreakValueBinding.wrappedValue = newValue - 2
} }
if newValue > 6 && tieBreakValueTeamTwo > newValue { if newValue > 6 && tieBreakValueTeamTwo > newValue {
setDescriptor.tieBreakValueTeamTwo = newValue + 2 otherTeamTieBreakValueBinding.wrappedValue = newValue + 2
} }
if newValue == 6 { if newValue == 6 {
setDescriptor.tieBreakValueTeamTwo = newValue + 2 otherTeamTieBreakValueBinding.wrappedValue = newValue + 2
} }
if newValue <= 5 { if newValue <= 5 {
setDescriptor.tieBreakValueTeamTwo = 7 otherTeamTieBreakValueBinding.wrappedValue = 7
showTieBreakInputView = false showTieBreakInputView = false
} }
} }
} }
.onChange(of: setDescriptor.tieBreakValueTeamTwo) { .onChange(of: otherTeamTieBreakValue) {
if let tieBreakValueTeamOne = setDescriptor.tieBreakValueTeamOne, tieBreakValueTeamOne <= 5 { if let tieBreakValueTeamOne = defaultTeamTieBreakValue, tieBreakValueTeamOne <= 5 {
showTieBreakInputView = false showTieBreakInputView = false
} else { } else {
if let tieBreakValueTeamTwo = setDescriptor.tieBreakValueTeamTwo { if let tieBreakValueTeamTwo = otherTeamTieBreakValue {
if tieBreakValueTeamTwo > 6 && tieBreakValueTeamTwo > setDescriptor.tieBreakValueTeamOne ?? 0 { if tieBreakValueTeamTwo > 6 && tieBreakValueTeamTwo > defaultTeamTieBreakValue ?? 0 {
setDescriptor.tieBreakValueTeamOne = tieBreakValueTeamTwo - 2 defaultTeamTieBreakValueBinding.wrappedValue = tieBreakValueTeamTwo - 2
} }
if tieBreakValueTeamTwo > 4 && tieBreakValueTeamTwo < setDescriptor.tieBreakValueTeamOne ?? 0 { if tieBreakValueTeamTwo > 4 && tieBreakValueTeamTwo < defaultTeamTieBreakValue ?? 0 {
setDescriptor.tieBreakValueTeamOne = tieBreakValueTeamTwo + 2 defaultTeamTieBreakValueBinding.wrappedValue = tieBreakValueTeamTwo + 2
} }
} }
if let tieBreakValueTeamTwo = setDescriptor.tieBreakValueTeamTwo, let tieBreakValueTeamOne = setDescriptor.tieBreakValueTeamOne { if let tieBreakValueTeamTwo = otherTeamTieBreakValue, let tieBreakValueTeamOne = defaultTeamTieBreakValue {
if tieBreakValueTeamTwo < 6 && tieBreakValueTeamOne == 7 { if tieBreakValueTeamTwo < 6 && tieBreakValueTeamOne == 7 {
showTieBreakInputView = false showTieBreakInputView = false
} }

Loading…
Cancel
Save