aboutsummaryrefslogtreecommitdiffhomepage
path: root/client/src/app/core/routing/meta.service.ts
blob: a5ac778dc20812c38e8b36633c3997e61f6ca444 (plain) (blame)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
import { Injectable } from '@angular/core'
import { Meta, Title } from '@angular/platform-browser'
import { HTMLServerConfig } from '@shared/models/server'
import { ServerService } from '../server'

export interface MetaSettings {
  title?: string
}

@Injectable()
export class MetaService {
  private config: HTMLServerConfig

  constructor (
    private titleService: Title,
    private meta: Meta,
    private server: ServerService
  ) {
    this.config = this.server.getTmpConfig()
    this.server.getConfig()
      .subscribe(config => this.config = config)
  }

  setTitle (subTitle?: string) {
    let title = ''
    if (subTitle) title += `${subTitle} - `

    title += this.config.instance.name

    this.titleService.setTitle(title)
  }

  setTag (name: string, value: string) {
    this.meta.addTag({ name, content: value })
  }

  update (meta: MetaSettings) {
    this.setTitle(meta.title)
  }
}