]> git.immae.eu Git - github/Chocobozzz/PeerTube.git/blob - client/src/assets/player/videojs-components/peertube-link-button.ts
Hide schedule privacy if private does not exist
[github/Chocobozzz/PeerTube.git] / client / src / assets / player / videojs-components / peertube-link-button.ts
1 import { buildVideoLink } from '../utils'
2 import videojs from 'video.js'
3
4 const Button = videojs.getComponent('Button')
5 class PeerTubeLinkButton extends Button {
6
7 constructor (player: videojs.Player, options?: videojs.ComponentOptions) {
8 super(player, options)
9 }
10
11 createEl () {
12 return this.buildElement()
13 }
14
15 updateHref () {
16 this.el().setAttribute('href', buildVideoLink({ startTime: this.player().currentTime() }))
17 }
18
19 handleClick () {
20 this.player().pause()
21 }
22
23 private buildElement () {
24 const el = videojs.dom.createEl('a', {
25 href: buildVideoLink(),
26 innerHTML: 'PeerTube',
27 title: this.player().localize('Video page (new window)'),
28 className: 'vjs-peertube-link',
29 target: '_blank'
30 })
31
32 el.addEventListener('mouseenter', () => this.updateHref())
33
34 return el as HTMLButtonElement
35 }
36 }
37
38 videojs.registerComponent('PeerTubeLinkButton', PeerTubeLinkButton)