72 lines
2.4 KiB
Swift
72 lines
2.4 KiB
Swift
//
|
|
// WorkoutOverviewView.swift
|
|
// Werkout_ios
|
|
//
|
|
// Created by Trey Tartt on 7/9/23.
|
|
//
|
|
|
|
import SwiftUI
|
|
|
|
struct WorkoutOverviewView: View {
|
|
let workout: Workout
|
|
var body: some View {
|
|
VStack {
|
|
HStack {
|
|
VStack {
|
|
Text(workout.name)
|
|
.font(.title2)
|
|
.frame(maxWidth: .infinity, alignment: .leading)
|
|
|
|
Text(workout.description ?? "")
|
|
.frame(maxWidth: .infinity, alignment: .leading)
|
|
|
|
if let estimatedTime = workout.estimatedTime {
|
|
Text("Time: " + estimatedTime.asString(style: .abbreviated))
|
|
.frame(maxWidth: .infinity, alignment: .leading)
|
|
}
|
|
|
|
if let createdAt = workout.createdAt {
|
|
Text(createdAt, style: .date)
|
|
.font(.footnote)
|
|
.frame(maxWidth: .infinity, alignment: .leading)
|
|
}
|
|
}
|
|
if let exerciseCount = workout.exercise_count {
|
|
VStack {
|
|
Text("\(exerciseCount)")
|
|
.font(.body.bold())
|
|
Text("exercises")
|
|
.font(.footnote)
|
|
.foregroundColor(Color(uiColor: .systemGray2))
|
|
}
|
|
}
|
|
}
|
|
|
|
if let muscles = workout.muscles,
|
|
muscles.joined(separator: ", ").count > 0{
|
|
Divider()
|
|
Text(muscles.joined(separator: ", "))
|
|
.font(.footnote)
|
|
.frame(maxWidth: .infinity, alignment: .leading)
|
|
}
|
|
|
|
if let equipment = workout.equipment,
|
|
equipment.joined(separator: ", ").count > 0 {
|
|
Divider()
|
|
Text(equipment.joined(separator: ", "))
|
|
.font(.footnote)
|
|
.frame(maxWidth: .infinity, alignment: .leading)
|
|
}
|
|
}
|
|
.padding()
|
|
.background(Color(uiColor: .secondarySystemBackground))
|
|
.cornerRadius(2)
|
|
}
|
|
}
|
|
|
|
struct WorkoutOverviewView_Previews: PreviewProvider {
|
|
static var previews: some View {
|
|
WorkoutOverviewView(workout: PreviewData.allWorkouts()[2])
|
|
}
|
|
}
|