introduce WorkoutItem, refactor ExerciseTemplate to Exercise
This commit is contained in:
@@ -2,48 +2,33 @@
|
||||
// Exercise.swift
|
||||
// WorkoutsPlus
|
||||
//
|
||||
// Created by Felix Förtsch on 10.08.24.
|
||||
// Created by Felix Förtsch on 25.08.24.
|
||||
//
|
||||
|
||||
import Foundation
|
||||
import SwiftData
|
||||
|
||||
@Model
|
||||
final class Exercise: Identifiable {
|
||||
var id = UUID()
|
||||
var name: String
|
||||
final class Exercise {
|
||||
static var systemImage = "figure.run"
|
||||
@Attribute(.unique) var name: String
|
||||
var metric: String = "reps"
|
||||
// var exerciseDescription: ExerciseDescription?
|
||||
|
||||
var workout: Workout?
|
||||
var position: Int = 0
|
||||
var timestamp: Date = Date.now
|
||||
|
||||
var exerciseTemplate: ExerciseTemplate? {
|
||||
didSet {
|
||||
self.name = exerciseTemplate?.name ?? "self.name"
|
||||
}
|
||||
}
|
||||
var reps: Int = 0
|
||||
|
||||
init(_ reps: Int, _ exercise: String) {
|
||||
self.name = exercise
|
||||
self.reps = reps
|
||||
self.exerciseTemplate = ExerciseTemplate(exercise)
|
||||
init(_ name: String = "") {
|
||||
self.name = name
|
||||
}
|
||||
|
||||
// 8x Dips
|
||||
init(from exerciseTemplate: ExerciseTemplate) {
|
||||
self.name = exerciseTemplate.name
|
||||
self.exerciseTemplate = exerciseTemplate
|
||||
}
|
||||
}
|
||||
|
||||
extension Exercise {
|
||||
static let sampleData: [Exercise] = {
|
||||
var exercises = [Exercise]()
|
||||
|
||||
for exerciseTemplate in ExerciseTemplate.sampleData {
|
||||
exercises.append(Exercise(from: exerciseTemplate))
|
||||
}
|
||||
|
||||
return exercises
|
||||
}()
|
||||
static let sampleData: [Exercise] = [
|
||||
Exercise("Dips"),
|
||||
Exercise("Chin-ups"),
|
||||
Exercise("Push-ups"),
|
||||
Exercise("Inverted Rows"),
|
||||
Exercise("Hanging Knee Raises"),
|
||||
Exercise("Pistol Squats"),
|
||||
Exercise("Hanging Leg Curls"),
|
||||
Exercise("Sissy Squats")
|
||||
]
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user