aboutsummaryrefslogblamecommitdiffhomepage
path: root/client/src/app/shared/video/video-thumbnail.component.ts
blob: fe65ade9442a1b5da0beedaab65b269fa699d0fd (plain) (tree)
1
2
3
4
5
6
7
8
9
10
11
12

                                                
                                                               








                                                    

                             
 

                                                      
 


                              
                                              




                                  







                                                          





                                               
 
import { Component, Input } from '@angular/core'
import { Video } from './video.model'
import { ScreenService } from '@app/shared/misc/screen.service'

@Component({
  selector: 'my-video-thumbnail',
  styleUrls: [ './video-thumbnail.component.scss' ],
  templateUrl: './video-thumbnail.component.html'
})
export class VideoThumbnailComponent {
  @Input() video: Video
  @Input() nsfw = false
  @Input() routerLink: any[]
  @Input() queryParams: any[]

  constructor (private screenService: ScreenService) {
  }

  getImageUrl () {
    if (!this.video) return ''

    if (this.screenService.isInMobileView()) {
      return this.video.previewUrl
    }

    return this.video.thumbnailUrl
  }

  getProgressPercent () {
    if (!this.video.userHistory) return 0

    const currentTime = this.video.userHistory.currentTime

    return (currentTime / this.video.duration) * 100
  }

  getVideoRouterLink () {
    if (this.routerLink) return this.routerLink

    return [ '/videos/watch', this.video.uuid ]
  }
}