From bafbeb4a7c3fa1a56e86162b7cf907356ade0726 Mon Sep 17 00:00:00 2001
From: Alexander Reifschneider <alexander.reifschneider@mgm-tp.com>
Date: Mon, 28 Apr 2025 11:21:47 +0200
Subject: [PATCH] OZG-8129 replace delete finally icon - replace buttons in
 basic dialog

---
 ...oeschen-button-container.component.spec.ts | 33 +++++--------------
 ...tig-loeschen-button-container.component.ts |  2 +-
 .../libs/ui/src/lib/assets/delete_finally.svg | 15 ---------
 .../libs/ui/src/lib/icon/icon.model.ts        |  1 -
 .../basic-dialog/basic-dialog.component.html  | 18 ++++------
 .../basic-dialog/basic-dialog.component.scss  |  4 ---
 .../basic-dialog.component.spec.ts            | 11 ++-----
 .../ui/basic-dialog/basic-dialog.component.ts |  6 ++--
 8 files changed, 23 insertions(+), 67 deletions(-)
 delete mode 100644 alfa-client/libs/ui/src/lib/assets/delete_finally.svg

diff --git a/alfa-client/libs/loesch-anforderung/src/lib/endgueltig-loeschen-button-container/endgueltig-loeschen-button-container.component.spec.ts b/alfa-client/libs/loesch-anforderung/src/lib/endgueltig-loeschen-button-container/endgueltig-loeschen-button-container.component.spec.ts
index 74ad8e6738..8a9f39de53 100644
--- a/alfa-client/libs/loesch-anforderung/src/lib/endgueltig-loeschen-button-container/endgueltig-loeschen-button-container.component.spec.ts
+++ b/alfa-client/libs/loesch-anforderung/src/lib/endgueltig-loeschen-button-container/endgueltig-loeschen-button-container.component.spec.ts
@@ -21,22 +21,14 @@
  * Die sprachspezifischen Genehmigungen und Beschränkungen
  * unter der Lizenz sind dem Lizenztext zu entnehmen.
  */
-import { ComponentFixture, TestBed } from '@angular/core/testing';
-import { MatDialogModule, MatDialogRef } from '@angular/material/dialog';
-import { BrowserAnimationsModule } from '@angular/platform-browser/animations';
-import {
-  LoeschAnforderungResource,
-  LoeschAnforderungService,
-} from '@alfa-client/loesch-anforderung-shared';
-import {
-  HasLinkPipe,
-  StateResource,
-  createEmptyStateResource,
-  createStateResource,
-} from '@alfa-client/tech-shared';
+import { LoeschAnforderungResource, LoeschAnforderungService } from '@alfa-client/loesch-anforderung-shared';
+import { HasLinkPipe, StateResource, createEmptyStateResource, createStateResource } from '@alfa-client/tech-shared';
 import { mock } from '@alfa-client/test-utils';
 import { BasicDialogComponent, BasicDialogData, DialogService } from '@alfa-client/ui';
 import { VorgangService } from '@alfa-client/vorgang-shared';
+import { ComponentFixture, TestBed } from '@angular/core/testing';
+import { MatDialogModule, MatDialogRef } from '@angular/material/dialog';
+import { BrowserAnimationsModule } from '@angular/platform-browser/animations';
 import { createCommandResource } from 'libs/command-shared/test/command';
 import { MockComponent } from 'ng-mocks';
 import { of } from 'rxjs';
