mirror of
https://github.com/yattee/yattee.git
synced 2024-12-22 13:33:42 +00:00
Throttle controls bar gestures
This commit is contained in:
parent
c432aa3b9a
commit
a32f417776
@ -13,6 +13,8 @@ struct ControlsBar: View {
|
||||
@State private var shareURL: URL?
|
||||
@Binding var expansionState: ExpansionState
|
||||
|
||||
@State internal var gestureThrottle = Throttle(interval: 0.25)
|
||||
|
||||
var presentingControls = true
|
||||
var backgroundEnabled = true
|
||||
var borderTop = true
|
||||
@ -244,18 +246,20 @@ struct ControlsBar: View {
|
||||
}
|
||||
|
||||
func gestureAction(_ action: PlayerTapGestureAction) {
|
||||
switch action {
|
||||
case .togglePlayer:
|
||||
model.togglePlayer()
|
||||
case .openChannel:
|
||||
guard let channel = model.videoForDisplay?.channel else { return }
|
||||
navigation.openChannel(channel, navigationStyle: navigationStyle)
|
||||
case .togglePlayerVisibility:
|
||||
withAnimation(.spring(response: 0.25)) {
|
||||
expansionState = expansionState == .full ? .mini : .full
|
||||
gestureThrottle.execute {
|
||||
switch action {
|
||||
case .togglePlayer:
|
||||
self.model.togglePlayer()
|
||||
case .openChannel:
|
||||
guard let channel = self.model.videoForDisplay?.channel else { return }
|
||||
self.navigation.openChannel(channel, navigationStyle: self.navigationStyle)
|
||||
case .togglePlayerVisibility:
|
||||
withAnimation(.spring(response: 0.25)) {
|
||||
self.expansionState = self.expansionState == .full ? .mini : .full
|
||||
}
|
||||
default:
|
||||
return
|
||||
}
|
||||
default:
|
||||
return
|
||||
}
|
||||
}
|
||||
#endif
|
||||
|
Loading…
Reference in New Issue
Block a user