]> git.immae.eu Git - github/Chocobozzz/PeerTube.git/blob - client/src/assets/player/peertube-link-button.ts
Reset published date on publish
[github/Chocobozzz/PeerTube.git] / client / src / assets / player / peertube-link-button.ts
1 import * as videojs from 'video.js'
2 import { VideoJSComponentInterface, videojsUntyped } from './peertube-videojs-typings'
3 import { buildVideoLink } from './utils'
4
5 const Button: VideoJSComponentInterface = videojsUntyped.getComponent('Button')
6 class PeerTubeLinkButton extends Button {
7
8 constructor (player: videojs.Player, options) {
9 super(player, options)
10 }
11
12 createEl () {
13 return this.buildElement()
14 }
15
16 updateHref () {
17 this.el().setAttribute('href', buildVideoLink(this.player().currentTime()))
18 }
19
20 handleClick () {
21 this.player_.pause()
22 }
23
24 private buildElement () {
25 const el = videojsUntyped.dom.createEl('a', {
26 href: buildVideoLink(),
27 innerHTML: 'PeerTube',
28 title: this.player_.localize('Go to the video page'),
29 className: 'vjs-peertube-link',
30 target: '_blank'
31 })
32
33 el.addEventListener('mouseenter', () => this.updateHref())
34
35 return el
36 }
37 }
38 Button.registerComponent('PeerTubeLinkButton', PeerTubeLinkButton)