PeerTube/client/src/app/shared/shared-support-modal/support-modal.component.ts

42 lines
1.1 KiB
TypeScript

import { Component, Input, ViewChild } from '@angular/core'
import { MarkdownService } from '@app/core'
import { VideoDetails } from '@app/shared/shared-main'
import { NgbModal } from '@ng-bootstrap/ng-bootstrap'
import { VideoChannel } from '@shared/models'
@Component({
selector: 'my-support-modal',
templateUrl: './support-modal.component.html'
})
export class SupportModalComponent {
@Input() video: VideoDetails = null
@Input() videoChannel: VideoChannel = null
@ViewChild('modal', { static: true }) modal: NgbModal
htmlSupport = ''
displayName = ''
constructor (
private markdownService: MarkdownService,
private modalService: NgbModal
) { }
show () {
const modalRef = this.modalService.open(this.modal, { centered: true })
const support = this.video?.support || this.videoChannel.support
this.markdownService.enhancedMarkdownToHTML({ markdown: support })
.then(r => {
this.htmlSupport = r
})
this.displayName = this.video
? this.video.channel.displayName
: this.videoChannel.displayName
return modalRef
}
}