X-Git-Url: https://git.immae.eu/?a=blobdiff_plain;f=client%2Fsrc%2Fapp%2Fvideos%2F%2Bvideo-watch%2Fvideo-watch.component.ts;h=3a7629cc64585ee6260b59b771ae5a48e81a92d8;hb=b29bf61dbd518e5cef0b2f564ddc8f8a0657d089;hp=890b7996f7779abba839bf1946b76032303407ce;hpb=706c5a4743e1ec29da1a21173da70d39b711fadc;p=github%2FChocobozzz%2FPeerTube.git diff --git a/client/src/app/videos/+video-watch/video-watch.component.ts b/client/src/app/videos/+video-watch/video-watch.component.ts index 890b7996f..3a7629cc6 100644 --- a/client/src/app/videos/+video-watch/video-watch.component.ts +++ b/client/src/app/videos/+video-watch/video-watch.component.ts @@ -38,6 +38,7 @@ import { HooksService } from '@app/core/plugins/hooks.service' import { PlatformLocation } from '@angular/common' import { randomInt } from '@shared/core-utils/miscs/miscs' import { RecommendedVideosComponent } from '../recommendations/recommended-videos.component' +import { scrollToTop } from '@app/shared/misc/utils' @Component({ selector: 'my-video-watch', @@ -72,6 +73,11 @@ export class VideoWatchComponent implements OnInit, OnDestroy { remoteServerDown = false hotkeys: Hotkey[] = [] + tooltipLike = '' + tooltipDislike = '' + tooltipSupport = '' + tooltipSaveToPlaylist = '' + private nextVideoUuid = '' private currentTime: number private paramsSub: Subscription @@ -102,7 +108,12 @@ export class VideoWatchComponent implements OnInit, OnDestroy { private hooks: HooksService, private location: PlatformLocation, @Inject(LOCALE_ID) private localeId: string - ) {} + ) { + this.tooltipLike = this.i18n('Like this video') + this.tooltipDislike = this.i18n('Dislike this video') + this.tooltipSupport = this.i18n('Support options for this video') + this.tooltipSaveToPlaylist = this.i18n('Save to playlist') + } get user () { return this.authService.getUser() @@ -128,9 +139,12 @@ export class VideoWatchComponent implements OnInit, OnDestroy { if (playlistId) this.loadPlaylist(playlistId) }) - this.queryParamsSub = this.route.queryParams.subscribe(queryParams => { + this.queryParamsSub = this.route.queryParams.subscribe(async queryParams => { const videoId = queryParams[ 'videoId' ] - if (videoId) this.loadVideo(videoId) + if (videoId) await this.loadVideo(videoId) + + const start = queryParams[ 'start' ] + if (this.player && start) this.player.currentTime(parseInt(start, 10)) }) this.initHotkeys() @@ -269,14 +283,19 @@ export class VideoWatchComponent implements OnInit, OnDestroy { isAutoPlayEnabled () { return ( - this.user && this.user.autoPlayNextVideo || + (this.user && this.user.autoPlayNextVideo) || peertubeSessionStorage.getItem(RecommendedVideosComponent.SESSION_STORAGE_AUTO_PLAY_NEXT_VIDEO) === 'true' ) } + handleTimestampClicked (timestamp: number) { + if (this.player) this.player.currentTime(timestamp) + scrollToTop() + } + isPlaylistAutoPlayEnabled () { return ( - this.user && this.user.autoPlayNextVideoPlaylist || + (this.user && this.user.autoPlayNextVideoPlaylist) || peertubeSessionStorage.getItem(VideoWatchPlaylistComponent.SESSION_STORAGE_AUTO_PLAY_NEXT_VIDEO_PLAYLIST) === 'true' ) } @@ -348,7 +367,8 @@ export class VideoWatchComponent implements OnInit, OnDestroy { } private async setVideoDescriptionHTML () { - this.videoHTMLDescription = await this.markdownService.textMarkdownToHTML(this.video.description) + const html = await this.markdownService.textMarkdownToHTML(this.video.description) + this.videoHTMLDescription = await this.markdownService.processVideoTimestamps(html) } private setVideoLikesBarTooltipText () {