add sheet to add exercises
This commit is contained in:
@@ -0,0 +1,62 @@
|
||||
//
|
||||
// ExerciseDetailsView.swift
|
||||
// WorkoutsPlus
|
||||
//
|
||||
// Created by Felix Förtsch on 10.08.24.
|
||||
//
|
||||
|
||||
import SwiftUI
|
||||
|
||||
struct ExerciseDetailsView: View {
|
||||
@Environment(\.dismiss) private var dismiss
|
||||
@Environment(\.modelContext) private var modelContext
|
||||
|
||||
@Binding var exercise: Exercise?
|
||||
var isEditing: Bool
|
||||
|
||||
var body: some View {
|
||||
NavigationView {
|
||||
Form {
|
||||
TextField("Exercise Name", text: Binding(
|
||||
get: { exercise?.name ?? "" },
|
||||
set: { newName in
|
||||
if exercise != nil {
|
||||
exercise?.name = newName
|
||||
}
|
||||
}
|
||||
))
|
||||
}
|
||||
.navigationTitle(isEditing ? "Edit Exercise" : "Add Exercise")
|
||||
.toolbar {
|
||||
ToolbarItem(placement: .navigationBarLeading) {
|
||||
Button("Cancel") {
|
||||
dismiss()
|
||||
}
|
||||
}
|
||||
ToolbarItem(placement: .navigationBarTrailing) {
|
||||
Button("Save") {
|
||||
saveItem()
|
||||
dismiss()
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
private func saveItem() {
|
||||
if modelContext.hasChanges {
|
||||
do {
|
||||
try modelContext.save()
|
||||
} catch {
|
||||
print("Failed to save item: \(error.localizedDescription)")
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
struct ExerciseDetailsView_Previews: PreviewProvider {
|
||||
static var previews: some View {
|
||||
let sampleItem = Exercise(name: "Sample Item")
|
||||
ExerciseDetailsView(exercise: .constant(sampleItem), isEditing: false)
|
||||
}
|
||||
}
|
||||
Reference in New Issue
Block a user