X-Git-Url: https://git.immae.eu/?a=blobdiff_plain;f=client%2Fsrc%2Fassets%2Fplayer%2Fpeertube-link-button.ts;h=a13815d611206388395186193a32654bdd72c55b;hb=960a11e89da4e4a6ad6fbad61c71625f89e267b6;hp=6ead78c006c424f1d0be115bae8a2285d687b46c;hpb=c6352f2c64f3c1ad54f8500f493587cdce3d33c9;p=github%2FChocobozzz%2FPeerTube.git diff --git a/client/src/assets/player/peertube-link-button.ts b/client/src/assets/player/peertube-link-button.ts index 6ead78c00..a13815d61 100644 --- a/client/src/assets/player/peertube-link-button.ts +++ b/client/src/assets/player/peertube-link-button.ts @@ -1,20 +1,37 @@ import { VideoJSComponentInterface, videojsUntyped } from './peertube-videojs-typings' +import { buildVideoLink } from './utils' const Button: VideoJSComponentInterface = videojsUntyped.getComponent('Button') class PeerTubeLinkButton extends Button { + constructor (player: videojs.Player, options) { + super(player, options) + } + createEl () { - return videojsUntyped.dom.createEl('a', { - href: window.location.href.replace('embed', 'watch'), + return this.buildElement() + } + + updateHref () { + this.el().setAttribute('href', buildVideoLink(this.player().currentTime())) + } + + handleClick () { + this.player_.pause() + } + + private buildElement () { + const el = videojsUntyped.dom.createEl('a', { + href: buildVideoLink(), innerHTML: 'PeerTube', title: 'Go to the video page', className: 'vjs-peertube-link', target: '_blank' }) - } - handleClick () { - this.player_.pause() + el.addEventListener('mouseenter', () => this.updateHref()) + + return el } } Button.registerComponent('PeerTubeLinkButton', PeerTubeLinkButton)