From 6dcec670817ed161adc4a3a6b170d8afde8fe3ce Mon Sep 17 00:00:00 2001
From: Albert <Albert.Bruns@mgm-tp.com>
Date: Wed, 19 Mar 2025 11:44:52 +0100
Subject: [PATCH] OZG-725-7894 ui ux

---
 .../cancel-dialog-button.component.ts         |  6 ++-
 .../forwarding-item.component.spec.ts         | 44 ----------------
 .../forwarding-item.component.ts              | 51 -------------------
 ...forwarding-button-container.component.html |  4 +-
 .../forwarding-dialog.component.html          | 21 ++++----
 .../forwarding-dialog.component.ts            |  8 +--
 ...earch-organisations-einheit.component.html |  3 ++
 ...ch-organisations-einheit.component.spec.ts | 22 ++++++++
 .../search-organisations-einheit.component.ts | 11 ++++
 .../change-button-container.component.spec.ts | 10 ++--
 .../change-button-container.component.ts      |  6 +--
 .../search-selected.component.html            |  4 +-
 .../search-selected.component.spec.ts         |  4 +-
 .../search-selected.component.ts              | 10 ++--
 14 files changed, 73 insertions(+), 131 deletions(-)
 delete mode 100644 alfa-client/libs/design-system/src/lib/forwarding-item/forwarding-item.component.spec.ts
 delete mode 100644 alfa-client/libs/design-system/src/lib/forwarding-item/forwarding-item.component.ts
 create mode 100644 alfa-client/libs/forwarding/src/lib/forwarding-dialog-container/forwarding-dialog/search-organisations-einheit/search-organisations-einheit.component.html
 create mode 100644 alfa-client/libs/forwarding/src/lib/forwarding-dialog-container/forwarding-dialog/search-organisations-einheit/search-organisations-einheit.component.spec.ts
 create mode 100644 alfa-client/libs/forwarding/src/lib/forwarding-dialog-container/forwarding-dialog/search-organisations-einheit/search-organisations-einheit.component.ts

diff --git a/alfa-client/libs/design-component/src/lib/cancel-dialog-button/cancel-dialog-button.component.ts b/alfa-client/libs/design-component/src/lib/cancel-dialog-button/cancel-dialog-button.component.ts
index 7c41c1bbcd..7211cb480d 100644
--- a/alfa-client/libs/design-component/src/lib/cancel-dialog-button/cancel-dialog-button.component.ts
+++ b/alfa-client/libs/design-component/src/lib/cancel-dialog-button/cancel-dialog-button.component.ts
@@ -27,7 +27,11 @@ import { ButtonComponent, CloseIconComponent, TooltipDirective } from '@ods/syst
         text="Abbrechen"
         dataTestId="cancel-dialog-button"
         data-test-id="cancel-dialog-button"
