wip
This commit is contained in:
@@ -21,10 +21,11 @@ struct AddExerciseView: View {
|
||||
|
||||
@StateObject var bridgeModule = BridgeModule.shared
|
||||
@Environment(\.dismiss) var dismiss
|
||||
var selectedWorkout: ((ExerciseExercise) -> Void)
|
||||
var selectedExercise: ((ExerciseExercise) -> Void)
|
||||
@State var createWorkoutItemPickerViewModel: CreateWorkoutItemPickerViewModel?
|
||||
@State var createWorkoutItemPickerViewType: CreateWorkoutItemPickerViewType?
|
||||
@State var searchString: String = ""
|
||||
@State var videoExercise: ExerciseExercise?
|
||||
|
||||
var body: some View {
|
||||
VStack {
|
||||
@@ -59,6 +60,9 @@ struct AddExerciseView: View {
|
||||
selectedEquipment = equipment
|
||||
filteredExercises = exercises
|
||||
}
|
||||
.sheet(item: $videoExercise) { exercise in
|
||||
VideoPlayerView(currentExercise: exercise)
|
||||
}
|
||||
.sheet(item: $createWorkoutItemPickerViewModel) { item in
|
||||
CreateWorkoutItemPickerView(viewModel: item, completed: { selectedids in
|
||||
if let viewType = createWorkoutItemPickerViewType {
|
||||
@@ -193,30 +197,31 @@ struct AddExerciseView: View {
|
||||
func exerciseView() -> some View {
|
||||
List() {
|
||||
ForEach(filteredExercises.indices, id: \.self) { i in
|
||||
let obj = filteredExercises[i]
|
||||
if searchString.isEmpty || obj.name.lowercased().contains(searchString.lowercased()) {
|
||||
let exercise = filteredExercises[i]
|
||||
if searchString.isEmpty || exercise.name.lowercased().contains(searchString.lowercased()) {
|
||||
HStack {
|
||||
VStack {
|
||||
Text(obj.name)
|
||||
Text(exercise.name)
|
||||
.frame(maxWidth: .infinity, alignment: .leading)
|
||||
if obj.side.count > 0 {
|
||||
Text(obj.side)
|
||||
if exercise.side.count > 0 {
|
||||
Text(exercise.side)
|
||||
.font(.footnote)
|
||||
.frame(maxWidth: .infinity, alignment: .leading)
|
||||
}
|
||||
Text(obj.equipmentRequired)
|
||||
Text(exercise.equipmentRequired)
|
||||
.font(.footnote)
|
||||
.frame(maxWidth: .infinity, alignment: .leading)
|
||||
Text(obj.muscleGroups)
|
||||
Text(exercise.muscleGroups)
|
||||
.font(.footnote)
|
||||
.frame(maxWidth: .infinity, alignment: .leading)
|
||||
}
|
||||
.contentShape(Rectangle())
|
||||
.onTapGesture {
|
||||
selectedWorkout(obj)
|
||||
selectedExercise(exercise)
|
||||
dismiss()
|
||||
}
|
||||
Button(action: {
|
||||
videoExercise = exercise
|
||||
}) {
|
||||
Image(systemName: "video.fill")
|
||||
}
|
||||
@@ -233,6 +238,6 @@ struct AddExerciseView: View {
|
||||
|
||||
struct AddExerciseView_Previews: PreviewProvider {
|
||||
static var previews: some View {
|
||||
AddExerciseView(selectedWorkout: { _ in })
|
||||
AddExerciseView(selectedExercise: { _ in })
|
||||
}
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user