import { Component, OnDestroy, OnInit } from '@angular/core'
-import { ActivatedRoute, Router } from '@angular/router'
-import { Location } from '@angular/common'
-import { getParameterByName, immutableAssign } from '@app/shared/misc/utils'
-import { NotificationsService } from 'angular2-notifications'
-import 'rxjs/add/observable/from'
-import 'rxjs/add/operator/concatAll'
-import { AuthService } from '../../core/auth'
-import { ConfirmService } from '../../core/confirm'
-import { AbstractVideoList } from '../../shared/video/abstract-video-list'
-import { VideoService } from '../../shared/video/video.service'
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 (
- protected route: ActivatedRoute,
- private accountService: AccountService
+ private i18n: I18n,
+ 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 'No description'
+ return this.i18n('No description')
}
}