X-Git-Url: https://git.immae.eu/?a=blobdiff_plain;f=client%2Fsrc%2Fapp%2Fshared%2Fshared-custom-markup%2Fpeertube-custom-tags%2Fvideo-miniature-markup.component.ts;h=cbbacf77c65d6833b14553c6a1424d97b158ced7;hb=2760b454a761f6af3138b2fb5f34340772ab0d1e;hp=dfb4c497f12e4cb8a0ba3bdb7026da7d0fac6179;hpb=9105634f16e5dfc66df198f23dbfae77dff2d821;p=github%2FChocobozzz%2FPeerTube.git diff --git a/client/src/app/shared/shared-custom-markup/peertube-custom-tags/video-miniature-markup.component.ts b/client/src/app/shared/shared-custom-markup/peertube-custom-tags/video-miniature-markup.component.ts index dfb4c497f..cbbacf77c 100644 --- a/client/src/app/shared/shared-custom-markup/peertube-custom-tags/video-miniature-markup.component.ts +++ b/client/src/app/shared/shared-custom-markup/peertube-custom-tags/video-miniature-markup.component.ts @@ -1,7 +1,10 @@ -import { Component, Input, OnInit } from '@angular/core' -import { AuthService } from '@app/core' -import { Video, VideoService } from '../../shared-main' +import { finalize } from 'rxjs/operators' +import { Component, EventEmitter, Input, OnInit, Output } from '@angular/core' +import { AuthService, Notifier } from '@app/core' +import { FindInBulkService } from '@app/shared/shared-search' +import { Video } from '../../shared-main' import { MiniatureDisplayOptions } from '../../shared-video-miniature' +import { CustomMarkupComponent } from './shared' /* * Markup component that creates a video miniature only @@ -12,11 +15,12 @@ import { MiniatureDisplayOptions } from '../../shared-video-miniature' templateUrl: 'video-miniature-markup.component.html', styleUrls: [ 'video-miniature-markup.component.scss' ] }) -export class VideoMiniatureMarkupComponent implements OnInit { +export class VideoMiniatureMarkupComponent implements CustomMarkupComponent, OnInit { @Input() uuid: string @Input() onlyDisplayTitle: boolean + @Input() video: Video - video: Video + @Output() loaded = new EventEmitter() displayOptions: MiniatureDisplayOptions = { date: true, @@ -31,7 +35,8 @@ export class VideoMiniatureMarkupComponent implements OnInit { constructor ( private auth: AuthService, - private videoService: VideoService + private findInBulk: FindInBulkService, + private notifier: Notifier ) { } getUser () { @@ -45,7 +50,14 @@ export class VideoMiniatureMarkupComponent implements OnInit { } } - this.videoService.getVideo({ videoId: this.uuid }) - .subscribe(video => this.video = video) + if (this.video) return + + this.findInBulk.getVideo(this.uuid) + .pipe(finalize(() => this.loaded.emit(true))) + .subscribe({ + next: video => this.video = video, + + error: err => this.notifier.error($localize`Error in video miniature component: ${err.message}`) + }) } }