X-Git-Url: https://git.immae.eu/?a=blobdiff_plain;f=client%2Fsrc%2Fassets%2Fplayer%2Fvideojs-components%2Fpeertube-link-button.ts;h=98434898cfd9f082dd48690161662f71124b89b7;hb=171efc48e67498406feb6d7873b3482b41505515;hp=e73c95900efcde5d53d2e06e8b8ef3ec15a9ddc1;hpb=d6d951ddc0c492f3261065b5dcb4df0534d252fc;p=github%2FChocobozzz%2FPeerTube.git diff --git a/client/src/assets/player/videojs-components/peertube-link-button.ts b/client/src/assets/player/videojs-components/peertube-link-button.ts index e73c95900..98434898c 100644 --- a/client/src/assets/player/videojs-components/peertube-link-button.ts +++ b/client/src/assets/player/videojs-components/peertube-link-button.ts @@ -1,11 +1,15 @@ -import { buildVideoLink } from '../utils' import videojs from 'video.js' +import { buildVideoLink, decorateVideoLink } from '@shared/core-utils' +import { PeerTubeLinkButtonOptions } from '../peertube-videojs-typings' const Button = videojs.getComponent('Button') class PeerTubeLinkButton extends Button { + private shortUUID: string - constructor (player: videojs.Player, options?: videojs.ComponentOptions) { - super(player, options) + constructor (player: videojs.Player, options?: PeerTubeLinkButtonOptions) { + super(player, options as any) + + this.shortUUID = options.shortUUID } createEl () { @@ -13,7 +17,7 @@ class PeerTubeLinkButton extends Button { } updateHref () { - this.el().setAttribute('href', buildVideoLink({ startTime: this.player().currentTime() })) + this.el().setAttribute('href', this.buildLink()) } handleClick () { @@ -22,7 +26,7 @@ class PeerTubeLinkButton extends Button { private buildElement () { const el = videojs.dom.createEl('a', { - href: buildVideoLink(), + href: this.buildLink(), innerHTML: 'PeerTube', title: this.player().localize('Video page (new window)'), className: 'vjs-peertube-link', @@ -33,6 +37,12 @@ class PeerTubeLinkButton extends Button { return el as HTMLButtonElement } + + private buildLink () { + const url = buildVideoLink({ shortUUID: this.shortUUID }) + + return decorateVideoLink({ url, startTime: this.player().currentTime() }) + } } videojs.registerComponent('PeerTubeLinkButton', PeerTubeLinkButton)