42 lines
1.1 KiB
TypeScript
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
|
|
}
|
|
}
|