You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
 
 
PadelClub/PadelClub/Views/Score/SetLabelView.swift

58 lines
1.6 KiB

//
// SetLabelView.swift
// PadelClub
//
// Created by Razmig Sarkissian on 02/04/2024.
//
import SwiftUI
import PadelClubData
struct SetLabelView: View {
@Binding var initialValueLeft: Int?
@Binding var initialValueRight: Int?
@State private var valueLeft: Int = 0
@State private var valueRight: Int = 0
var shouldDisplaySteppers: Bool = false
var isTieBreak: Bool = false
var body: some View {
HStack(spacing: 0) {
if shouldDisplaySteppers {
Stepper(value: $valueLeft, in: 0...Int.max) {
} onEditingChanged: { didChange in
initialValueLeft = valueLeft
}
.fixedSize()
.scaleEffect(0.7)
}
Spacer()
Text("\(valueLeft) / \(valueRight)")
.font(isTieBreak ? .headline : .largeTitle).monospacedDigit()
.scaledToFit()
.minimumScaleFactor(0.5)
.lineLimit(1)
Spacer()
if shouldDisplaySteppers {
Stepper(value: $valueRight, in: 0...Int.max) {
} onEditingChanged: { didChange in
initialValueRight = valueRight
}
.fixedSize()
.scaleEffect(0.7)
}
}
.onChange(of: initialValueLeft) {
valueLeft = initialValueLeft ?? 0
}
.onChange(of: initialValueRight) {
valueRight = initialValueRight ?? 0
}
.onAppear {
valueLeft = initialValueLeft ?? 0
valueRight = initialValueRight ?? 0
}
}
}