-      />
+      >
+        <ng-container icon>
+          <ods-close-icon class="fill-primary" />
+        </ng-container>
+      </ods-button>
     }`,
 })
 export class CancelDialogButtonComponent {
diff --git a/alfa-client/libs/design-system/src/lib/forwarding-item/forwarding-item.component.spec.ts b/alfa-client/libs/design-system/src/lib/forwarding-item/forwarding-item.component.spec.ts
deleted file mode 100644
index 5700f02837..0000000000
--- a/alfa-client/libs/design-system/src/lib/forwarding-item/forwarding-item.component.spec.ts
+++ /dev/null
@@ -1,44 +0,0 @@
-/*
- * Copyright (C) 2025 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 { ForwardingItemComponent } from './forwarding-item.component';
-
-describe('ForwardingItemComponent', () => {
-  let component: ForwardingItemComponent;
-  let fixture: ComponentFixture<ForwardingItemComponent>;
-
-  beforeEach(async () => {
-    await TestBed.configureTestingModule({
-      imports: [ForwardingItemComponent],
-    }).compileComponents();
-
-    fixture = TestBed.createComponent(ForwardingItemComponent);
-    component = fixture.componentInstance;
-    fixture.detectChanges();
-  });
-
-  it('should create', () => {
-    expect(component).toBeTruthy();
-  });
-});
diff --git a/alfa-client/libs/design-system/src/lib/forwarding-item/forwarding-item.component.ts b/alfa-client/libs/design-system/src/lib/forwarding-item/forwarding-item.component.ts
deleted file mode 100644
index 71d2aee374..0000000000
--- a/alfa-client/libs/design-system/src/lib/forwarding-item/forwarding-item.component.ts
+++ /dev/null
@@ -1,51 +0,0 @@
-/*
- * Copyright (C) 2025 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 { Component, Input } from '@angular/core';
-import { ForwardVorgangIconComponent } from '../icons/forward-vorgang-icon/forward-vorgang-icon.component';
-
-export enum ForwardingDirection {
-  FROM = 'Weitergeleitet von',
-  TO = 'An',
-}
-
-@Component({
-  selector: 'ods-forwarding-item',
-  standalone: true,
-  imports: [ForwardVorgangIconComponent],
-  template: `<div
-    class="flex flex-col items-start justify-between gap-2 rounded-lg border border-grayborder p-3 md:flex-row md:items-center md:gap-0"
-  >
-    <div class="flex flex-1 gap-3">
-      <ods-forward-vorgang-icon class="fill-text" />
-      <p class="text-gray-500">{{ direction }}:</p>
-      <ng-content />
-    </div>
-    <div class="text-end empty:hidden">
-      <ng-content select="[end-content]" />
-    </div>
-  </div>`,
-})
-export class ForwardingItemComponent {
-  @Input() direction: ForwardingDirection = ForwardingDirection.TO;
-}
diff --git a/alfa-client/libs/forwarding/src/lib/forwarding-button-container/forwarding-button-container.component.html b/alfa-client/libs/forwarding/src/lib/forwarding-button-container/forwarding-button-container.component.html
index bdf8537e74..ad9a5561e6 100644
--- a/alfa-client/libs/forwarding/src/lib/forwarding-button-container/forwarding-button-container.component.html
+++ b/alfa-client/libs/forwarding/src/lib/forwarding-button-container/forwarding-button-container.component.html
@@ -1,4 +1,4 @@
-@if (vorgangWithEingang | hasLink: vorgangWithEingangLinkRel.FORWARD_BY_OZGCLOUD) {
+<!--@if (vorgangWithEingang | hasLink: vorgangWithEingangLinkRel.FORWARD_BY_OZGCLOUD) {-->
   @if (showAsIconButton) {
     <ods-open-dialog-button
       [tooltip]="'Vorgang weiterleiten'"
@@ -14,4 +14,4 @@
       <ods-forward-vorgang-icon icon class="fill-primary" />
     </ods-open-dialog-button>
   }
-}
+<!--}-->
diff --git a/alfa-client/libs/forwarding/src/lib/forwarding-dialog-container/forwarding-dialog/forwarding-dialog.component.html b/alfa-client/libs/forwarding/src/lib/forwarding-dialog-container/forwarding-dialog/forwarding-dialog.component.html
index 581556972e..9dbcc5ecbf 100644
--- a/alfa-client/libs/forwarding/src/lib/forwarding-dialog-container/forwarding-dialog/forwarding-dialog.component.html
+++ b/alfa-client/libs/forwarding/src/lib/forwarding-dialog-container/forwarding-dialog/forwarding-dialog.component.html
@@ -1,19 +1,16 @@
-<div class="flex w-[860px] max-w-full flex-col gap-4 bg-background-100 p-8">
-  <div class="flex items-center justify-between">
+<div class="w-[860px] flex flex-col max-w-full max-h-full rounded-lg bg-background-50 p-8 ">
+  <div class="flex items-center justify-between mb-4">
     <h1 class="text-xl font-semibold text-primary">Vorgang weiterleiten</h1>
     <ods-cancel-dialog-button showAsIconButton="true" />
   </div>
 
-  @if (!selectedSearchResult) {
-    <ods-forwarding-item>
-      <div class="w-full">
-        <alfa-search-zustaendige-stelle-form-container cdkFocusInitial focusOnSearchField="true" data-test-id="zufi-search" />
-      </div>
-    </ods-forwarding-item>
-  } @else {
-    <alfa-forwarding-item-in-dialog [organisationsEinheitResource]="selectedSearchResult" data-test-id="forwarding-item" />
-  }
-  <div class="h-[calc(50vh)]"></div>
+  <div class="mb-6" style="height: calc(50vh + 4.5rem)">
+    @if (!selectedSearchResult) {
+      <alfa-forwarding-search-organisations-einheit data-test-id="zufi-search" />
+    } @else {
+      <alfa-search-selected [organisationsEinheitResource]="selectedSearchResult" data-test-id="forwarding-item" />
+    }
+  </div>
 
   <div class="flex gap-4">
     <alfa-forwarding-button [disabled]="!selectedSearchResult" />
diff --git a/alfa-client/libs/forwarding/src/lib/forwarding-dialog-container/forwarding-dialog/forwarding-dialog.component.ts b/alfa-client/libs/forwarding/src/lib/forwarding-dialog-container/forwarding-dialog/forwarding-dialog.component.ts
index 5e27faec88..343171d3d5 100644
--- a/alfa-client/libs/forwarding/src/lib/forwarding-dialog-container/forwarding-dialog/forwarding-dialog.component.ts
+++ b/alfa-client/libs/forwarding/src/lib/forwarding-dialog-container/forwarding-dialog/forwarding-dialog.component.ts
@@ -4,9 +4,9 @@ import { A11yModule } from '@angular/cdk/a11y';
 import { Component, Input } from '@angular/core';
 import { ReactiveFormsModule } from '@angular/forms';
 import { CancelDialogButtonComponent } from '@ods/component';
-import { ForwardingItemComponent } from '@ods/system';
 import { ForwardingButtonComponent } from './forwarding-button/forwarding-button.component';
-import { ForwardingItemInDialogComponent } from './forwarding-item/forwarding-item.component';
+import { ForwardingSearchOrganisationsEinheitComponent } from './search-organisations-einheit/search-organisations-einheit.component';
+import { SearchSelectedComponent } from './search-selected/search-selected.component';
 
 @Component({
   selector: 'alfa-forwarding-dialog',
@@ -17,8 +17,8 @@ import { ForwardingItemInDialogComponent } from './forwarding-item/forwarding-it
     ReactiveFormsModule,
     ZustaendigeStelleModule,
     ForwardingButtonComponent,
-    ForwardingItemInDialogComponent,
-    ForwardingItemComponent,
+    ForwardingSearchOrganisationsEinheitComponent,
+    SearchSelectedComponent,
   ],
   templateUrl: './forwarding-dialog.component.html',
 })
diff --git a/alfa-client/libs/forwarding/src/lib/forwarding-dialog-container/forwarding-dialog/search-organisations-einheit/search-organisations-einheit.component.html b/alfa-client/libs/forwarding/src/lib/forwarding-dialog-container/forwarding-dialog/search-organisations-einheit/search-organisations-einheit.component.html
new file mode 100644
index 0000000000..80f2ebb748
--- /dev/null
+++ b/alfa-client/libs/forwarding/src/lib/forwarding-dialog-container/forwarding-dialog/search-organisations-einheit/search-organisations-einheit.component.html
@@ -0,0 +1,3 @@
+<ods-forwarding-item>
+  <alfa-search-zustaendige-stelle-form-container cdkFocusInitial focusOnSearchField="true"/>
+</ods-forwarding-item>
\ No newline at end of file
diff --git a/alfa-client/libs/forwarding/src/lib/forwarding-dialog-container/forwarding-dialog/search-organisations-einheit/search-organisations-einheit.component.spec.ts b/alfa-client/libs/forwarding/src/lib/forwarding-dialog-container/forwarding-dialog/search-organisations-einheit/search-organisations-einheit.component.spec.ts
new file mode 100644
index 0000000000..bbaa57292a
--- /dev/null
+++ b/alfa-client/libs/forwarding/src/lib/forwarding-dialog-container/forwarding-dialog/search-organisations-einheit/search-organisations-einheit.component.spec.ts
@@ -0,0 +1,22 @@
+import { ComponentFixture, TestBed } from '@angular/core/testing';
+
+import { ForwardingSearchOrganisationsEinheitComponent } from './search-organisations-einheit.component';
+
+describe('ForwardingSearchOrganisationsEinheitComponent', () => {
+  let component: ForwardingSearchOrganisationsEinheitComponent;
+  let fixture: ComponentFixture<ForwardingSearchOrganisationsEinheitComponent>;
+
+  beforeEach(async () => {
+    await TestBed.configureTestingModule({
+      imports: [ForwardingSearchOrganisationsEinheitComponent],
+    }).compileComponents();
+
+    fixture = TestBed.createComponent(ForwardingSearchOrganisationsEinheitComponent);
+    component = fixture.componentInstance;
+    fixture.detectChanges();
+  });
+
+  it('should create', () => {
+    expect(component).toBeTruthy();
+  });
+});
diff --git a/alfa-client/libs/forwarding/src/lib/forwarding-dialog-container/forwarding-dialog/search-organisations-einheit/search-organisations-einheit.component.ts b/alfa-client/libs/forwarding/src/lib/forwarding-dialog-container/forwarding-dialog/search-organisations-einheit/search-organisations-einheit.component.ts
new file mode 100644
index 0000000000..bc974a66d4
--- /dev/null
+++ b/alfa-client/libs/forwarding/src/lib/forwarding-dialog-container/forwarding-dialog/search-organisations-einheit/search-organisations-einheit.component.ts
@@ -0,0 +1,11 @@
+import { ZustaendigeStelleModule } from '@alfa-client/zustaendige-stelle';
+import { Component } from '@angular/core';
+import { ForwardingItemComponent } from '@ods/system';
+
+@Component({
+  selector: 'alfa-forwarding-search-organisations-einheit',
+  standalone: true,
+  imports: [ForwardingItemComponent, ZustaendigeStelleModule],
+  templateUrl: './search-organisations-einheit.component.html',
+})
+export class ForwardingSearchOrganisationsEinheitComponent {}
diff --git a/alfa-client/libs/forwarding/src/lib/forwarding-dialog-container/forwarding-dialog/search-selected/change-button-container/change-button-container.component.spec.ts b/alfa-client/libs/forwarding/src/lib/forwarding-dialog-container/forwarding-dialog/search-selected/change-button-container/change-button-container.component.spec.ts
index 49e50eaa84..86ce46346d 100644
--- a/alfa-client/libs/forwarding/src/lib/forwarding-dialog-container/forwarding-dialog/search-selected/change-button-container/change-button-container.component.spec.ts
+++ b/alfa-client/libs/forwarding/src/lib/forwarding-dialog-container/forwarding-dialog/search-selected/change-button-container/change-button-container.component.spec.ts
@@ -5,11 +5,11 @@ import { OrganisationsEinheitService, ZUSTAENDIGE_STELLE_SERVICE } from '@alfa-c
 import { ButtonComponent } from '@ods/system';
 import { MockComponent } from 'ng-mocks';
 import { getDataTestIdOf } from '../../../../../../../tech-shared/test/data-test';
-import { ForwardingItemChangeButtonContainerComponent } from './forwarding-item-change-button-container.component';
+import { ChangeButtonContainerComponent } from './change-button-container.component';
 
 describe('ForwardingItemChangeButtonContainerComponent', () => {
-  let component: ForwardingItemChangeButtonContainerComponent;
-  let fixture: ComponentFixture<ForwardingItemChangeButtonContainerComponent>;
+  let component: ChangeButtonContainerComponent;
+  let fixture: ComponentFixture<ChangeButtonContainerComponent>;
 
   const buttonContainer: string = getDataTestIdOf('forwarding-item-change-button-container');
 
@@ -19,12 +19,12 @@ describe('ForwardingItemChangeButtonContainerComponent', () => {
     service = mock(OrganisationsEinheitService);
 
     TestBed.configureTestingModule({
-      imports: [ForwardingItemChangeButtonContainerComponent],
+      imports: [ChangeButtonContainerComponent],
       declarations: [MockComponent(ButtonComponent)],
       providers: [{ provide: ZUSTAENDIGE_STELLE_SERVICE, useValue: service }],
     }).compileComponents();
 
-    fixture = TestBed.createComponent(ForwardingItemChangeButtonContainerComponent);
+    fixture = TestBed.createComponent(ChangeButtonContainerComponent);
     component = fixture.componentInstance;
     fixture.detectChanges();
   });
diff --git a/alfa-client/libs/forwarding/src/lib/forwarding-dialog-container/forwarding-dialog/search-selected/change-button-container/change-button-container.component.ts b/alfa-client/libs/forwarding/src/lib/forwarding-dialog-container/forwarding-dialog/search-selected/change-button-container/change-button-container.component.ts
index 5a0ca9ccbe..549bd4342b 100644
--- a/alfa-client/libs/forwarding/src/lib/forwarding-dialog-container/forwarding-dialog/search-selected/change-button-container/change-button-container.component.ts
+++ b/alfa-client/libs/forwarding/src/lib/forwarding-dialog-container/forwarding-dialog/search-selected/change-button-container/change-button-container.component.ts
@@ -3,12 +3,12 @@ import { Component, inject } from '@angular/core';
 import { ButtonComponent } from '@ods/system';
 
 @Component({
-  selector: 'alfa-forwarding-item-change-button-container',
+  selector: 'alfa-change-button-container',
   standalone: true,
   imports: [ButtonComponent],
-  templateUrl: './forwarding-item-change-button-container.component.html',
+  templateUrl: './change-button-container.component.html',
 })
-export class ForwardingItemChangeButtonContainerComponent {
+export class ChangeButtonContainerComponent {
   private readonly organisationsEinheitService = inject(ZUSTAENDIGE_STELLE_SERVICE) as OrganisationsEinheitService;
 
   public onClick(): void {
diff --git a/alfa-client/libs/forwarding/src/lib/forwarding-dialog-container/forwarding-dialog/search-selected/search-selected.component.html b/alfa-client/libs/forwarding/src/lib/forwarding-dialog-container/forwarding-dialog/search-selected/search-selected.component.html
index 89aad7082d..66f8b9cac1 100644
--- a/alfa-client/libs/forwarding/src/lib/forwarding-dialog-container/forwarding-dialog/search-selected/search-selected.component.html
+++ b/alfa-client/libs/forwarding/src/lib/forwarding-dialog-container/forwarding-dialog/search-selected/search-selected.component.html
@@ -1,7 +1,7 @@
-<ods-forwarding-item>
+<ods-forwarding-item class="block">
   <ods-forwarding-item-info
     [label]="organisationsEinheitResource.name"
     [address]="organisationsEinheitResource.anschrift | anschriftToString"
   />
-  <alfa-forwarding-item-change-button-container end-content />
+  <alfa-change-button-container end-content />
 </ods-forwarding-item>
diff --git a/alfa-client/libs/forwarding/src/lib/forwarding-dialog-container/forwarding-dialog/search-selected/search-selected.component.spec.ts b/alfa-client/libs/forwarding/src/lib/forwarding-dialog-container/forwarding-dialog/search-selected/search-selected.component.spec.ts
index 66e27ffe0d..c4c5b403d6 100644
--- a/alfa-client/libs/forwarding/src/lib/forwarding-dialog-container/forwarding-dialog/search-selected/search-selected.component.spec.ts
+++ b/alfa-client/libs/forwarding/src/lib/forwarding-dialog-container/forwarding-dialog/search-selected/search-selected.component.spec.ts
@@ -5,7 +5,7 @@ import { Anschrift, OrganisationsEinheitResource } from '@alfa-client/zustaendig
 import { ForwardingItemComponent, ForwardingItemInfoComponent } from '@ods/system';
 import { MockComponent } from 'ng-mocks';
 import { createOrganisationsEinheitResource } from '../../../../../../zustaendige-stelle-shared/test/organisations-einheit';
-import { ForwardingItemChangeButtonContainerComponent } from './forwarding-item-change-button-container/forwarding-item-change-button-container.component';
+import { ChangeButtonContainerComponent } from './change-button-container/change-button-container.component';
 import { ForwardingItemInDialogComponent } from './forwarding-item.component';
 
 describe('ForwardingDialogForwardingItemComponent', () => {
@@ -19,7 +19,7 @@ describe('ForwardingDialogForwardingItemComponent', () => {
     await TestBed.configureTestingModule({
       imports: [ForwardingItemInDialogComponent],
       declarations: [
-        MockComponent(ForwardingItemChangeButtonContainerComponent),
+        MockComponent(ChangeButtonContainerComponent),
         MockComponent(ForwardingItemComponent),
         MockComponent(ForwardingItemInfoComponent),
       ],
diff --git a/alfa-client/libs/forwarding/src/lib/forwarding-dialog-container/forwarding-dialog/search-selected/search-selected.component.ts b/alfa-client/libs/forwarding/src/lib/forwarding-dialog-container/forwarding-dialog/search-selected/search-selected.component.ts
index dba40ffa11..dd9581e3b0 100644
--- a/alfa-client/libs/forwarding/src/lib/forwarding-dialog-container/forwarding-dialog/search-selected/search-selected.component.ts
+++ b/alfa-client/libs/forwarding/src/lib/forwarding-dialog-container/forwarding-dialog/search-selected/search-selected.component.ts
@@ -1,19 +1,19 @@
 import { AnschriftToStringPipe, OrganisationsEinheitResource } from '@alfa-client/zustaendige-stelle-shared';
 import { Component, Input } from '@angular/core';
 import { ForwardingItemComponent, ForwardingItemInfoComponent } from '@ods/system';
-import { ForwardingItemChangeButtonContainerComponent } from './forwarding-item-change-button-container/forwarding-item-change-button-container.component';
+import { ChangeButtonContainerComponent } from './change-button-container/change-button-container.component';
 
 @Component({
-  selector: 'alfa-forwarding-item-in-dialog',
+  selector: 'alfa-search-selected',
   standalone: true,
   imports: [
-    ForwardingItemChangeButtonContainerComponent,
+    ChangeButtonContainerComponent,
     AnschriftToStringPipe,
     ForwardingItemComponent,
     ForwardingItemInfoComponent,
   ],
-  templateUrl: './forwarding-item.component.html',
+  templateUrl: './search-selected.component.html',
 })
-export class ForwardingItemInDialogComponent {
+export class SearchSelectedComponent {
   @Input() organisationsEinheitResource: OrganisationsEinheitResource;
 }
-- 
GitLab