// // ExtExerciseList.swift // Werkout_ios // // Created by Trey Tartt on 6/17/24. // import SwiftUI struct ExtExerciseList: View { var workout: Workout var allSupersetExecerciseIndex: Int var body: some View { if let allSupersetExecercise = workout.allSupersetExecercise { ZStack { ScrollViewReader { proxy in List() { ForEach(allSupersetExecercise.indices, id: \.self) { supersetExecerciseIdx in let supersetExecercise = allSupersetExecercise[supersetExecerciseIdx] HStack { if supersetExecerciseIdx == allSupersetExecerciseIndex { Image(systemName: "figure.run") .foregroundColor(WerkoutTheme.accent) .font(Font.system(size: 55)) .minimumScaleFactor(0.01) .lineLimit(1) } Text(supersetExecercise.exercise.name) .font(Font.system(size: 55, weight: supersetExecerciseIdx == allSupersetExecerciseIndex ? .bold : .medium)) .foregroundColor(supersetExecerciseIdx == allSupersetExecerciseIndex ? WerkoutTheme.textPrimary : WerkoutTheme.textSecondary) .minimumScaleFactor(0.01) .lineLimit(3) .padding() Spacer() } .id(supersetExecerciseIdx) } } .onChange(of: allSupersetExecerciseIndex) { withAnimation { proxy.scrollTo(allSupersetExecerciseIndex, anchor: .top) } } } VStack { Text("\(allSupersetExecerciseIndex+1)/\(workout.allSupersetExecercise?.count ?? 0)") .font(Font.system(size: 55, weight: .bold, design: .monospaced)) .minimumScaleFactor(0.01) .lineLimit(1) .padding() .foregroundColor(WerkoutTheme.textPrimary) .glassEffect(.regular.interactive()) .tint(WerkoutTheme.accent) Spacer() } } } } } //#Preview { // ExtExerciseList() //}