From d142c7b9c01735ecebc3511072c0e722ce2edc1b Mon Sep 17 00:00:00 2001 From: Chocobozzz Date: Wed, 19 Aug 2020 09:21:46 +0200 Subject: Use playlistPosition for playlists instead of videoId --- .../app/shared/shared-main/angular/infinite-scroller.directive.ts | 6 ++++-- client/src/app/shared/shared-share-modal/video-share.component.ts | 5 ++--- .../video-playlist-element-miniature.component.ts | 2 +- 3 files changed, 7 insertions(+), 6 deletions(-) (limited to 'client/src/app/shared') diff --git a/client/src/app/shared/shared-main/angular/infinite-scroller.directive.ts b/client/src/app/shared/shared-main/angular/infinite-scroller.directive.ts index f09c3d1fc..d2cf53227 100644 --- a/client/src/app/shared/shared-main/angular/infinite-scroller.directive.ts +++ b/client/src/app/shared/shared-main/angular/infinite-scroller.directive.ts @@ -1,6 +1,6 @@ +import { fromEvent, Observable, Subscription } from 'rxjs' import { distinctUntilChanged, filter, map, share, startWith, throttleTime } from 'rxjs/operators' import { AfterContentChecked, Directive, ElementRef, EventEmitter, Input, OnDestroy, OnInit, Output } from '@angular/core' -import { fromEvent, Observable, Subscription } from 'rxjs' @Directive({ selector: '[myInfiniteScroller]' @@ -80,7 +80,9 @@ export class InfiniteScrollerDirective implements OnInit, OnDestroy, AfterConten } private getMaximumScroll () { - return this.container.scrollHeight - window.innerHeight + const elementHeight = this.onItself ? this.container.clientHeight : window.innerHeight + + return this.container.scrollHeight - elementHeight } private hasScroll () { diff --git a/client/src/app/shared/shared-share-modal/video-share.component.ts b/client/src/app/shared/shared-share-modal/video-share.component.ts index 8d8e8a3a5..f57a50770 100644 --- a/client/src/app/shared/shared-share-modal/video-share.component.ts +++ b/client/src/app/shared/shared-share-modal/video-share.component.ts @@ -37,6 +37,7 @@ export class VideoShareComponent { @Input() video: VideoDetails = null @Input() videoCaptions: VideoCaption[] = [] @Input() playlist: VideoPlaylist = null + @Input() playlistPosition: number = null activeVideoId: TabId = 'url' activePlaylistId: TabId = 'url' @@ -45,8 +46,6 @@ export class VideoShareComponent { isAdvancedCustomizationCollapsed = true includeVideoInPlaylist = false - private playlistPosition: number = null - constructor (private modalService: NgbModal) { } show (currentVideoTimestamp?: number, currentPlaylistPosition?: number) { @@ -107,7 +106,7 @@ export class VideoShareComponent { if (!this.includeVideoInPlaylist) return base - return base + '?videoId=' + this.video.uuid + return base + '?playlistPosition=' + this.playlistPosition } notSecure () { diff --git a/client/src/app/shared/shared-video-playlist/video-playlist-element-miniature.component.ts b/client/src/app/shared/shared-video-playlist/video-playlist-element-miniature.component.ts index 5879c4978..7c083ae26 100644 --- a/client/src/app/shared/shared-video-playlist/video-playlist-element-miniature.component.ts +++ b/client/src/app/shared/shared-video-playlist/video-playlist-element-miniature.component.ts @@ -78,7 +78,7 @@ export class VideoPlaylistElementMiniatureComponent implements OnInit { if (!this.playlistElement || !this.playlistElement.video) return {} return { - videoId: this.playlistElement.video.uuid, + playlistPosition: this.playlistElement.position, start: this.playlistElement.startTimestamp, stop: this.playlistElement.stopTimestamp, resume: true -- cgit v1.2.3