otherVideosDisplayed: Video[] = []
- error = false
+ syndicationItems = {}
+
player: videojs.Player
playerElement: HTMLVideoElement
userRating: UserVideoRateType = null
}
const uuid = routeParams['uuid']
- // Video did not changed
+ // Video did not change
if (this.video && this.video.uuid === uuid) return
-
+ // Video did change
this.videoService.getVideo(uuid).subscribe(
- video => this.onVideoFetched(video),
+ video => {
+ const startTime = this.route.snapshot.queryParams.start
+ this.onVideoFetched(video, startTime)
+ .catch(err => this.handleError(err))
+ this.generateSyndicationList()
+ },
error => {
this.videoNotFound = true
return this.video.tags.join(', ')
}
+ generateSyndicationList () {
+ this.syndicationItems = this.videoService.getAccountFeedUrls(this.video.account.id)
+ }
+
isVideoRemovable () {
return this.video.isRemovableBy(this.authService.getUser())
}
)
}
- private async onVideoFetched (video: VideoDetails) {
+ private async onVideoFetched (video: VideoDetails, startTime = 0) {
this.video = video
+ // Re init attributes
+ this.descriptionLoading = false
+ this.completeDescriptionShown = false
+
this.updateOtherVideosDisplayed()
if (this.video.isVideoNSFWForUser(this.user)) {
videoDuration: this.video.duration,
enableHotkeys: true,
peertubeLink: false,
- poster: this.video.previewUrl
+ poster: this.video.previewUrl,
+ startTime
})
const self = this