This commit is contained in:
Trey t
2023-06-15 23:44:34 -05:00
parent c2ea70305c
commit 544332c422
9 changed files with 2389 additions and 2170 deletions

View File

@@ -1,75 +1,43 @@
//
// CreateWorkout.swift
// CreateWorkoutView.swift
// Werkout_ios
//
// Created by Trey Tartt on 6/15/23.
//
import Foundation
import SwiftUI
struct CreateWorkoutView: View {
@State var exercises: [ExerciseExercise]?
@State var equipment: [Equipment]?
@State var muscles: [Muscle]?
@EnvironmentObject var bridgeModule: BridgeModule
@State var exercises = [ExerciseExercise]()
@State private var showAddExercise = false
var body: some View {
VStack {
Text("exercises count: \(exercises?.count ?? -1)")
Text("equipment count: \(equipment?.count ?? -1)")
Text("muscles count: \(muscles?.count ?? -1)")
Button("add", action: {
showAddExercise.toggle()
})
List() {
ForEach(exercises.indices, id: \.self) { i in
let obj = exercises[i]
Text(obj.name)
}
}
}
.onAppear{
parseMuscle()
parseEquipment()
parseExercises()
.sheet(isPresented: $showAddExercise) {
AddExerciseView(selectedWorkout: { exercise in
addNewExercise(exercise: exercise)
})
}
}
func parseExercises() {
if let filepath = Bundle.main.path(forResource: "Exercises", ofType: "json") {
do {
let data = try Data(NSData(contentsOfFile: filepath))
let workout = try JSONDecoder().decode([ExerciseExercise].self, from: data)
self.exercises = workout
} catch {
print(error)
fatalError()
}
} else {
fatalError()
}
func addNewExercise(exercise: ExerciseExercise) {
exercises.append(exercise)
}
}
struct CreateWorkoutView_Previews: PreviewProvider {
static var previews: some View {
CreateWorkoutView()
}
func parseEquipment() {
if let filepath = Bundle.main.path(forResource: "Equipment", ofType: "json") {
do {
let data = try Data(NSData(contentsOfFile: filepath))
let workout = try JSONDecoder().decode([Equipment].self, from: data)
self.equipment = workout
} catch {
print(error)
fatalError()
}
} else {
fatalError()
}
}
func parseMuscle() {
if let filepath = Bundle.main.path(forResource: "AllMuscles", ofType: "json") {
do {
let data = try Data(NSData(contentsOfFile: filepath))
let workout = try JSONDecoder().decode([Muscle].self, from: data)
self.muscles = workout
} catch {
print(error)
fatalError()
}
} else {
fatalError()
}
}
}