Correctly hide mobile buttons overlay on ios

pull/4795/head
Chocobozzz 2022-02-08 14:25:24 +01:00
parent cbedb6a5ee
commit 15a0e5f3b3
No known key found for this signature in database
GPG Key ID: 583A612D890159BE
2 changed files with 8 additions and 6 deletions

View File

@ -17,7 +17,7 @@ class PeerTubeMobileButtons extends Component {
className: 'main-button'
}) as HTMLDivElement
mainButton.addEventListener('click', e => {
mainButton.addEventListener('touchstart', e => {
e.stopPropagation()
if (this.player_.paused() || this.player_.ended()) {

View File

@ -23,7 +23,7 @@ class PeerTubeMobilePlugin extends Plugin {
constructor (player: videojs.Player, options: videojs.PlayerOptions) {
super(player, options)
this.peerTubeMobileButtons = player.addChild('PeerTubeMobileButtons') as PeerTubeMobileButtons
this.peerTubeMobileButtons = player.addChild('PeerTubeMobileButtons', { reportTouchActivity: false }) as PeerTubeMobileButtons
if (videojs.browser.IS_ANDROID && screen.orientation) {
this.handleFullscreenRotation()
@ -55,8 +55,6 @@ class PeerTubeMobilePlugin extends Plugin {
private initTouchStartEvents () {
const handleTouchStart = (event: TouchEvent) => {
event.stopPropagation()
if (this.tapTimeout) {
clearTimeout(this.tapTimeout)
this.tapTimeout = undefined
@ -88,7 +86,12 @@ class PeerTubeMobilePlugin extends Plugin {
handleTouchStart(event)
})
this.peerTubeMobileButtons.on('touchstart', handleTouchStart)
this.peerTubeMobileButtons.el().addEventListener('touchstart', (event: TouchEvent) => {
// Prevent mousemove/click events firing on the player, that conflict with our user active logic
event.preventDefault()
handleTouchStart(event)
}, { passive: false })
}
private onDoubleTap (event: TouchEvent) {
@ -115,7 +118,6 @@ class PeerTubeMobilePlugin extends Plugin {
this.peerTubeMobileButtons.displayFastSeek(this.seekAmount)
this.scheduleSetCurrentTime()
}
private findPlayerTarget (target: HTMLElement): HTMLElement {