Remove uneccessary details to link titles
[oweals/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)