Files
workoutsplus/WorkoutsPlus/Exercise/Exercise.swift
T
2024-08-30 16:01:38 +02:00

50 lines
963 B
Swift

//
// Exercise.swift
// WorkoutsPlus
//
// Created by Felix Förtsch on 10.08.24.
//
import Foundation
import SwiftData
@Model
final class Exercise: Identifiable {
var id = UUID()
var name: String
var workout: Workout?
var position: Int = 0
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)
}
// 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
}()
}