From ead69f38e27cd5e4a977a114696650ecf69e8edd Mon Sep 17 00:00:00 2001
From: Albert <Albert.Bruns@mgm-tp.com>
Date: Tue, 29 Apr 2025 10:31:19 +0200
Subject: [PATCH] OZG-7773 CR Anmerkungen

---
 .../mail-icon/mail-icon.component.spec.ts     | 25 +---------
 .../icons/mail-icon/mail-icon.component.ts    | 27 +----------
 .../lib/icons/mail-icon/mail-icon.stories.ts  | 23 ----------
 .../mail-icon/mail-icon.component.html        |  5 --
 .../mail-icon/mail-icon.component.spec.ts     | 46 -------------------
 .../mail-icon/mail-icon.component.ts          | 12 -----
 .../postfach-mail-list.component.html         |  2 +-
 .../postfach-mail-list.component.spec.ts      |  8 ++--
 .../libs/postfach/src/lib/postfach.module.ts  |  5 +-
 9 files changed, 10 insertions(+), 143 deletions(-)
 delete mode 100644 alfa-client/libs/postfach/src/lib/postfach-mail-list-container/postfach-mail-list/mail-icon/mail-icon.component.html
 delete mode 100644 alfa-client/libs/postfach/src/lib/postfach-mail-list-container/postfach-mail-list/mail-icon/mail-icon.component.spec.ts
 delete mode 100644 alfa-client/libs/postfach/src/lib/postfach-mail-list-container/postfach-mail-list/mail-icon/mail-icon.component.ts

diff --git a/alfa-client/libs/design-system/src/lib/icons/mail-icon/mail-icon.component.spec.ts b/alfa-client/libs/design-system/src/lib/icons/mail-icon/mail-icon.component.spec.ts
index fbf7503ae1..31c0239ddf 100644
--- a/alfa-client/libs/design-system/src/lib/icons/mail-icon/mail-icon.component.spec.ts
+++ b/alfa-client/libs/design-system/src/lib/icons/mail-icon/mail-icon.component.spec.ts
@@ -1,30 +1,7 @@
-/*
- * Copyright (C) 2024 Das Land Schleswig-Holstein vertreten durch den
- * Ministerpräsidenten des Landes Schleswig-Holstein
- * Staatskanzlei
- * Abteilung Digitalisierung und zentrales IT-Management der Landesregierung
- *
- * Lizenziert unter der EUPL, Version 1.2 oder - sobald
- * diese von der Europäischen Kommission genehmigt wurden -
- * Folgeversionen der EUPL ("Lizenz");
- * Sie dürfen dieses Werk ausschließlich gemäß
- * dieser Lizenz nutzen.
- * Eine Kopie der Lizenz finden Sie hier:
- *
- * https://joinup.ec.europa.eu/collection/eupl/eupl-text-eupl-12
- *
- * Sofern nicht durch anwendbare Rechtsvorschriften
- * gefordert oder in schriftlicher Form vereinbart, wird
- * die unter der Lizenz verbreitete Software "so wie sie
- * ist", OHNE JEGLICHE GEWÄHRLEISTUNG ODER BEDINGUNGEN -
- * ausdrücklich oder stillschweigend - verbreitet.
- * Die sprachspezifischen Genehmigungen und Beschränkungen
- * unter der Lizenz sind dem Lizenztext zu entnehmen.
- */
 import { ComponentFixture, TestBed } from '@angular/core/testing';
 import { MailIconComponent } from './mail-icon.component';
 
