1
0
mirror of https://github.com/yattee/yattee.git synced 2025-04-29 08:20:33 +05:30

Controls gradient

This commit is contained in:
Arkadiusz Fal 2022-12-19 00:31:56 +01:00
parent bdb1f032a9
commit 3de18da7a7

View File

@ -213,15 +213,25 @@ struct PlayerControls: View {
} }
@ViewBuilder var controlsBackground: some View { @ViewBuilder var controlsBackground: some View {
if player.musicMode, ZStack {
let url = controlsBackgroundURL if player.musicMode,
{ let url = controlsBackgroundURL
ThumbnailView(url: url) {
.frame(maxWidth: .infinity, maxHeight: .infinity) ThumbnailView(url: url)
.transition(.opacity) .frame(maxWidth: .infinity, maxHeight: .infinity)
.animation(.default) .transition(.opacity)
} else if player.videoForDisplay == nil { .animation(.default)
Color.black } else if player.videoForDisplay == nil {
Color.black
}
if model.presentingControls {
Rectangle()
.fill(
LinearGradient(stops: gradientStops, startPoint: .top, endPoint: .bottom)
)
.transition(.opacity)
}
} }
} }
@ -235,6 +245,15 @@ struct PlayerControls: View {
return nil return nil
} }
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)
]
}
var timeline: some View { var timeline: some View {
TimelineView(context: .player).foregroundColor(.primary) TimelineView(context: .player).foregroundColor(.primary)
} }