Resume video on peertube link click in embed

This commit is contained in:
Chocobozzz 2018-05-28 11:35:18 +02:00
parent 6b950ba5ee
commit fc73684ada
No known key found for this signature in database
GPG Key ID: 583A612D890159BE
1 changed files with 27 additions and 7 deletions

View File

@ -4,17 +4,37 @@ const Button: VideoJSComponentInterface = videojsUntyped.getComponent('Button')
class PeerTubeLinkButton extends Button {
createEl () {
return videojsUntyped.dom.createEl('a', {
href: window.location.href.replace('embed', 'watch'),
innerHTML: 'PeerTube',
title: 'Go to the video page',
className: 'vjs-peertube-link',
target: '_blank'
})
return this.buildElement()
}
updateHref () {
const currentTime = Math.floor(this.player().currentTime())
this.el().setAttribute('href', this.buildHref(currentTime))
}
handleClick () {
this.player_.pause()
}
private buildElement () {
const el = videojsUntyped.dom.createEl('a', {
href: this.buildHref(),
innerHTML: 'PeerTube',
title: 'Go to the video page',
className: 'vjs-peertube-link',
target: '_blank'
})
el.addEventListener('mouseenter', () => this.updateHref())
return el
}
private buildHref (time?: number) {
let href = window.location.href.replace('embed', 'watch')
if (time) href += '?start=' + time
return href
}
}
Button.registerComponent('PeerTubeLinkButton', PeerTubeLinkButton)