import { VideoPlaylist } from '@app/shared/shared-video-playlist'
import { NgbModal } from '@ng-bootstrap/ng-bootstrap'
import { VideoCaption } from '@shared/models'
-import { buildPlaylistLink, buildVideoLink, buildVideoOrPlaylistEmbed } from '../../../assets/player/utils'
+import {
+ buildPlaylistLink,
+ buildVideoLink,
+ buildVideoOrPlaylistEmbed,
+ decoratePlaylistLink,
+ decorateVideoLink
+} from '../../../assets/player/utils'
type Customizations = {
startAtCheckbox: boolean
}
getVideoIframeCode () {
- const options = this.getVideoOptions(this.video.embedUrl)
+ const embedUrl = decorateVideoLink({ url: this.video.embedUrl, ...this.getVideoOptions() })
- const embedUrl = buildVideoLink(options)
return buildVideoOrPlaylistEmbed(embedUrl, this.video.name)
}
getPlaylistIframeCode () {
- const options = this.getPlaylistOptions(this.playlist.embedUrl)
+ const embedUrl = decoratePlaylistLink({ url: this.playlist.embedUrl, ...this.getPlaylistOptions() })
- const embedUrl = buildPlaylistLink(options)
return buildVideoOrPlaylistEmbed(embedUrl, this.playlist.displayName)
}
getVideoUrl () {
- let baseUrl = this.customizations.originUrl ? this.video.originInstanceUrl : window.location.origin
- baseUrl += '/videos/watch/' + this.video.uuid
- const options = this.getVideoOptions(baseUrl)
+ const baseUrl = this.customizations.originUrl
+ ? this.video.originInstanceUrl
+ : window.location.origin
- return buildVideoLink(options)
+ return decorateVideoLink({
+ url: buildVideoLink(this.video, baseUrl),
+
+ ...this.getVideoOptions()
+ })
}
getPlaylistUrl () {
- const base = window.location.origin + '/videos/watch/playlist/' + this.playlist.uuid
-
- if (!this.includeVideoInPlaylist) return base
+ const url = buildPlaylistLink(this.playlist)
+ if (!this.includeVideoInPlaylist) return url
- return base + '?playlistPosition=' + this.playlistPosition
+ return decoratePlaylistLink({ url, playlistPosition: this.playlistPosition })
}
notSecure () {
}
}
- private getVideoOptions (baseUrl?: string) {
+ private getVideoOptions () {
return {
- baseUrl,
-
startTime: this.customizations.startAtCheckbox ? this.customizations.startAt : undefined,
stopTime: this.customizations.stopAtCheckbox ? this.customizations.stopAt : undefined,