This commit is contained in:
Trey t
2023-07-09 09:52:54 -05:00
parent f81153a674
commit a2098943a8
10 changed files with 526 additions and 83 deletions

View File

@@ -29,6 +29,7 @@
1CAF4D8A2A5132F900B00E50 /* PlannedWorkout.swift in Sources */ = {isa = PBXBuildFile; fileRef = 1CAF4D892A5132F900B00E50 /* PlannedWorkout.swift */; }; 1CAF4D8A2A5132F900B00E50 /* PlannedWorkout.swift in Sources */ = {isa = PBXBuildFile; fileRef = 1CAF4D892A5132F900B00E50 /* PlannedWorkout.swift */; };
1CAF4D8C2A51339200B00E50 /* PlannedWorkouts.json in Resources */ = {isa = PBXBuildFile; fileRef = 1CAF4D8B2A51339200B00E50 /* PlannedWorkouts.json */; }; 1CAF4D8C2A51339200B00E50 /* PlannedWorkouts.json in Resources */ = {isa = PBXBuildFile; fileRef = 1CAF4D8B2A51339200B00E50 /* PlannedWorkouts.json */; };
1CAF4D952A52180600B00E50 /* PlanWorkoutView.swift in Sources */ = {isa = PBXBuildFile; fileRef = 1CAF4D942A52180600B00E50 /* PlanWorkoutView.swift */; }; 1CAF4D952A52180600B00E50 /* PlanWorkoutView.swift in Sources */ = {isa = PBXBuildFile; fileRef = 1CAF4D942A52180600B00E50 /* PlanWorkoutView.swift */; };
1CD0C6632A5AF62900970E52 /* WorkoutOverviewView.swift in Sources */ = {isa = PBXBuildFile; fileRef = 1CD0C6622A5AF62900970E52 /* WorkoutOverviewView.swift */; };
1CF65A262A3972840042FFBD /* Werkout_iosApp.swift in Sources */ = {isa = PBXBuildFile; fileRef = 1CF65A252A3972840042FFBD /* Werkout_iosApp.swift */; }; 1CF65A262A3972840042FFBD /* Werkout_iosApp.swift in Sources */ = {isa = PBXBuildFile; fileRef = 1CF65A252A3972840042FFBD /* Werkout_iosApp.swift */; };
1CF65A282A3972840042FFBD /* Persistence.swift in Sources */ = {isa = PBXBuildFile; fileRef = 1CF65A272A3972840042FFBD /* Persistence.swift */; }; 1CF65A282A3972840042FFBD /* Persistence.swift in Sources */ = {isa = PBXBuildFile; fileRef = 1CF65A272A3972840042FFBD /* Persistence.swift */; };
1CF65A2B2A3972840042FFBD /* Werkout_ios.xcdatamodeld in Sources */ = {isa = PBXBuildFile; fileRef = 1CF65A292A3972840042FFBD /* Werkout_ios.xcdatamodeld */; }; 1CF65A2B2A3972840042FFBD /* Werkout_ios.xcdatamodeld in Sources */ = {isa = PBXBuildFile; fileRef = 1CF65A292A3972840042FFBD /* Werkout_ios.xcdatamodeld */; };
@@ -139,6 +140,7 @@
1CAF4D892A5132F900B00E50 /* PlannedWorkout.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = PlannedWorkout.swift; sourceTree = "<group>"; }; 1CAF4D892A5132F900B00E50 /* PlannedWorkout.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = PlannedWorkout.swift; sourceTree = "<group>"; };
1CAF4D8B2A51339200B00E50 /* PlannedWorkouts.json */ = {isa = PBXFileReference; lastKnownFileType = text.json; path = PlannedWorkouts.json; sourceTree = "<group>"; }; 1CAF4D8B2A51339200B00E50 /* PlannedWorkouts.json */ = {isa = PBXFileReference; lastKnownFileType = text.json; path = PlannedWorkouts.json; sourceTree = "<group>"; };
1CAF4D942A52180600B00E50 /* PlanWorkoutView.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = PlanWorkoutView.swift; sourceTree = "<group>"; }; 1CAF4D942A52180600B00E50 /* PlanWorkoutView.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = PlanWorkoutView.swift; sourceTree = "<group>"; };
1CD0C6622A5AF62900970E52 /* WorkoutOverviewView.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = WorkoutOverviewView.swift; sourceTree = "<group>"; };
1CF65A222A3972840042FFBD /* Werkout_ios.app */ = {isa = PBXFileReference; explicitFileType = wrapper.application; includeInIndex = 0; path = Werkout_ios.app; sourceTree = BUILT_PRODUCTS_DIR; }; 1CF65A222A3972840042FFBD /* Werkout_ios.app */ = {isa = PBXFileReference; explicitFileType = wrapper.application; includeInIndex = 0; path = Werkout_ios.app; sourceTree = BUILT_PRODUCTS_DIR; };
1CF65A252A3972840042FFBD /* Werkout_iosApp.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = Werkout_iosApp.swift; sourceTree = "<group>"; }; 1CF65A252A3972840042FFBD /* Werkout_iosApp.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = Werkout_iosApp.swift; sourceTree = "<group>"; };
1CF65A272A3972840042FFBD /* Persistence.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = Persistence.swift; sourceTree = "<group>"; }; 1CF65A272A3972840042FFBD /* Persistence.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = Persistence.swift; sourceTree = "<group>"; };
@@ -373,6 +375,7 @@
1CF65A622A3BF6A30042FFBD /* AllWorkoutsView.swift */, 1CF65A622A3BF6A30042FFBD /* AllWorkoutsView.swift */,
1C5190CD2A589D4100885849 /* AllWorkoutPickerView.swift */, 1C5190CD2A589D4100885849 /* AllWorkoutPickerView.swift */,
1C5190CF2A589D5F00885849 /* AllWorkoutsListView.swift */, 1C5190CF2A589D5F00885849 /* AllWorkoutsListView.swift */,
1CD0C6622A5AF62900970E52 /* WorkoutOverviewView.swift */,
); );
path = AllWorkouts; path = AllWorkouts;
sourceTree = "<group>"; sourceTree = "<group>";
@@ -554,6 +557,7 @@
1CF65A7B2A3F83440042FFBD /* CreateWorkoutSupersetActionsView.swift in Sources */, 1CF65A7B2A3F83440042FFBD /* CreateWorkoutSupersetActionsView.swift in Sources */,
1CF65A262A3972840042FFBD /* Werkout_iosApp.swift in Sources */, 1CF65A262A3972840042FFBD /* Werkout_iosApp.swift in Sources */,
1C6BF28F2A56602B00450FD7 /* Keychain.swift in Sources */, 1C6BF28F2A56602B00450FD7 /* Keychain.swift in Sources */,
1CD0C6632A5AF62900970E52 /* WorkoutOverviewView.swift in Sources */,
1C5190C42A589CAC00885849 /* InfoView.swift in Sources */, 1C5190C42A589CAC00885849 /* InfoView.swift in Sources */,
1CF65A3C2A3972CE0042FFBD /* ExternalWorkoutDetailView.swift in Sources */, 1CF65A3C2A3972CE0042FFBD /* ExternalWorkoutDetailView.swift in Sources */,
1CF65A632A3BF6A30042FFBD /* AllWorkoutsView.swift in Sources */, 1CF65A632A3BF6A30042FFBD /* AllWorkoutsView.swift in Sources */,