-describe('MailboxIconComponent', () => {
+describe('MailIconComponent', () => {
   let component: MailIconComponent;
   let fixture: ComponentFixture<MailIconComponent>;
 
diff --git a/alfa-client/libs/design-system/src/lib/icons/mail-icon/mail-icon.component.ts b/alfa-client/libs/design-system/src/lib/icons/mail-icon/mail-icon.component.ts
index 452e57478e..9637fa49a5 100644
--- a/alfa-client/libs/design-system/src/lib/icons/mail-icon/mail-icon.component.ts
+++ b/alfa-client/libs/design-system/src/lib/icons/mail-icon/mail-icon.component.ts
@@ -1,26 +1,3 @@
-/*
- * Copyright (C) 2024 Das Land Schleswig-Holstein vertreten durch den
- * Ministerpräsidenten des Landes Schleswig-Holstein
- * Staatskanzlei
- * Abteilung Digitalisierung und zentrales IT-Management der Landesregierung
- *
- * Lizenziert unter der EUPL, Version 1.2 oder - sobald
- * diese von der Europäischen Kommission genehmigt wurden -
- * Folgeversionen der EUPL ("Lizenz");
- * Sie dürfen dieses Werk ausschließlich gemäß
- * dieser Lizenz nutzen.
- * Eine Kopie der Lizenz finden Sie hier:
- *
- * https://joinup.ec.europa.eu/collection/eupl/eupl-text-eupl-12
- *
- * Sofern nicht durch anwendbare Rechtsvorschriften
- * gefordert oder in schriftlicher Form vereinbart, wird
- * die unter der Lizenz verbreitete Software "so wie sie
- * ist", OHNE JEGLICHE GEWÄHRLEISTUNG ODER BEDINGUNGEN -
- * ausdrücklich oder stillschweigend - verbreitet.
- * Die sprachspezifischen Genehmigungen und Beschränkungen
- * unter der Lizenz sind dem Lizenztext zu entnehmen.
- */
 import { NgClass } from '@angular/common';
 import { Component, Input } from '@angular/core';
 import { twMerge } from 'tailwind-merge';
@@ -50,7 +27,7 @@ import { IconVariants, iconVariants } from '../iconVariants';
         stroke-linejoin="round"
       />
     </svg>
-    @if (showBadge) {
+    @if (withBadge) {
       <div
         [ngClass]="twMerge('absolute right-0.5 top-1 h-2.5 w-2.5 -translate-y-1/2 translate-x-1/2 rounded-full', badgeClass)"
         data-test-class="mail-icon-badge"
@@ -61,7 +38,7 @@ import { IconVariants, iconVariants } from '../iconVariants';
 export class MailIconComponent {
   @Input() size: IconVariants['size'] = 'medium';
   @Input() class: string = undefined;
-  @Input() showBadge: boolean = false;
+  @Input() withBadge: boolean = false;
   @Input() badgeClass: string = 'bg-primary';
 
   readonly iconVariants = iconVariants;
diff --git a/alfa-client/libs/design-system/src/lib/icons/mail-icon/mail-icon.stories.ts b/alfa-client/libs/design-system/src/lib/icons/mail-icon/mail-icon.stories.ts
index 0039f6813a..8fe25c255e 100644
--- a/alfa-client/libs/design-system/src/lib/icons/mail-icon/mail-icon.stories.ts
+++ b/alfa-client/libs/design-system/src/lib/icons/mail-icon/mail-icon.stories.ts
@@ -1,26 +1,3 @@
-/*
- * Copyright (C) 2024 Das Land Schleswig-Holstein vertreten durch den
- * Ministerpräsidenten des Landes Schleswig-Holstein
- * Staatskanzlei
- * Abteilung Digitalisierung und zentrales IT-Management der Landesregierung
- *
- * Lizenziert unter der EUPL, Version 1.2 oder - sobald
- * diese von der Europäischen Kommission genehmigt wurden -
- * Folgeversionen der EUPL ("Lizenz");
- * Sie dürfen dieses Werk ausschließlich gemäß
- * dieser Lizenz nutzen.
- * Eine Kopie der Lizenz finden Sie hier:
- *
- * https://joinup.ec.europa.eu/collection/eupl/eupl-text-eupl-12
- *
- * Sofern nicht durch anwendbare Rechtsvorschriften
- * gefordert oder in schriftlicher Form vereinbart, wird
- * die unter der Lizenz verbreitete Software "so wie sie
- * ist", OHNE JEGLICHE GEWÄHRLEISTUNG ODER BEDINGUNGEN -
- * ausdrücklich oder stillschweigend - verbreitet.
- * Die sprachspezifischen Genehmigungen und Beschränkungen
- * unter der Lizenz sind dem Lizenztext zu entnehmen.
- */
 import type { Meta, StoryObj } from '@storybook/angular';
 
 import { MailIconComponent } from './mail-icon.component';
diff --git a/alfa-client/libs/postfach/src/lib/postfach-mail-list-container/postfach-mail-list/mail-icon/mail-icon.component.html b/alfa-client/libs/postfach/src/lib/postfach-mail-list-container/postfach-mail-list/mail-icon/mail-icon.component.html
deleted file mode 100644
index 68a71311cc..0000000000
--- a/alfa-client/libs/postfach/src/lib/postfach-mail-list-container/postfach-mail-list/mail-icon/mail-icon.component.html
+++ /dev/null
@@ -1,5 +0,0 @@
-@if(hasNewPostfachNachricht){
-  <ods-mail-icon showBadge="true"/>
-}@else{
-  <ods-mail-icon/>
-}
\ No newline at end of file
diff --git a/alfa-client/libs/postfach/src/lib/postfach-mail-list-container/postfach-mail-list/mail-icon/mail-icon.component.spec.ts b/alfa-client/libs/postfach/src/lib/postfach-mail-list-container/postfach-mail-list/mail-icon/mail-icon.component.spec.ts
deleted file mode 100644
index a3a1e32b9f..0000000000
--- a/alfa-client/libs/postfach/src/lib/postfach-mail-list-container/postfach-mail-list/mail-icon/mail-icon.component.spec.ts
+++ /dev/null
@@ -1,46 +0,0 @@
-import { ComponentFixture, TestBed } from '@angular/core/testing';
-
-import { getElementFromFixtureByType } from '@alfa-client/test-utils';
-import { MailIconComponent } from '@ods/system';
-import { MockComponent } from 'ng-mocks';
-import { PostfachMailListMailIconComponent } from './mail-icon.component';
-
-describe('PostfachMailListMailIconComponent', () => {
-  let component: PostfachMailListMailIconComponent;
-  let fixture: ComponentFixture<PostfachMailListMailIconComponent>;
-
-  beforeEach(async () => {
-    await TestBed.configureTestingModule({
-      imports: [PostfachMailListMailIconComponent],
-      declarations: [MockComponent(MailIconComponent)],
-    }).compileComponents();
-
-    fixture = TestBed.createComponent(PostfachMailListMailIconComponent);
-    component = fixture.componentInstance;
-    fixture.detectChanges();
-  });
-
-  it('should create', () => {
-    expect(component).toBeTruthy();
-  });
-
-  describe('mailIcon', () => {
-    it('should show badge when there is a new message', () => {
-      component.hasNewPostfachNachricht = true;
-
-      fixture.detectChanges();
-
-      const mailIcon: MailIconComponent = getElementFromFixtureByType(fixture, MailIconComponent);
-      expect(mailIcon.showBadge).toBeTruthy();
-    });
-
-    it('should not show badge when there is no new message', () => {
-      component.hasNewPostfachNachricht = false;
-
-      fixture.detectChanges();
-
-      const mailIcon: MailIconComponent = getElementFromFixtureByType(fixture, MailIconComponent);
-      expect(mailIcon.showBadge).toBeFalsy();
-    });
-  });
-});
diff --git a/alfa-client/libs/postfach/src/lib/postfach-mail-list-container/postfach-mail-list/mail-icon/mail-icon.component.ts b/alfa-client/libs/postfach/src/lib/postfach-mail-list-container/postfach-mail-list/mail-icon/mail-icon.component.ts
deleted file mode 100644
index 2503956859..0000000000
--- a/alfa-client/libs/postfach/src/lib/postfach-mail-list-container/postfach-mail-list/mail-icon/mail-icon.component.ts
+++ /dev/null
@@ -1,12 +0,0 @@
-import { Component, Input } from '@angular/core';
-import { MailIconComponent } from '@ods/system';
-
-@Component({
-  selector: 'alfa-postfach-mail-list-mail-icon',
-  standalone: true,
-  imports: [MailIconComponent],
-  templateUrl: './mail-icon.component.html',
-})
-export class PostfachMailListMailIconComponent {
-  @Input() hasNewPostfachNachricht: boolean;
-}
diff --git a/alfa-client/libs/postfach/src/lib/postfach-mail-list-container/postfach-mail-list/postfach-mail-list.component.html b/alfa-client/libs/postfach/src/lib/postfach-mail-list-container/postfach-mail-list/postfach-mail-list.component.html
index d2823e04c6..7f825d014b 100644
--- a/alfa-client/libs/postfach/src/lib/postfach-mail-list-container/postfach-mail-list/postfach-mail-list.component.html
+++ b/alfa-client/libs/postfach/src/lib/postfach-mail-list-container/postfach-mail-list/postfach-mail-list.component.html
@@ -26,7 +26,7 @@
 <div class="nachrichten-header">
   <div class="flex gap-2">
     <h3 class="nachrichten">Nachrichten</h3>
-    <alfa-postfach-mail-list-mail-icon [hasNewPostfachNachricht]="vorgangStateResource.resource.hasNewPostfachNachricht" data-test-id="postfach-mail-list-mail-icon"/>
+    <ods-mail-icon [withBadge]="vorgangStateResource.resource.hasNewPostfachNachricht" data-test-id="postfach-mail-list-mail-icon"/>
   </div>
 
   <alfa-postfach-mail-pdf-button-container [postfachMailListResource]="postfachMailListStateResource.resource" />
diff --git a/alfa-client/libs/postfach/src/lib/postfach-mail-list-container/postfach-mail-list/postfach-mail-list.component.spec.ts b/alfa-client/libs/postfach/src/lib/postfach-mail-list-container/postfach-mail-list/postfach-mail-list.component.spec.ts
index 82f27dac35..90dae1fb62 100644
--- a/alfa-client/libs/postfach/src/lib/postfach-mail-list-container/postfach-mail-list/postfach-mail-list.component.spec.ts
+++ b/alfa-client/libs/postfach/src/lib/postfach-mail-list-container/postfach-mail-list/postfach-mail-list.component.spec.ts
@@ -33,13 +33,13 @@ import { getElementFromFixture, getElementFromFixtureByType, getMockComponent }
 import { ExpansionPanelComponent, SpinnerComponent } from '@alfa-client/ui';
 import { VorgangWithEingangResource } from '@alfa-client/vorgang-shared';
 import { ComponentFixture, TestBed } from '@angular/core/testing';
+import { MailIconComponent } from '@ods/system';
 import { createPostfachMailListResource } from 'libs/postfach-shared/test/postfach';
 import { getDataTestIdOf } from 'libs/tech-shared/test/data-test';
 import { MockComponent } from 'ng-mocks';
 import { createVorgangWithEingangResource } from '../../../../../vorgang-shared/test/vorgang';
 import { PostfachMailButtonContainerComponent } from '../../postfach-mail-button-container/postfach-mail-button-container.component';
 import { PostfachMailPdfButtonContainerComponent } from '../../postfach-mail-pdf-button-container/postfach-mail-pdf-button-container.component';
-import { PostfachMailListMailIconComponent } from './mail-icon/mail-icon.component';
 import { PostfachMailListComponent } from './postfach-mail-list.component';
 import { PostfachMailComponent } from './postfach-mail/postfach-mail.component';
 
@@ -64,7 +64,7 @@ describe('PostfachMailListComponent', () => {
         MockComponent(SpinnerComponent),
         MockComponent(PostfachMailButtonContainerComponent),
         MockComponent(PostfachMailPdfButtonContainerComponent),
-        MockComponent(PostfachMailListMailIconComponent),
+        MockComponent(MailIconComponent),
       ],
     }).compileComponents();
   });
@@ -136,8 +136,8 @@ describe('PostfachMailListComponent', () => {
 
       fixture.detectChanges();
 
-      const mailIcon: PostfachMailListMailIconComponent = getElementFromFixtureByType(fixture, PostfachMailListMailIconComponent);
-      expect(mailIcon.hasNewPostfachNachricht).toEqual(false);
+      const mailIcon: MailIconComponent = getElementFromFixtureByType(fixture, MailIconComponent);
+      expect(mailIcon.withBadge).toEqual(false);
     });
   });
 });
