aboutsummaryrefslogtreecommitdiffhomepage
diff options
context:
space:
mode:
-rw-r--r--client/src/app/+videos/+video-watch/video-watch-playlist.component.ts3
-rw-r--r--client/src/app/+videos/+video-watch/video-watch.component.ts13
2 files changed, 15 insertions, 1 deletions
diff --git a/client/src/app/+videos/+video-watch/video-watch-playlist.component.ts b/client/src/app/+videos/+video-watch/video-watch-playlist.component.ts
index a70167da5..0a4d6bfd1 100644
--- a/client/src/app/+videos/+video-watch/video-watch-playlist.component.ts
+++ b/client/src/app/+videos/+video-watch/video-watch-playlist.component.ts
@@ -118,6 +118,9 @@ export class VideoWatchPlaylistComponent {
118 updatePlaylistIndex (position: number) { 118 updatePlaylistIndex (position: number) {
119 if (this.playlistElements.length === 0 || !position) return 119 if (this.playlistElements.length === 0 || !position) return
120 120
121 // Handle the reverse index
122 if (position < 0) position = this.playlist.videosLength + position + 1
123
121 for (const playlistElement of this.playlistElements) { 124 for (const playlistElement of this.playlistElements) {
122 // >= if the previous videos were not valid 125 // >= if the previous videos were not valid
123 if (playlistElement.video && playlistElement.position >= position) { 126 if (playlistElement.video && playlistElement.position >= position) {
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 5530dc8ad..107826824 100644
--- a/client/src/app/+videos/+video-watch/video-watch.component.ts
+++ b/client/src/app/+videos/+video-watch/video-watch.component.ts
@@ -188,7 +188,18 @@ export class VideoWatchComponent implements OnInit, OnDestroy {
188 }) 188 })
189 189
190 this.queryParamsSub = this.route.queryParams.subscribe(queryParams => { 190 this.queryParamsSub = this.route.queryParams.subscribe(queryParams => {
191 this.playlistPosition = queryParams[ 'playlistPosition' ] 191 // Handle the ?playlistPosition
192 const positionParam = queryParams[ 'playlistPosition' ]
193
194 this.playlistPosition = positionParam === 'last'
195 ? -1 // Handle the "last" index
196 : parseInt(positionParam, 10)
197
198 if (isNaN(this.playlistPosition)) {
199 console.error(`playlistPosition query param '${positionParam}' was parsed as NaN, defaulting to 1.`)
200 this.playlistPosition = 1
201 }
202
192 this.videoWatchPlaylist.updatePlaylistIndex(this.playlistPosition) 203 this.videoWatchPlaylist.updatePlaylistIndex(this.playlistPosition)
193 204
194 const start = queryParams[ 'start' ] 205 const start = queryParams[ 'start' ]