Stop read notifications after user logouts

This commit is contained in:
Jose Alberto Hernandez
2025-04-06 17:52:31 -05:00
parent 6ec7c9e774
commit b2d3688e4d
5 changed files with 13 additions and 4 deletions
@@ -101,7 +101,7 @@ export class SidenavComponent implements OnInit, AfterViewInit {
*/
getFrequentActivities() {
const frequencyCounts: any = {};
let index = this.userActivity.length;
let index = this.userActivity?.length;
while (index) {
frequencyCounts[this.userActivity[--index]] = (frequencyCounts[this.userActivity[index]] || 0) + 1;
}
@@ -66,7 +66,7 @@
</button>
<div #notifications>
<mifosx-notifications-tray fxHide.lt-md></mifosx-notifications-tray>
<mifosx-notifications-tray #notificationsTray fxHide.lt-md></mifosx-notifications-tray>
</div>
<div #themeToggle>
@@ -28,6 +28,7 @@ import { ConfigurationWizardService } from '../../../configuration-wizard/config
/** Custom Components */
import { ConfigurationWizardComponent } from '../../../configuration-wizard/configuration-wizard.component';
import { NotificationsTrayComponent } from 'app/shared/notifications-tray/notifications-tray.component';
/**
* Toolbar component.
@@ -46,6 +47,7 @@ export class ToolbarComponent implements OnInit, AfterViewInit, AfterContentChec
@ViewChild('appMenu') appMenu: ElementRef<any>;
/* Template for popover on appMenu */
@ViewChild('templateAppMenu') templateAppMenu: TemplateRef<any>;
@ViewChild('notificationsTray') notificationsTray: NotificationsTrayComponent;
/** Subscription to breakpoint observer for handset. */
isHandset$: Observable<boolean> = this.breakpointObserver
@@ -112,7 +114,10 @@ export class ToolbarComponent implements OnInit, AfterViewInit, AfterContentChec
* Logs out the authenticated user and redirects to login page.
*/
logout() {
this.authenticationService.logout().subscribe(() => this.router.navigate(['/login'], { replaceUrl: true }));
this.authenticationService.logout().subscribe(() => {
this.notificationsTray.destroy();
this.router.navigate(['/login'], { replaceUrl: true });
});
}
/**
@@ -69,7 +69,7 @@ export class DashboardComponent implements OnInit {
*/
getFrequentActivities() {
const frequencyCounts: any = {};
let index = this.userActivity.length;
let index = this.userActivity?.length;
while (index) {
frequencyCounts[this.userActivity[--index]] = (frequencyCounts[this.userActivity[index]] || 0) + 1;
}
@@ -64,6 +64,10 @@ export class NotificationsTrayComponent implements OnInit, OnDestroy {
}
ngOnDestroy() {
this.destroy();
}
public destroy() {
clearTimeout(this.timer);
}