File: /var/www/vhost/disk-apps/pwa.sports-crowd.com/src/app/pages/notification/notification.page.ts
import { NotificationService } from './../../services/notification.service';
import { TranslateService } from '@ngx-translate/core';
import { Component, OnInit } from '@angular/core';
import { AlertController } from '@ionic/angular';
import { UtilsService } from './../../services/utils.service';
@Component({
selector: 'app-notification',
templateUrl: './notification.page.html',
styleUrls: ['./notification.page.scss'],
})
export class NotificationPage implements OnInit {
notifications: any[] = [];
deletedNotifications = [];
time: number;
constructor(
public alertController: AlertController,
public translateService: TranslateService,
private notificationService: NotificationService,
public utilsService: UtilsService
) { }
ngOnInit() {
this.getNotifications();
this.getDeletedNotifications();
}
getNotifications() {
this.utilsService.presentLoading(this.translateService.instant("all.loading")).then(async () => {
(await this.notificationService.getNotifications()).subscribe((resp: any) => {
this.notifications = resp;
this.utilsService.dismissLoading();
this.setViewed();
});
});
}
getDeletedNotifications() {
let storedNotifications = localStorage.getItem('deletedNotifications');
if (storedNotifications) {
this.deletedNotifications = JSON.parse(storedNotifications);
}
}
setViewed() {
localStorage.setItem('viewedNotificationsCount', this.notifications.length.toString());
}
async deleteNotification(index) {
const alert = await this.alertController.create({
message: this.translateService.instant("DELETE_NOTIFICATION_QUESTION"),
buttons: [
{
text: this.translateService.instant("all.cancel"),
role: "cancel",
cssClass: "secondary"
},
{
text: this.translateService.instant("all.accept"),
handler: () => {
this.deletedNotifications.push(index);
localStorage.setItem('deletedNotifications', JSON.stringify(this.deletedNotifications));
this.getDeletedNotifications();
},
},
],
});
await alert.present();
}
dateFormat(date) {
return new Date(date).toLocaleString();
}
}