View File

@@ -19,9 +19,10 @@ struct Workout: Codable, Identifiable, Equatable {
let registeredUser: RegisteredUser? let registeredUser: RegisteredUser?
let muscles: [String]? let muscles: [String]?
let equipment: [String]? let equipment: [String]?
let exercise_count: Int?
enum CodingKeys: String, CodingKey { enum CodingKeys: String, CodingKey {
case name, description, exercises, id, muscles, equipment case name, description, exercises, id, muscles, equipment, exercise_count
case registeredUser = "registered_user" case registeredUser = "registered_user"
} }
@@ -39,6 +40,7 @@ struct Workout: Codable, Identifiable, Equatable {
self.id = try container.decode(Int.self, forKey: .id) self.id = try container.decode(Int.self, forKey: .id)
self.muscles = try container.decodeIfPresent([String].self, forKey: .muscles) self.muscles = try container.decodeIfPresent([String].self, forKey: .muscles)
self.equipment = try container.decodeIfPresent([String].self, forKey: .equipment) self.equipment = try container.decodeIfPresent([String].self, forKey: .equipment)
self.exercise_count = try container.decodeIfPresent(Int.self, forKey: .exercise_count)
} }
var exercisesSortedByCreated_at: [ExerciseElement] { var exercisesSortedByCreated_at: [ExerciseElement] {

View File

@@ -1,36 +1,436 @@
[ [
{ {
"id": 4, "id": 3,
"created_at": "2023-06-12T02:11:42.917529Z",
"updated_at": "2023-06-16T01:48:17.565038Z",
"name": "Sample Workou 1",
"description": "thot workout",
"registered_user": { "registered_user": {
"id": 1, "id": 1,
"created_at": "2023-06-11T22:09:52.419314Z", "first_name": "User1",
"updated_at": "2023-06-11T22:09:52.419342Z", "last_name": "user1",
"first_name": "test1_fist",
"last_name": "test1_last",
"image": "", "image": "",
"nick_name": null, "nick_name": "test user1"
"user": 2 },
} "muscles": [
"quads",
"lats",
"lower back",
"upper back",
"biceps"
],
"equipment": [
"Rower"
],
"exercise_count": 14,
"created_at": "2023-07-03T17:00:01.350058Z",
"updated_at": "2023-07-04T16:51:07.231366Z",
"name": "Rowwwwwwer",
"description": "row until you pass out"
}, },
{ {
"id": 5, "id": 4,
"created_at": "2023-06-13T02:01:33.290254Z",
"updated_at": "2023-06-16T01:48:08.680277Z",
"name": "test",
"description": "workout for upper body",
"registered_user": { "registered_user": {
"id": 2, "id": 1,
"created_at": "2023-06-13T02:00:52.161674Z", "first_name": "User1",
"updated_at": "2023-06-13T02:00:52.161733Z", "last_name": "user1",
"first_name": "test2_first",
"last_name": "test2_last",
"image": "", "image": "",
"nick_name": null, "nick_name": "test user1"
"user": 3 },
} "muscles": [
"quads",
"lats",
"lower back",
"upper back",
"biceps"
],
"equipment": [
"Rower"
],
"exercise_count": 30,
"created_at": "2023-07-04T17:36:56.902038Z",
"updated_at": "2023-07-04T18:02:18.798549Z",
"name": "Row 2",
"description": "Lets pass out"
},
{
"id": 6,
"registered_user": {
"id": 1,
"first_name": "User1",
"last_name": "user1",
"image": "",
"nick_name": "test user1"
},
"muscles": [
"calves",
"quads",
"core",
"hip flexor",
"lats",
"lower back",
"upper back",
"biceps"
],
"equipment": [
"Rower",
"Yoga Mat"
],
"exercise_count": 60,
"created_at": "2023-07-05T16:16:57.374041Z",
"updated_at": "2023-07-05T16:16:57.378248Z",
"name": "Cardio Mix",
"description": "Mix of cardio stuff"
},
{
"id": 7,
"registered_user": {
"id": 1,
"first_name": "User1",
"last_name": "user1",
"image": "",
"nick_name": "test user1"
},
"muscles": [
"calves",
"hamstrings",
"glutes",
"core",
"quads",
"hip flexor",
"middle back",
"lats",
"lower back",
"upper back",
"biceps"
],
"equipment": [
"Rower",
"Yoga Mat"
],
"exercise_count": 56,
"created_at": "2023-07-05T17:15:16.596202Z",
"updated_at": "2023-07-05T17:15:16.597621Z",
"name": "Cardio mix #2",
"description": ""
},
{
"id": 8,
"registered_user": {
"id": 1,
"first_name": "User1",
"last_name": "user1",
"image": "",
"nick_name": "test user1"
},
"muscles": [
"glutes",
"quads",
"core",
"triceps",
"deltoids",
"hip flexor",
"biceps"
],
"equipment": [
"Bike",
"Battle Ropes"
],
"exercise_count": 24,
"created_at": "2023-07-06T14:47:57.669190Z",
"updated_at": "2023-07-06T14:47:57.673138Z",
"name": "HiiT #1",
"description": "Upper body tabata"
},
{
"id": 9,
"registered_user": {
"id": 1,
"first_name": "User1",
"last_name": "user1",
"image": "",
"nick_name": "test user1"
},
"muscles": [
"glutes",
"quads",
"feet"
],
"equipment": [],
"exercise_count": 24,
"created_at": "2023-07-06T14:49:24.336730Z",
"updated_at": "2023-07-06T14:49:24.338220Z",
"name": "HiiT #2",
"description": "Lower body tabata"
},
{
"id": 10,
"registered_user": {
"id": 1,
"first_name": "User1",
"last_name": "user1",
"image": "",
"nick_name": "test user1"
},
"muscles": [
"rotator cuff",
"chest",
"core",
"hamstrings",
"glutes",
"triceps",
"quads",
"abs",
"middle back",
"forearms",
"lats",
"hip abductors",
"upper back",
"biceps"
],
"equipment": [
"Pull-Up Bar",
"Kettlebell"
],
"exercise_count": 20,
"created_at": "2023-07-06T14:51:00.277200Z",
"updated_at": "2023-07-06T14:51:00.278874Z",
"name": "HiiT #3",
"description": "Total body"
},
{
"id": 11,
"registered_user": {
"id": 1,
"first_name": "User1",
"last_name": "user1",
"image": "",
"nick_name": "test user1"
},
"muscles": [
"chest",
"biceps",
"forearms",
"triceps"
],
"equipment": [
"Dumbbell",
"Barbell",
"Plates",
"Bench"
],
"exercise_count": 24,
"created_at": "2023-07-06T14:56:03.908583Z",
"updated_at": "2023-07-06T14:56:03.910350Z",
"name": "Arms and HiiT",
"description": ""
},
{
"id": 12,
"registered_user": {
"id": 1,
"first_name": "User1",
"last_name": "user1",
"image": "",
"nick_name": "test user1"
},
"muscles": [
"hamstrings",
"traps",
"core",
"quads",
"glutes",
"middle back",
"forearms",
"lats",
"lower back",
"biceps"
],
"equipment": [
"Dumbbell",
"Barbell",
"Plates"
],
"exercise_count": 21,
"created_at": "2023-07-06T15:00:42.677119Z",
"updated_at": "2023-07-06T15:00:42.678641Z",
"name": "Upper Pull",
"description": ""
},
{
"id": 13,
"registered_user": {
"id": 1,
"first_name": "User1",
"last_name": "user1",
"image": "",
"nick_name": "test user1"
},
"muscles": [
"core",
"middle back",
"forearms",
"lats",
"upper back",
"biceps"
],
"equipment": [
"Barbell",
"Dumbbell",
"Plates",
"Chest Supported Row Machine",
"Bench"
],
"exercise_count": 32,
"created_at": "2023-07-06T15:06:57.002749Z",
"updated_at": "2023-07-06T15:06:57.004148Z",
"name": "Upper Pull",
"description": ""
},
{
"id": 14,
"registered_user": {
"id": 1,
"first_name": "User1",
"last_name": "user1",
"image": "",
"nick_name": "test user1"
},
"muscles": [
"deltoids",
"chest",
"core",
"triceps"
],
"equipment": [
"Dumbbell",
"Barbell",
"Box",
"Bench"
],
"exercise_count": 29,
"created_at": "2023-07-06T15:11:52.085325Z",
"updated_at": "2023-07-06T15:11:52.086738Z",
"name": "Upper push",
"description": ""
},
{
"id": 15,
"registered_user": {
"id": 1,
"first_name": "User1",
"last_name": "user1",
"image": "",
"nick_name": "test user1"
},
"muscles": [
"rotator cuff",
"chest",
"core",
"traps",
"quads",
"triceps",
"deltoids",
"abs",
"hamstrings",
"glutes",
"upper back"
],
"equipment": [
"Barbell",
"Dumbbell",
"Plates",
"Bench",
"Seated Chest Press Machine"
],
"exercise_count": 31,
"created_at": "2023-07-06T15:23:51.228664Z",
"updated_at": "2023-07-06T15:23:51.230103Z",
"name": "Upper push",
"description": ""
},
{
"id": 17,
"registered_user": {
"id": 1,
"first_name": "User1",
"last_name": "user1",
"image": "",
"nick_name": "test user1"
},
"muscles": [
"glutes",
"hamstrings",
"quads",
"feet",
"hip flexor",
"hip abductors"
],
"equipment": [
"Barbell",
"Dumbbell",
"Box",
"Bench",
"Bike"
],
"exercise_count": 33,
"created_at": "2023-07-06T15:39:08.326899Z",
"updated_at": "2023-07-06T17:53:45.996684Z",
"name": "Lower #1",
"description": null
},
{
"id": 20,
"registered_user": {
"id": 1,
"first_name": "User1",
"last_name": "user1",
"image": "",
"nick_name": "test user1"
},
"muscles": [
"glutes",
"quads",
"feet",
"upper back"
],
"equipment": [
"Dumbbell",
"Barbell",
"Bench"
],
"exercise_count": 33,
"created_at": "2023-07-06T18:20:27.100936Z",
"updated_at": "2023-07-06T18:20:27.102968Z",
"name": "Lower 2",
"description": "3"
},
{
"id": 21,
"registered_user": {
"id": 1,
"first_name": "User1",
"last_name": "user1",
"image": "",
"nick_name": "test user1"
},
"muscles": [
"rotator cuff",
"chest",
"core",
"hamstrings",
"glutes",
"triceps",
"quads",
"abs",
"deltoids",
"biceps"
],
"equipment": [
"Bench",
"Kettlebell",
"Battle Ropes"
],
"exercise_count": 50,
"created_at": "2023-07-07T17:18:47.385158Z",
"updated_at": "2023-07-07T17:18:47.387277Z",
"name": "Cardio",
"description": "Ropes, bw squat, kb swings, push up"
} }
] ]

View File

@@ -43,7 +43,6 @@ struct AddExerciseView: View {
TextField("Filter", text: $searchString) TextField("Filter", text: $searchString)
.padding() .padding()
.background(Color(uiColor: .systemBackground))
HStack { HStack {
muscleView() muscleView()
@@ -57,7 +56,6 @@ struct AddExerciseView: View {
.padding(.top) .padding(.top)
.frame(height: 44) .frame(height: 44)
} }
.background(Color(uiColor: UIColor.secondarySystemBackground))
.onAppear{ .onAppear{
if #function.hasPrefix("__preview") { if #function.hasPrefix("__preview") {
DataStore.shared.setupFakeData() DataStore.shared.setupFakeData()
@@ -109,7 +107,6 @@ struct AddExerciseView: View {
filterExercises() filterExercises()
}) })
} }
.background(Color(uiColor: .tertiarySystemBackground))
} }
func filterExercises() { func filterExercises() {

View File

@@ -38,41 +38,20 @@ struct AllWorkoutsListView: View {
var body: some View { var body: some View {
VStack { VStack {
List { ScrollView {
ForEach(filteredWorkouts, id:\.name) { workout in LazyVStack(spacing: 20) {
Section { ForEach(filteredWorkouts, id:\.id) { workout in
VStack { WorkoutOverviewView(workout: workout)
Text(workout.name) .padding([.leading, .trailing])
.font(.title2) .contentShape(Rectangle())
.frame(maxWidth: .infinity, alignment: .leading) .onTapGesture {
Text(workout.description ?? "") selectedWorkout(workout)
.frame(maxWidth: .infinity, alignment: .leading)
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)
}
}
.contentShape(Rectangle())
.onTapGesture {
selectedWorkout(workout)
}
} }
} }
} }
.refreshable { .refreshable {
refresh() refresh()
} }
TextField("Filter" ,text: $searchString) TextField("Filter" ,text: $searchString)
@@ -81,3 +60,15 @@ struct AllWorkoutsListView: View {
} }
} }
} }
struct AllWorkoutsListView_Previews: PreviewProvider {
static var previews: some View {
AllWorkoutsListView(workouts: PreviewData.allWorkouts(),
selectedWorkout: { workout in
},
refresh: {
})
}
}

View File

@@ -80,14 +80,12 @@ struct AllWorkoutsView: View {
} }
} }
} else { } else {
ProgressView() ProgressView("Updating")
.progressViewStyle(.circular)
} }
}.onAppear{ }.onAppear{
// UserStore.shared.logout() // UserStore.shared.logout()
maybeUpdateShit() maybeUpdateShit()
} }
.background(Color(uiColor: .systemGroupedBackground))
.sheet(item: $selectedWorkout) { item in .sheet(item: $selectedWorkout) { item in
let viewModel = WorkoutDetailViewModel(workout: item) let viewModel = WorkoutDetailViewModel(workout: item)
WorkoutDetailView(viewModel: viewModel) WorkoutDetailView(viewModel: viewModel)
@@ -96,12 +94,12 @@ struct AllWorkoutsView: View {
let viewModel = WorkoutDetailViewModel(workout: item) let viewModel = WorkoutDetailViewModel(workout: item)
WorkoutDetailView(viewModel: viewModel, showAddToCalendar: false) WorkoutDetailView(viewModel: viewModel, showAddToCalendar: false)
} }
.sheet(isPresented: $showLoginView) { // .sheet(isPresented: $showLoginView) {
LoginView(completion: { // LoginView(completion: {
self.needsUpdating = true // self.needsUpdating = true
maybeUpdateShit() // maybeUpdateShit()
}) // })
} // }
.onReceive(pub) { (output) in .onReceive(pub) { (output) in
self.needsUpdating = true self.needsUpdating = true
maybeUpdateShit() maybeUpdateShit()

View File

@@ -0,0 +1,59 @@
//
// 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 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(15)
}
}
struct WorkoutOverviewView_Previews: PreviewProvider {
static var previews: some View {
WorkoutOverviewView(workout: PreviewData.allWorkouts()[0])
}
}

View File

@@ -67,14 +67,13 @@ struct CreateWorkoutMainView: View {
} }
.listRowSeparator(.hidden) .listRowSeparator(.hidden)
} }
.background(Color(uiColor: .secondarySystemBackground)) // .overlay(Group {
.overlay(Group { // if($viewModel.superSets.isEmpty) {
if($viewModel.superSets.isEmpty) { // ZStack() {
ZStack() { // Color(uiColor: .secondarySystemBackground)
Color(uiColor: .secondarySystemBackground) // }
} // }
} // })
})
Divider() Divider()
@@ -106,9 +105,7 @@ struct CreateWorkoutMainView: View {
} }
.frame(height: 44) .frame(height: 44)
.padding(.bottom) .padding(.bottom)
.background(Color(uiColor: .systemGroupedBackground))
} }
.background(Color(uiColor: .systemGroupedBackground))
.sheet(isPresented: $showAddExercise) { .sheet(isPresented: $showAddExercise) {
AddExerciseView(selectedExercise: { exercise in AddExerciseView(selectedExercise: { exercise in
let workoutExercise = CreateWorkoutExercise(exercise: exercise) let workoutExercise = CreateWorkoutExercise(exercise: exercise)

View File

@@ -44,7 +44,6 @@ struct ExternalWorkoutDetailView: View {
ExtCountdownView() ExtCountdownView()
.frame(width: metrics.size.width-50, height: metrics.size.height * 0.2) .frame(width: metrics.size.width-50, height: metrics.size.height * 0.2)
.padding([.leading, .trailing], 50) .padding([.leading, .trailing], 50)
.background(Color(uiColor: UIColor.secondarySystemBackground))
} }
} }
} else { } else {

View File

@@ -39,7 +39,6 @@ struct WorkoutDetailView: View {
} }
.padding() .padding()
.frame(maxWidth: .infinity) .frame(maxWidth: .infinity)
.background(Color(uiColor: .systemBackground))
GeometryReader { metrics in GeometryReader { metrics in
PlayerView(player: $avPlayer) PlayerView(player: $avPlayer)
@@ -47,13 +46,11 @@ struct WorkoutDetailView: View {
.onAppear{ .onAppear{
avPlayer.play() avPlayer.play()
} }
.background(Color(uiColor: .secondarySystemBackground))
} }
} }
InfoView(workout: workout) InfoView(workout: workout)
.padding(.bottom) .padding(.bottom)
.background(Color(uiColor: .secondarySystemBackground))
ExerciseListView(workout: workout) ExerciseListView(workout: workout)
@@ -65,7 +62,6 @@ struct WorkoutDetailView: View {
.frame(height: 44) .frame(height: 44)
} }
.background(Color(uiColor: .secondarySystemBackground))
.sheet(item: $presentedSheet) { item in .sheet(item: $presentedSheet) { item in
switch item { switch item {
case .completedWorkout(let data): case .completedWorkout(let data):