# NotificationsPage

**Kind:** Class

**Source:** `Frontend/src/app/components/notifications/notificationsPage.ts` (line 9)

**Part of:** [Frontend](subsystem-frontend-src-app)

`NotificationsPage` manages the notifications view in the frontend application. It loads user notifications during initialization, updates notification state, switches tabs, and opens notification-related links or details.

## Methods

| Method | Signature | Returns |
|---|---|---|
| `changeTabs` | `changeTabs(targetTab: undefined)` | `void` |
| `openLink` | `openLink(e: undefined, openDirect: boolean)` | `void` |
| `ngOnInit` | `ngOnInit()` | `void` |
| `open` | `open(ID: undefined, Type: undefined, index: undefined, notificationID: undefined, seen: undefined)` | `void` |
| `getUserNotifications` | `getUserNotifications(UserId: undefined)` | `void` |
| `updateUserNotifications` | `updateUserNotifications(NotificationId: undefined)` | `void` |

## Properties

| Property | Type |
|---|---|
| `openedInPopup` | `boolean` |
| `tabsSwitch` | `string` |
| `notificationsData` | `any` |
| `subscription` | `Subscription` |

## Diagram

```mermaid
graph LR
  A[NotificationsPage] --> B[ngOnInit]
  B --> C[getUserNotifications]
  A --> D[changeTabs]
  A --> E[open]
  A --> F[openLink]
  A --> G[updateUserNotifications]
  G --> C
```

## Usage

```ts
// Interact with an existing NotificationsPage instance,
// such as one obtained through an Angular component fixture.
const page: NotificationsPage = componentInstance;

page.ngOnInit();
page.changeTabs();
page.open(notification);
page.openLink(notification);
page.updateUserNotifications();
```

## AI Coding Instructions

- Call `getUserNotifications()` from initialization and after notification updates when the displayed list must be refreshed.
- Keep tab-switching behavior inside `changeTabs()` rather than duplicating tab state changes in template handlers.
- Route notification selection through `open()` and external or target navigation through `openLink()`.
- Preserve the distinction between reading notifications with `getUserNotifications()` and changing their state with `updateUserNotifications()`.

## Relationships

- IMPORTS → `Notifications`
- IMPORTS → `AuthService`
- IMPORTS → `AppSettings`
- CALLS → `SytemNotificationController`

## Used by

2 references from 2 files. Each is a place in this repository where the symbol is actually used — go read one rather than trusting an example.

### Imported by (2)

- `AppRoutingModule` — `Frontend/src/app/app-routing.module.ts`:1
- `TranslateHandler` — `Frontend/src/app/components/shared/shared.module.ts`:1
