add ActiveWorkoutSession logic, refactor Home, add additional sample data, add isDebug

This commit is contained in:
Felix Förtsch
2024-09-14 17:01:20 +02:00
parent f45d6288dd
commit 0a400ff349
27 changed files with 710 additions and 189 deletions
+13 -7
View File
@@ -9,7 +9,7 @@ import SwiftUI
import SwiftData
@Model
final class Workout: Nameable {
final class Workout: Nameable, Hashable {
static var systemImage = "figure.run.square.stack"
var id = UUID()
@@ -50,6 +50,8 @@ final class Workout: Nameable {
exercise.position = index
}
}
func isSelected(workout: Workout) -> Bool { self.id == workout.id }
}
extension Workout {
@@ -116,14 +118,18 @@ extension Workout {
self.workoutItems = exercises
}
static let sampleData: Workout = {
var workout = Workout(name: "Recommended Routine")
for workoutItem in WorkoutItem.sampleData {
workout.add(workoutItem: workoutItem)
static let sampleData: [Workout] = {
var rr = Workout(name: "Recommended Routine")
for workoutItem in WorkoutItem.sampleDataRecommendedRoutine {
rr.add(workoutItem: workoutItem)
}
return workout
var rings = Workout(name: "Fully Body Rings")
for workoutItem in WorkoutItem.sampleDataRings {
rings.add(workoutItem: workoutItem)
}
return [rr, rings]
}()
}