1 import { Component, EventEmitter, Input, OnInit, Output, ViewChild } from '@angular/core'
2 import { NgbAccordion } from '@ng-bootstrap/ng-bootstrap'
3 import { InstanceService } from './instance.service'
4 import { Notifier } from '@app/core'
5 import { About } from '@shared/models/server'
8 selector: 'my-instance-about-accordion',
9 templateUrl: './instance-about-accordion.component.html',
10 styleUrls: ['./instance-about-accordion.component.scss']
12 export class InstanceAboutAccordionComponent implements OnInit {
13 @ViewChild('accordion', { static: true }) accordion: NgbAccordion
14 @Output() init: EventEmitter<InstanceAboutAccordionComponent> = new EventEmitter<InstanceAboutAccordionComponent>()
29 moderationInformation: '',
34 private instanceService: InstanceService,
35 private notifier: Notifier
39 this.instanceService.getAbout()
44 this.aboutHtml = await this.instanceService.buildHtml(about)
49 err => this.notifier.error(err.message)
53 getAdministratorsPanel () {
54 if (!this.about) return false
55 if (!this.panels.administrators) return false
57 return !!(this.aboutHtml?.administrator || this.about?.instance.maintenanceLifetime || this.about?.instance.businessModel)
60 get moderationPanel () {
61 return this.panels.moderation && !!this.aboutHtml.moderationInformation
64 get codeOfConductPanel () {
65 return this.panels.codeOfConduct && !!this.aboutHtml.codeOfConduct
69 return this.panels.terms && !!this.aboutHtml.terms