HEX
Server: Apache/2.4.41 (Ubuntu)
System: Linux ip-172-31-42-149 5.15.0-1084-aws #91~20.04.1-Ubuntu SMP Fri May 2 07:00:04 UTC 2025 aarch64
User: ubuntu (1000)
PHP: 7.4.33
Disabled: pcntl_alarm,pcntl_fork,pcntl_waitpid,pcntl_wait,pcntl_wifexited,pcntl_wifstopped,pcntl_wifsignaled,pcntl_wifcontinued,pcntl_wexitstatus,pcntl_wtermsig,pcntl_wstopsig,pcntl_signal,pcntl_signal_get_handler,pcntl_signal_dispatch,pcntl_get_last_error,pcntl_strerror,pcntl_sigprocmask,pcntl_sigwaitinfo,pcntl_sigtimedwait,pcntl_exec,pcntl_getpriority,pcntl_setpriority,pcntl_async_signals,pcntl_unshare,
Upload Files
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();
  }

}