@@ -47,8 +39,7 @@ describe('EndgueltigLoeschenButtonContainerComponent', () => {
   let component: EndgueltigLoeschenButtonContainerComponent;
   let fixture: ComponentFixture<EndgueltigLoeschenButtonContainerComponent>;
 
-  const loeschAnforderungResource: StateResource<LoeschAnforderungResource> =
-    createEmptyStateResource();
+  const loeschAnforderungResource: StateResource<LoeschAnforderungResource> = createEmptyStateResource();
 
   const dialogRef = <MatDialogRef<BasicDialogComponent>>{};
   dialogRef.afterClosed = jest.fn().mockReturnValue(of(true));
@@ -59,11 +50,7 @@ describe('EndgueltigLoeschenButtonContainerComponent', () => {
 
   beforeEach(async () => {
     await TestBed.configureTestingModule({
-      declarations: [
-        EndgueltigLoeschenButtonContainerComponent,
-        HasLinkPipe,
-        MockComponent(EndgueltigLoeschenButtonComponent),
-      ],
+      declarations: [EndgueltigLoeschenButtonContainerComponent, HasLinkPipe, MockComponent(EndgueltigLoeschenButtonComponent)],
       imports: [BrowserAnimationsModule, MatDialogModule],
       providers: [
         {
@@ -87,9 +74,7 @@ describe('EndgueltigLoeschenButtonContainerComponent', () => {
 
     fixture = TestBed.createComponent(EndgueltigLoeschenButtonContainerComponent);
     component = fixture.componentInstance;
-    loeschAnforderungService.getEndgueltigLoeschenCommand.mockReturnValue(
-      of(createStateResource(createCommandResource())),
-    );
+    loeschAnforderungService.getEndgueltigLoeschenCommand.mockReturnValue(of(createStateResource(createCommandResource())));
     dialogService.openBasic = jest.fn().mockReturnValue(dialogRef);
     fixture.detectChanges();
   });
@@ -148,7 +133,7 @@ describe('EndgueltigLoeschenButtonContainerComponent', () => {
         title: 'Möchten Sie den Vorgang endgültig löschen?',
         message: 'Diese Aktion kann nicht widerrufen werden.',
         okText: 'Endgültig löschen',
-        okSvgIcon: 'delete_finally',
+        okSvgIcon: 'delete-vorgang-finally',
       };
 
       const res = component.createBasicDialogConfig();
diff --git a/alfa-client/libs/loesch-anforderung/src/lib/endgueltig-loeschen-button-container/endgueltig-loeschen-button-container.component.ts b/alfa-client/libs/loesch-anforderung/src/lib/endgueltig-loeschen-button-container/endgueltig-loeschen-button-container.component.ts
index bb94290b75..d20b9ef36f 100644
--- a/alfa-client/libs/loesch-anforderung/src/lib/endgueltig-loeschen-button-container/endgueltig-loeschen-button-container.component.ts
+++ b/alfa-client/libs/loesch-anforderung/src/lib/endgueltig-loeschen-button-container/endgueltig-loeschen-button-container.component.ts
@@ -74,7 +74,7 @@ export class EndgueltigLoeschenButtonContainerComponent {
       title: 'Möchten Sie den Vorgang endgültig löschen?',
       message: 'Diese Aktion kann nicht widerrufen werden.',
       okText: 'Endgültig löschen',
-      okSvgIcon: 'delete_finally',
+      okSvgIcon: 'delete-vorgang-finally',
     };
   }
 
diff --git a/alfa-client/libs/ui/src/lib/assets/delete_finally.svg b/alfa-client/libs/ui/src/lib/assets/delete_finally.svg
deleted file mode 100644
index 9c84c6bfb5..0000000000
--- a/alfa-client/libs/ui/src/lib/assets/delete_finally.svg
+++ /dev/null
@@ -1,15 +0,0 @@
-<svg width="25" height="24" viewBox="0 0 25 24" xmlns="http://www.w3.org/2000/svg">
-<path fill-rule="evenodd" clip-rule="evenodd" d="M17.4866 13V3.11101H12.1905L7.49777 8.05811L7.49777 13H5.5V8.05811C5.5 7.49738 5.71112 6.95968 6.0868 6.56365L10.7796 1.61654C11.1541 1.22173 11.6615 1 12.1905 1H17.4866C18.5899 1 19.4844 1.94513 19.4844 3.11101V13H17.4866Z"/>
-<path d="M7.5 20C7.5 19.4477 7.94772 19 8.5 19V19C9.05228 19 9.5 19.4477 9.5 20V20C9.5 20.5523 9.05228 21 8.5 21V21C7.94772 21 7.5 20.5523 7.5 20V20Z"/>
-<path d="M7.5 20C7.5 19.4477 7.94772 19 8.5 19V19C9.05228 19 9.5 19.4477 9.5 20V20C9.5 20.5523 9.05228 21 8.5 21V21C7.94772 21 7.5 20.5523 7.5 20V20Z"/>
-<path d="M11.5 21C11.5 20.4477 11.9477 20 12.5 20V20C13.0523 20 13.5 20.4477 13.5 21V22C13.5 22.5523 13.0523 23 12.5 23V23C11.9477 23 11.5 22.5523 11.5 22V21Z"/>
-<path d="M11.5 21C11.5 20.4477 11.9477 20 12.5 20V20C13.0523 20 13.5 20.4477 13.5 21V22C13.5 22.5523 13.0523 23 12.5 23V23C11.9477 23 11.5 22.5523 11.5 22V21Z"/>
-<path d="M11.5 13C11.5 12.4477 11.9477 12 12.5 12V12C13.0523 12 13.5 12.4477 13.5 13V17C13.5 17.5523 13.0523 18 12.5 18V18C11.9477 18 11.5 17.5523 11.5 17V13Z"/>
-<path d="M11.5 13C11.5 12.4477 11.9477 12 12.5 12V12C13.0523 12 13.5 12.4477 13.5 13V17C13.5 17.5523 13.0523 18 12.5 18V18C11.9477 18 11.5 17.5523 11.5 17V13Z"/>
-<path d="M7.5 15C7.5 14.4477 7.94772 14 8.5 14V14C9.05228 14 9.5 14.4477 9.5 15V16C9.5 16.5523 9.05228 17 8.5 17V17C7.94772 17 7.5 16.5523 7.5 16V15Z"/>
-<path d="M7.5 15C7.5 14.4477 7.94772 14 8.5 14V14C9.05228 14 9.5 14.4477 9.5 15V16C9.5 16.5523 9.05228 17 8.5 17V17C7.94772 17 7.5 16.5523 7.5 16V15Z"/>
-<path d="M15.5 20C15.5 19.4477 15.9477 19 16.5 19V19C17.0523 19 17.5 19.4477 17.5 20V21C17.5 21.5523 17.0523 22 16.5 22V22C15.9477 22 15.5 21.5523 15.5 21V20Z"/>
-<path d="M15.5 20C15.5 19.4477 15.9477 19 16.5 19V19C17.0523 19 17.5 19.4477 17.5 20V21C17.5 21.5523 17.0523 22 16.5 22V22C15.9477 22 15.5 21.5523 15.5 21V20Z"/>
-<path d="M15.5 15C15.5 14.4477 15.9477 14 16.5 14V14C17.0523 14 17.5 14.4477 17.5 15V16C17.5 16.5523 17.0523 17 16.5 17V17C15.9477 17 15.5 16.5523 15.5 16V15Z"/>
-<path d="M15.5 15C15.5 14.4477 15.9477 14 16.5 14V14C17.0523 14 17.5 14.4477 17.5 15V16C17.5 16.5523 17.0523 17 16.5 17V17C15.9477 17 15.5 16.5523 15.5 16V15Z"/>
-</svg>
diff --git a/alfa-client/libs/ui/src/lib/icon/icon.model.ts b/alfa-client/libs/ui/src/lib/icon/icon.model.ts
index f43d2916d5..18b05ef9fb 100644
--- a/alfa-client/libs/ui/src/lib/icon/icon.model.ts
+++ b/alfa-client/libs/ui/src/lib/icon/icon.model.ts
@@ -22,7 +22,6 @@
  * unter der Lizenz sind dem Lizenztext zu entnehmen.
  */
 export enum Icons {
-  DELETE_FINALLY = 'delete_finally',
   LOGO = 'logo',
   MAIL = 'mail',
   PDF_EXPORT = 'pdf_export',
diff --git a/alfa-client/libs/ui/src/lib/ui/basic-dialog/basic-dialog.component.html b/alfa-client/libs/ui/src/lib/ui/basic-dialog/basic-dialog.component.html
index d48604b353..aed345ed75 100644
--- a/alfa-client/libs/ui/src/lib/ui/basic-dialog/basic-dialog.component.html
+++ b/alfa-client/libs/ui/src/lib/ui/basic-dialog/basic-dialog.component.html
@@ -29,19 +29,15 @@
 <div mat-dialog-content>
   <p data-test-id="dialog-message">{{ data.message }}</p>
 </div>
-<div mat-dialog-actions>
-  <ozgcloud-stroked-button-with-spinner
+<div mat-dialog-actions class="flex gap-4">
+  <ods-button-with-spinner
     dataTestId="dialog-confirmation-button"
     [mat-dialog-close]="true"
-    svgIcon="{{ data.okSvgIcon }}"
-    text="{{ data.okText }}"
+    [text]="data.okText"
+    variant="outline"
   >
-  </ozgcloud-stroked-button-with-spinner>
+    <ods-icon icon [name]="data.okSvgIcon" />
+  </ods-button-with-spinner>
 
-  <ozgcloud-stroked-button-with-spinner
-    dataTestId="dialog-cancel-button"
-    (click)="onNoClick()"
-    text="Abbrechen"
-  >
-  </ozgcloud-stroked-button-with-spinner>
+  <ods-button-with-spinner dataTestId="dialog-cancel-button" text="Abbrechen" (clickEmitter)="onNoClick()" variant="outline" />
 </div>
diff --git a/alfa-client/libs/ui/src/lib/ui/basic-dialog/basic-dialog.component.scss b/alfa-client/libs/ui/src/lib/ui/basic-dialog/basic-dialog.component.scss
index 669978971d..17673d3316 100644
--- a/alfa-client/libs/ui/src/lib/ui/basic-dialog/basic-dialog.component.scss
+++ b/alfa-client/libs/ui/src/lib/ui/basic-dialog/basic-dialog.component.scss
@@ -30,7 +30,3 @@ button,
 h1 {
   color: mat.m2-get-color-from-palette($primaryPalette);
 }
-
-ozgcloud-stroked-button-with-spinner {
-  margin-left: 1rem;
-}
diff --git a/alfa-client/libs/ui/src/lib/ui/basic-dialog/basic-dialog.component.spec.ts b/alfa-client/libs/ui/src/lib/ui/basic-dialog/basic-dialog.component.spec.ts
index 23ca3dbbc8..60fbe66360 100644
--- a/alfa-client/libs/ui/src/lib/ui/basic-dialog/basic-dialog.component.spec.ts
+++ b/alfa-client/libs/ui/src/lib/ui/basic-dialog/basic-dialog.component.spec.ts
@@ -21,10 +21,9 @@
  * Die sprachspezifischen Genehmigungen und Beschränkungen
  * unter der Lizenz sind dem Lizenztext zu entnehmen.
  */
-import { IconButtonWithSpinnerComponent, OzgcloudStrokedButtonWithSpinnerComponent } from '@alfa-client/ui';
 import { ComponentFixture, TestBed } from '@angular/core/testing';
 import { MAT_DIALOG_DATA, MatDialogModule, MatDialogRef } from '@angular/material/dialog';
-import { MatIcon } from '@angular/material/icon';
+import { IconComponent } from '@ods/system';
 import { MockComponent } from 'ng-mocks';
 import { BasicDialogComponent } from './basic-dialog.component';
 
@@ -34,13 +33,7 @@ describe('BasicDialogComponent', () => {
 
   beforeEach(async () => {
     await TestBed.configureTestingModule({
-      imports: [
-        MatDialogModule,
-        BasicDialogComponent,
-        MatIcon,
-        MockComponent(OzgcloudStrokedButtonWithSpinnerComponent),
-        MockComponent(IconButtonWithSpinnerComponent),
-      ],
+      imports: [MatDialogModule, BasicDialogComponent, MockComponent(IconComponent)],
       providers: [
         {
           provide: MatDialogRef,
diff --git a/alfa-client/libs/ui/src/lib/ui/basic-dialog/basic-dialog.component.ts b/alfa-client/libs/ui/src/lib/ui/basic-dialog/basic-dialog.component.ts
index cbe53ff122..5788aecf31 100644
--- a/alfa-client/libs/ui/src/lib/ui/basic-dialog/basic-dialog.component.ts
+++ b/alfa-client/libs/ui/src/lib/ui/basic-dialog/basic-dialog.component.ts
@@ -31,7 +31,8 @@ import {
   MatDialogRef,
   MatDialogTitle,
 } from '@angular/material/dialog';
-import { OzgcloudStrokedButtonWithSpinnerComponent } from '../ozgcloud-button/ozgcloud-stroked-button-with-spinner/ozgcloud-stroked-button-with-spinner.component';
+import { ButtonWithSpinnerComponent } from '@ods/component';
+import { IconComponent } from '@ods/system';
 import { BasicDialogData } from './basic-dialog-data.model';
 
 @Component({
@@ -44,8 +45,9 @@ import { BasicDialogData } from './basic-dialog-data.model';
     CdkScrollable,
     MatDialogContent,
     MatDialogActions,
-    OzgcloudStrokedButtonWithSpinnerComponent,
     MatDialogClose,
+    ButtonWithSpinnerComponent,
+    IconComponent,
   ],
 })
 export class BasicDialogComponent {
-- 
GitLab