X-Git-Url: https://git.immae.eu/?a=blobdiff_plain;f=client%2Fsrc%2Fapp%2Fshared%2Fvideo-playlist%2Fvideo-playlist.model.ts;h=6f27e74752bc8b63f14e10c06767e95521626d66;hb=ba430d7516bc5b1324b60571ba7594460969b7fb;hp=ec8013e8902fa4a95d06e22907c1b452e7488782;hpb=f0a3988066f72a28bb44520af072f18d91d77dde;p=github%2FChocobozzz%2FPeerTube.git diff --git a/client/src/app/shared/video-playlist/video-playlist.model.ts b/client/src/app/shared/video-playlist/video-playlist.model.ts index ec8013e89..6f27e7475 100644 --- a/client/src/app/shared/video-playlist/video-playlist.model.ts +++ b/client/src/app/shared/video-playlist/video-playlist.model.ts @@ -38,6 +38,9 @@ export class VideoPlaylist implements ServerVideoPlaylist { videoChannelBy?: string videoChannelAvatarUrl?: string + private thumbnailVersion: number + private originThumbnailUrl: string + constructor (hash: ServerVideoPlaylist, translations: {}) { const absoluteAPIUrl = getAbsoluteAPIUrl() @@ -51,7 +54,13 @@ export class VideoPlaylist implements ServerVideoPlaylist { this.privacy = hash.privacy this.thumbnailPath = hash.thumbnailPath - this.thumbnailUrl = absoluteAPIUrl + hash.thumbnailPath + + if (this.thumbnailPath) { + this.thumbnailUrl = absoluteAPIUrl + hash.thumbnailPath + this.originThumbnailUrl = this.thumbnailUrl + } else { + this.thumbnailUrl = window.location.origin + '/client/assets/images/default-playlist.jpg' + } this.videosLength = hash.videosLength @@ -76,4 +85,13 @@ export class VideoPlaylist implements ServerVideoPlaylist { this.displayName = peertubeTranslate(this.displayName, translations) } } + + refreshThumbnail () { + if (!this.originThumbnailUrl) return + + if (!this.thumbnailVersion) this.thumbnailVersion = 0 + this.thumbnailVersion++ + + this.thumbnailUrl = this.originThumbnailUrl + '?v' + this.thumbnailVersion + } }