diff --git a/src/app/components/shared/_dialogs/motd-dialog/motd-dialog.component.html b/src/app/components/shared/_dialogs/motd-dialog/motd-dialog.component.html index 5514f3c2ca478e3fedb8177b9506a780d1e21d7f..55b77aa3cb8ad45f3c56a1a5d1616014f41f2790 100644 --- a/src/app/components/shared/_dialogs/motd-dialog/motd-dialog.component.html +++ b/src/app/components/shared/_dialogs/motd-dialog/motd-dialog.component.html @@ -19,16 +19,16 @@ </ars-col> </ars-row> <ars-row class="message" ars-flex-box> - <ng-container *ngFor="let message of motdsList.messagesNew"> - <app-motd-message [message]="message"></app-motd-message> + <ng-container *ngFor="let message of motdsList.messages"> + <app-motd-message *ngIf="!message.isRead && message.isNew" [message]="message"></app-motd-message> </ng-container> </ars-row> <ars-row> <h4 class="container-title">{{ 'footer.motd-title-old' | translate }}</h4> </ars-row> <ars-row class="message" ars-flex-box> - <ng-container *ngFor="let message of motdsList.messagesOld"> - <app-motd-message [message]="message"></app-motd-message> + <ng-container *ngFor="let message of motdsList.messages"> + <app-motd-message *ngIf="message.isRead || !message.isNew" [message]="message"></app-motd-message> </ng-container> </ars-row> <ars-row [height]="32"></ars-row> diff --git a/src/app/models/motd-list.ts b/src/app/models/motd-list.ts index 4d9c84d1036898b4e34fce51a770e2cfe8e0418e..b3c626f29e26f934acd5ecc1347471ae709753ef 100644 --- a/src/app/models/motd-list.ts +++ b/src/app/models/motd-list.ts @@ -4,6 +4,7 @@ export class MotdList { public messagesNew: Motd[] = []; public messagesOld: Motd[] = []; + public messages: Motd[] = []; private localRead: string[]; constructor( @@ -16,6 +17,10 @@ export class MotdList { this.localRead = JSON.parse(localStorage.getItem('motds')); this.parse(this.messagesNew, messagesNew, true); this.parse(this.messagesOld, messagesOld, false); + this.messages = this.messagesNew.concat(this.messagesOld); + this.sortList(this.messagesNew); + this.sortList(this.messagesOld); + this.sortList(this.messages); } private parse(list: Motd[], messages: any, isNew: boolean): void { @@ -34,6 +39,9 @@ export class MotdList { }); list.push(motd); }); + } + + private sortList(list: Motd[]) { list.sort((a, b) => b.startTimestamp.getTime() - a.startTimestamp.getTime()); }