diff --git a/src/app/components/shared/footer/footer.component.ts b/src/app/components/shared/footer/footer.component.ts index 9b1dd21d72f2c83ae44e61291c98f02e283a8fd0..46dc88e79e92eef203b01ce3b782c7c65d17717d 100644 --- a/src/app/components/shared/footer/footer.component.ts +++ b/src/app/components/shared/footer/footer.component.ts @@ -67,11 +67,6 @@ export class FooterComponent implements OnInit { dialogRef.componentInstance.motdsList = e; }); }); - this.motdService.getList().subscribe(e => { - if (e.containsUnreadMessage()) { - this.motdService.requestDialog(); - } - }); this.deviceType = localStorage.getItem('deviceType'); if (!this.themeService.getThemeByKey(this.themeClass) || !this.themeService.getTheme()['source']['_value']) { if (this.deviceType === 'mobile') { diff --git a/src/app/components/shared/header/header.component.ts b/src/app/components/shared/header/header.component.ts index f402566f9b4e67e1f35be72bc1c062b78a56628b..48b9abe735ad3e6ca2090d9de68415ce9ff0b8b7 100644 --- a/src/app/components/shared/header/header.component.ts +++ b/src/app/components/shared/header/header.component.ts @@ -52,8 +52,9 @@ export class HeaderComponent implements OnInit { ngOnInit() { this.eventService.on('userLogin').subscribe(e => { - this.motdService.checkNewMessage(); - this.motdService.requestDialog(); + this.motdService.checkNewMessage(() => { + this.motdService.requestDialog(); + }); }); if (localStorage.getItem('loggedin') !== null && localStorage.getItem('loggedin') === 'true') { this.authenticationService.refreshLogin(); diff --git a/src/app/services/http/motd.service.ts b/src/app/services/http/motd.service.ts index 6da611470f9cfe61b2720eae8fe8ebc1d2cc29da..ac412b2560ded97645fc6a0090f9e6b7f1139a64 100644 --- a/src/app/services/http/motd.service.ts +++ b/src/app/services/http/motd.service.ts @@ -29,9 +29,12 @@ export class MotdService extends BaseHttpService { }, 30000); } - public checkNewMessage(): void { + public checkNewMessage(runnable?: () => void): void { this.getList().subscribe(e => { this.validateNewMessage(e); + if (runnable && this.hasNewMessages) { + runnable(); + } }); } @@ -57,11 +60,14 @@ export class MotdService extends BaseHttpService { }); } - public onNewMessage(): Observable<boolean> { + public onNewMessage(run?: boolean): Observable<boolean> { return new Observable<boolean>(e => { this.newMessageTrigger.subscribe(b => { e.next(b); }); + if (run) { + e.next(this.hasNewMessages); + } this.checkNewMessage(); }); }