diff --git a/alfa-client/libs/postfach/src/lib/postfach.module.ts b/alfa-client/libs/postfach/src/lib/postfach.module.ts
index 93772923f9..87dc40897d 100644
--- a/alfa-client/libs/postfach/src/lib/postfach.module.ts
+++ b/alfa-client/libs/postfach/src/lib/postfach.module.ts
@@ -42,14 +42,13 @@ import { NgModule } from '@angular/core';
 import { ReactiveFormsModule } from '@angular/forms';
 import { MatIcon } from '@angular/material/icon';
 import { RouterModule, Routes } from '@angular/router';
-import { ButtonComponent, IconComponent, TooltipDirective } from '@ods/system';
+import { ButtonComponent, IconComponent, MailIconComponent, TooltipDirective } from '@ods/system';
 import { MultiFileUploadComponent } from '../../../binary-file/src/lib/multi-file-upload/multi-file-upload.component';
 import { PostfachMailButtonContainerComponent } from './postfach-mail-button-container/postfach-mail-button-container.component';
 import { PostfachMailButtonComponent } from './postfach-mail-button-container/postfach-mail-button/postfach-mail-button.component';
 import { PostfachMailFormComponent } from './postfach-mail-form/postfach-mail-form.component';
 import { PostfachNachrichtReplyEditorContainerComponent } from './postfach-mail-form/postfach-nachricht-reply-editor-container/postfach-nachricht-reply-editor-container.component';
 import { PostfachMailListContainerComponent } from './postfach-mail-list-container/postfach-mail-list-container.component';
-import { PostfachMailListMailIconComponent } from './postfach-mail-list-container/postfach-mail-list/mail-icon/mail-icon.component';
 import { PostfachMailListComponent } from './postfach-mail-list-container/postfach-mail-list/postfach-mail-list.component';
 import { IncommingMailComponent } from './postfach-mail-list-container/postfach-mail-list/postfach-mail/incomming-mail/incomming-mail.component';
 import { OutgoingMailErrorContainerComponent } from './postfach-mail-list-container/postfach-mail-list/postfach-mail/outgoing-mail/outgoing-mail-error-container/outgoing-mail-error-container.component';
@@ -100,8 +99,8 @@ const routes: Routes = [
     IconComponent,
     TooltipDirective,
     MultiFileUploadComponent,
-    PostfachMailListMailIconComponent,
     MailUnreadButtonLinkContainerComponent,
+    MailIconComponent,
   ],
   declarations: [
     PostfachMailListContainerComponent,
-- 
GitLab