+ private injectBroadcastMessage () {
+ concat(
+ this.serverService.getConfig().pipe(first()),
+ this.serverService.configReloaded
+ ).subscribe(async config => {
+ this.broadcastMessage = null
+ this.screenService.isBroadcastMessageDisplayed = false
+
+ const messageConfig = config.broadcastMessage
+
+ if (messageConfig.enabled) {
+ // Already dismissed this message?
+ if (messageConfig.dismissable && localStorage.getItem(AppComponent.BROADCAST_MESSAGE_KEY) === messageConfig.message) {
+ return
+ }
+
+ const classes: { [id in BroadcastMessageLevel]: string } = {
+ info: 'alert-info',
+ warning: 'alert-warning',
+ error: 'alert-danger'
+ }
+
+ this.broadcastMessage = {
+ message: await this.markdownService.completeMarkdownToHTML(messageConfig.message),
+ dismissable: messageConfig.dismissable,
+ class: classes[messageConfig.level]
+ }
+
+ this.screenService.isBroadcastMessageDisplayed = true
+ }
+ })
+ }
+