aboutsummaryrefslogblamecommitdiffhomepage
path: root/client/src/app/shared/shared-custom-markup/peertube-custom-tags/embed-markup.component.ts
blob: 4462903db696cbb444901dfa21d2d69cc1dec293 (plain) (tree)
1
2
3
4
5
6
7
8
9


                                                                                                      
                                                




                              
                                                                            


                                               

                   









                                                                                                           
import { buildPlaylistLink, buildVideoLink, buildVideoOrPlaylistEmbed } from 'src/assets/player/utils'
import { environment } from 'src/environments/environment'
import { Component, ElementRef, Input, OnInit } from '@angular/core'
import { CustomMarkupComponent } from './shared'

@Component({
  selector: 'my-embed-markup',
  template: ''
})
export class EmbedMarkupComponent implements CustomMarkupComponent, OnInit {
  @Input() uuid: string
  @Input() type: 'video' | 'playlist' = 'video'

  loaded: undefined

  constructor (private el: ElementRef) { }

  ngOnInit () {
    const link = this.type === 'video'
      ? buildVideoLink({ baseUrl: `${environment.originServerUrl}/videos/embed/${this.uuid}` })
      : buildPlaylistLink({ baseUrl: `${environment.originServerUrl}/video-playlists/embed/${this.uuid}` })

    this.el.nativeElement.innerHTML = buildVideoOrPlaylistEmbed(link, this.uuid)
  }
}