+
+
+
+
+ {{ notification().title }}
+
+
+
+
+ {{ notification().message }}
+
+
+
+
+
+ @if (!notification().markedAsRead) {
+
+
+ } @else {
+
+
+ }
+
+
diff --git a/libs/shell/notifications/src/lib/components/notification/notification.component.ts b/libs/shell/notifications/src/lib/components/notification/notification.component.ts
new file mode 100644
index 000000000..57493dd9d
--- /dev/null
+++ b/libs/shell/notifications/src/lib/components/notification/notification.component.ts
@@ -0,0 +1,64 @@
+import {
+ ChangeDetectionStrategy,
+ Component,
+ computed,
+ inject,
+ input,
+ output,
+} from '@angular/core';
+import { DatePipe } from '@angular/common';
+import { Router } from '@angular/router';
+import { formatDistanceToNow } from 'date-fns';
+import { NgIcon, provideIcons } from '@ng-icons/core';
+import { isaActionCheck } from '@isa/icons';
+import { logger } from '@isa/core/logging';
+import { Notification } from '@isa/shell/common';
+
+@Component({
+ selector: 'shell-notification',
+ templateUrl: './notification.component.html',
+ styleUrl: './notification.component.css',
+ changeDetection: ChangeDetectionStrategy.OnPush,
+ imports: [DatePipe, NgIcon],
+ providers: [provideIcons({ isaActionCheck })],
+})
+export class ShellNotificationComponent {
+ readonly #logger = logger({ component: 'ShellNotificationComponent' });
+ readonly #router = inject(Router);
+
+ notification = input.required