add ExerciseTemplate conecpt, fix UI elements

This commit is contained in:
Felix Förtsch
2024-08-25 23:20:56 +02:00
parent 71719c1f1b
commit 19e91d75e0
12 changed files with 181 additions and 121 deletions
+27 -17
View File
@@ -1,5 +1,5 @@
//
// Item.swift
// Exercise.swift
// WorkoutsPlus
//
// Created by Felix Förtsch on 10.08.24.
@@ -9,24 +9,34 @@ import Foundation
import SwiftData
@Model
final class Exercise {
@Attribute(.unique) var name: String
static var systemImage = "figure.run"
class Exercise {
var name: String
var timestamp: Date
var exerciseTemplate: ExerciseTemplate? {
didSet {
self.name = exerciseTemplate?.name ?? "self.name"
}}
var reps: Int = 0
init(_ name: String = "", timestamp: Date = Date.now) {
self.name = name
self.timestamp = timestamp
init(_ reps: Int, _ exercise: String) {
self.name = exercise
self.reps = reps
self.exerciseTemplate = ExerciseTemplate(exercise)
}
static let sampleData: [Exercise] = [
Exercise("Warm-up"), Exercise("Pull-up Progression"), Exercise("Squat Progression"),
Exercise("Dip Progression"), Exercise("Hinge Progression"), Exercise("Row Progression"),
Exercise("Push-up Progression"), Exercise("Core Triplet"), Exercise("Push"), Exercise("Pull"),
Exercise("Legs"), Exercise("Core"), 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"),
Exercise("400 m schnell"), Exercise("200 m langsam")
]
// 8x Dips
init(from exerciseTemplate: ExerciseTemplate) {
self.name = exerciseTemplate.name
self.exerciseTemplate = exerciseTemplate
}
static let sampleData: [Exercise] = {
var exercises = [Exercise]()
for exerciseTemplate in ExerciseTemplate.sampleData {
exercises.append(Exercise(from: exerciseTemplate))
}
return exercises
}()
}