-import { Component, OnInit } from '@angular/core'
-import { ActivatedRoute } from '@angular/router'
+import { Component, OnDestroy, OnInit } from '@angular/core'
import { Account } from '@app/shared/account/account.model'
import { AccountService } from '@app/shared/account/account.service'
import { I18n } from '@ngx-translate/i18n-polyfill'
+import { Subscription } from 'rxjs'
+import { MarkdownService } from '@app/shared/renderer'
@Component({
selector: 'my-account-about',
templateUrl: './account-about.component.html',
styleUrls: [ './account-about.component.scss' ]
})
-export class AccountAboutComponent implements OnInit {
+export class AccountAboutComponent implements OnInit, OnDestroy {
account: Account
+ descriptionHTML = ''
+
+ private accountSub: Subscription
constructor (
- private route: ActivatedRoute,
private i18n: I18n,
- private accountService: AccountService
+ private accountService: AccountService,
+ private markdownService: MarkdownService
) { }
ngOnInit () {
// Parent get the account for us
- this.accountService.accountLoaded
- .subscribe(account => this.account = account)
+ this.accountSub = this.accountService.accountLoaded
+ .subscribe(async account => {
+ this.account = account
+ this.descriptionHTML = await this.markdownService.textMarkdownToHTML(this.account.description, true)
+ })
+ }
+
+ ngOnDestroy () {
+ if (this.accountSub) this.accountSub.unsubscribe()
}
getAccountDescription () {
- if (this.account.description) return this.account.description
+ if (this.descriptionHTML) return this.descriptionHTML
return this.i18n('No description')
}