Import/export fixes, icon, and graphing

This commit is contained in:
2025-09-13 00:42:15 -06:00
parent ce220c7220
commit a3e60ce995
11 changed files with 388 additions and 230 deletions

View File

@@ -76,10 +76,10 @@ struct AddAttemptView: View {
.onAppear {
setupInitialValues()
}
.onChange(of: selectedClimbType) { _ in
.onChange(of: selectedClimbType) {
updateDifficultySystem()
}
.onChange(of: selectedDifficultySystem) { _ in
.onChange(of: selectedDifficultySystem) {
resetGradeIfNeeded()
}
}
@@ -182,8 +182,12 @@ struct AddAttemptView: View {
}
if selectedDifficultySystem == .custom {
TextField("Grade (Required)", text: $newProblemGrade)
TextField("Grade (Required - numbers only)", text: $newProblemGrade)
.keyboardType(.numberPad)
.onChange(of: newProblemGrade) {
// Filter out non-numeric characters
newProblemGrade = newProblemGrade.filter { $0.isNumber }
}
} else {
VStack(alignment: .leading, spacing: 8) {
Text("Grade (Required)")
@@ -526,7 +530,7 @@ struct EditAttemptView: View {
}
private func updateAttempt() {
guard let problem = selectedProblem else { return }
guard selectedProblem != nil else { return }
let updatedAttempt = attempt.updated(
result: selectedResult,