import SwiftUI struct ControlsGradientView: View { @ObservedObject private var controls = PlayerControlsModel.shared var body: some View { if controls.presentingControls { Rectangle() .fill( LinearGradient(stops: gradientStops, startPoint: .top, endPoint: .bottom) ) .transition(.opacity) } } var gradientStops: [Gradient.Stop] { [ Gradient.Stop(color: .black.opacity(0.3), location: 0.0), Gradient.Stop(color: .clear, location: 0.33), Gradient.Stop(color: .clear, location: 0.66), Gradient.Stop(color: .black.opacity(0.3), location: 1) ] } } struct ControlsGradientView_Previews: PreviewProvider { static var previews: some View { ControlsGradientView() } }