From 8617af75158a50383748af40b1ffa8a8ec5b0f11 Mon Sep 17 00:00:00 2001
From: Alexander Reifschneider <alexander.reifschneider@mgm-tp.com>
Date: Thu, 3 Apr 2025 15:02:00 +0200
Subject: [PATCH] OZG-7707 replace more icons - edit icon - error icon

---
 alfa-client/libs/design-system/src/index.ts   |  2 -
 .../edit-icon/edit-icon.component.spec.ts     | 44 ----------------
 .../icons/edit-icon/edit-icon.component.ts    | 50 ------------------
 .../lib/icons/edit-icon/edit-icon.stories.ts  | 50 ------------------
 .../error-icon/error-icon.component.spec.ts   | 44 ----------------
 .../icons/error-icon/error-icon.component.ts  | 51 -------------------
 .../icons/error-icon/error-icon.stories.ts    | 50 ------------------
 .../lib/user-icon/user-icon.component.html    |  6 ++-
 .../lib/user-icon/user-icon.component.spec.ts |  4 +-
 .../src/lib/user-profile.module.ts            |  2 -
 .../aktenzeichen-editable.component.html      |  2 +-
 .../aktenzeichen-editable.component.spec.ts   |  4 +-
 .../bearbeiten-button.component.html          |  4 +-
 .../bearbeiten-button.component.spec.ts       |  4 +-
 .../src/lib/vorgang-detail.module.ts          |  3 --
 ...t-zustaendige-stelle-button.component.html |  2 +-
 ...ustaendige-stelle-button.component.spec.ts |  4 +-
 .../src/lib/zustaendige-stelle.module.ts      |  3 +-
 18 files changed, 17 insertions(+), 312 deletions(-)
 delete mode 100644 alfa-client/libs/design-system/src/lib/icons/edit-icon/edit-icon.component.spec.ts
 delete mode 100644 alfa-client/libs/design-system/src/lib/icons/edit-icon/edit-icon.component.ts
 delete mode 100644 alfa-client/libs/design-system/src/lib/icons/edit-icon/edit-icon.stories.ts
 delete mode 100644 alfa-client/libs/design-system/src/lib/icons/error-icon/error-icon.component.spec.ts
 delete mode 100644 alfa-client/libs/design-system/src/lib/icons/error-icon/error-icon.component.ts
 delete mode 100644 alfa-client/libs/design-system/src/lib/icons/error-icon/error-icon.stories.ts

diff --git a/alfa-client/libs/design-system/src/index.ts b/alfa-client/libs/design-system/src/index.ts
index 31432b99ab..eda60fb424 100644
--- a/alfa-client/libs/design-system/src/index.ts
+++ b/alfa-client/libs/design-system/src/index.ts
@@ -45,8 +45,6 @@ export * from './lib/form/textarea/textarea.component';
 export * from './lib/forwarding-item/forwarding-item-info/forwarding-item-info.component';
 export * from './lib/forwarding-item/forwarding-item.component';
 export * from './lib/icon/icon.component';
-export * from './lib/icons/edit-icon/edit-icon.component';
-export * from './lib/icons/error-icon/error-icon.component';
 export * from './lib/icons/exclamation-icon/exclamation-icon.component';
 export * from './lib/icons/external-unit-icon/external-unit-icon.component';
 export * from './lib/icons/file-icon/file-icon.component';
diff --git a/alfa-client/libs/design-system/src/lib/icons/edit-icon/edit-icon.component.spec.ts b/alfa-client/libs/design-system/src/lib/icons/edit-icon/edit-icon.component.spec.ts
deleted file mode 100644
index 67bff50443..0000000000
--- a/alfa-client/libs/design-system/src/lib/icons/edit-icon/edit-icon.component.spec.ts
+++ /dev/null
@@ -1,44 +0,0 @@
-/*
- * 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 { EditIconComponent } from './edit-icon.component';
-
-describe('EditIconComponent', () => {
-  let component: EditIconComponent;
-  let fixture: ComponentFixture<EditIconComponent>;
-
-  beforeEach(async () => {
-    await TestBed.configureTestingModule({
-      imports: [EditIconComponent],
-    }).compileComponents();
-
-    fixture = TestBed.createComponent(EditIconComponent);
-    component = fixture.componentInstance;
-    fixture.detectChanges();
-  });
-
-  it('should create', () => {
-    expect(component).toBeTruthy();
-  });
-});
diff --git a/alfa-client/libs/design-system/src/lib/icons/edit-icon/edit-icon.component.ts b/alfa-client/libs/design-system/src/lib/icons/edit-icon/edit-icon.component.ts
deleted file mode 100644
index c5c54a6669..0000000000
--- a/alfa-client/libs/design-system/src/lib/icons/edit-icon/edit-icon.component.ts
+++ /dev/null
@@ -1,50 +0,0 @@
-/*
- * 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 { CommonModule } from '@angular/common';
-import { Component, Input } from '@angular/core';
-import { twMerge } from 'tailwind-merge';
-import { iconVariants, IconVariants } from '../iconVariants';
-
-@Component({
-  selector: 'ods-edit-icon',
-  standalone: true,
-  imports: [CommonModule],
-  template: `<svg
-    viewBox="0 0 24 24"
-    xmlns="http://www.w3.org/2000/svg"
-    [ngClass]="twMerge(iconVariants({ size }), 'fill-primary', class)"
-    aria-hidden="true"
-  >
-    <path
-      d="M5 19H6.425L16.2 9.225L14.775 7.8L5 17.575V19ZM3 21V16.75L16.2 3.575C16.4 3.39167 16.6208 3.25 16.8625 3.15C17.1042 3.05 17.3583 3 17.625 3C17.8917 3 18.15 3.05 18.4 3.15C18.65 3.25 18.8667 3.4 19.05 3.6L20.425 5C20.625 5.18333 20.7708 5.4 20.8625 5.65C20.9542 5.9 21 6.15 21 6.4C21 6.66667 20.9542 6.92083 20.8625 7.1625C20.7708 7.40417 20.625 7.625 20.425 7.825L7.25 21H3ZM15.475 8.525L14.775 7.8L16.2 9.225L15.475 8.525Z"
-    />
-  </svg>`,
-})
-export class EditIconComponent {
-  @Input() size: IconVariants['size'] = 'medium';
-  @Input() class: string = undefined;
-
-  readonly iconVariants = iconVariants;
-  readonly twMerge = twMerge;
-}
diff --git a/alfa-client/libs/design-system/src/lib/icons/edit-icon/edit-icon.stories.ts b/alfa-client/libs/design-system/src/lib/icons/edit-icon/edit-icon.stories.ts
deleted file mode 100644
index 0fc98077e5..0000000000
--- a/alfa-client/libs/design-system/src/lib/icons/edit-icon/edit-icon.stories.ts
+++ /dev/null
@@ -1,50 +0,0 @@
-/*
- * 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 { EditIconComponent } from './edit-icon.component';
-
-const meta: Meta<EditIconComponent> = {
-  title: 'Icons/Edit icon',
-  component: EditIconComponent,
-  excludeStories: /.*Data$/,
-  tags: ['autodocs'],
-};
-
-export default meta;
-type Story = StoryObj<EditIconComponent>;
-
-export const Default: Story = {
-  args: { size: 'medium' },
-  argTypes: {
-    size: {
-      control: 'select',
-      options: ['small', 'medium', 'large', 'extra-large', 'full'],
-      description: 'Size of icon. Property "full" means 100%',
-      table: {
-        defaultValue: { summary: 'medium' },
-      },
-    },
-  },
-};
diff --git a/alfa-client/libs/design-system/src/lib/icons/error-icon/error-icon.component.spec.ts b/alfa-client/libs/design-system/src/lib/icons/error-icon/error-icon.component.spec.ts
deleted file mode 100644
index 00a740349a..0000000000
--- a/alfa-client/libs/design-system/src/lib/icons/error-icon/error-icon.component.spec.ts
+++ /dev/null
@@ -1,44 +0,0 @@
-/*
- * 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 { ErrorIconComponent } from './error-icon.component';
-
-describe('ErrorIconComponent', () => {
-  let component: ErrorIconComponent;
-  let fixture: ComponentFixture<ErrorIconComponent>;
-
-  beforeEach(async () => {
-    await TestBed.configureTestingModule({
-      imports: [ErrorIconComponent],
-    }).compileComponents();
-
-    fixture = TestBed.createComponent(ErrorIconComponent);
-    component = fixture.componentInstance;
-    fixture.detectChanges();
-  });
-
-  it('should create', () => {
-    expect(component).toBeTruthy();
-  });
-});
diff --git a/alfa-client/libs/design-system/src/lib/icons/error-icon/error-icon.component.ts b/alfa-client/libs/design-system/src/lib/icons/error-icon/error-icon.component.ts
deleted file mode 100644
index 0d93cbe0a2..0000000000
--- a/alfa-client/libs/design-system/src/lib/icons/error-icon/error-icon.component.ts
+++ /dev/null
@@ -1,51 +0,0 @@
-/*
- * 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';
-import { IconVariants, iconVariants } from '../iconVariants';
-
-@Component({
-  selector: 'ods-error-icon',
-  standalone: true,
-  imports: [NgClass],
-  template: `<svg
-    viewBox="0 0 24 24"
-    [ngClass]="[twMerge(iconVariants({ size }), 'fill-error', class)]"
-    aria-hidden="true"
-    fill="inherit"
-    xmlns="http://www.w3.org/2000/svg"
-  >
-    <path
-      d="M12 17C12.2833 17 12.5208 16.9042 12.7125 16.7125C12.9042 16.5208 13 16.2833 13 16C13 15.7167 12.9042 15.4792 12.7125 15.2875C12.5208 15.0958 12.2833 15 12 15C11.7167 15 11.4792 15.0958 11.2875 15.2875C11.0958 15.4792 11 15.7167 11 16C11 16.2833 11.0958 16.5208 11.2875 16.7125C11.4792 16.9042 11.7167 17 12 17ZM11 13H13V7H11V13ZM12 22C10.6167 22 9.31667 21.7375 8.1 21.2125C6.88333 20.6875 5.825 19.975 4.925 19.075C4.025 18.175 3.3125 17.1167 2.7875 15.9C2.2625 14.6833 2 13.3833 2 12C2 10.6167 2.2625 9.31667 2.7875 8.1C3.3125 6.88333 4.025 5.825 4.925 4.925C5.825 4.025 6.88333 3.3125 8.1 2.7875C9.31667 2.2625 10.6167 2 12 2C13.3833 2 14.6833 2.2625 15.9 2.7875C17.1167 3.3125 18.175 4.025 19.075 4.925C19.975 5.825 20.6875 6.88333 21.2125 8.1C21.7375 9.31667 22 10.6167 22 12C22 13.3833 21.7375 14.6833 21.2125 15.9C20.6875 17.1167 19.975 18.175 19.075 19.075C18.175 19.975 17.1167 20.6875 15.9 21.2125C14.6833 21.7375 13.3833 22 12 22ZM12 20C14.2333 20 16.125 19.225 17.675 17.675C19.225 16.125 20 14.2333 20 12C20 9.76667 19.225 7.875 17.675 6.325C16.125 4.775 14.2333 4 12 4C9.76667 4 7.875 4.775 6.325 6.325C4.775 7.875 4 9.76667 4 12C4 14.2333 4.775 16.125 6.325 17.675C7.875 19.225 9.76667 20 12 20Z"
-    />
-  </svg>`,
-})
-export class ErrorIconComponent {
-  @Input() size: IconVariants['size'] = 'medium';
-  @Input() class: string = undefined;
-
-  readonly iconVariants = iconVariants;
-  readonly twMerge = twMerge;
-}
diff --git a/alfa-client/libs/design-system/src/lib/icons/error-icon/error-icon.stories.ts b/alfa-client/libs/design-system/src/lib/icons/error-icon/error-icon.stories.ts
deleted file mode 100644
index 7fdad04af1..0000000000
--- a/alfa-client/libs/design-system/src/lib/icons/error-icon/error-icon.stories.ts
+++ /dev/null
@@ -1,50 +0,0 @@
-/*
- * 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 { ErrorIconComponent } from './error-icon.component';
-
-const meta: Meta<ErrorIconComponent> = {
-  title: 'Icons/Error icon',
-  component: ErrorIconComponent,
-  excludeStories: /.*Data$/,
-  tags: ['autodocs'],
-};
-
-export default meta;
-type Story = StoryObj<ErrorIconComponent>;
-
-export const Default: Story = {
-  args: { size: 'medium' },
-  argTypes: {
-    size: {
-      control: 'select',
-      options: ['small', 'medium', 'large', 'extra-large', 'full'],
-      description: 'Size of icon. Property "full" means 100%',
-      table: {
-        defaultValue: { summary: 'medium' },
-      },
-    },
-  },
-};
diff --git a/alfa-client/libs/user-profile/src/lib/user-icon/user-icon.component.html b/alfa-client/libs/user-profile/src/lib/user-icon/user-icon.component.html
index a6866ab9d0..2a57e10d8f 100644
--- a/alfa-client/libs/user-profile/src/lib/user-icon/user-icon.component.html
+++ b/alfa-client/libs/user-profile/src/lib/user-icon/user-icon.component.html
@@ -41,10 +41,12 @@
         style="--mdc-icon-button-icon-size: 36px"
       />
       <span *ngIf="errorMessageCode === messageCode.RESOURCE_NOT_FOUND" data-test-class="user-profile-user-not-found">!</span>
-      <ods-error-icon
+      <ods-icon
         *ngIf="errorMessageCode === messageCode.SERVICE_UNAVAILABLE"
+        name="error"
+        fill="error"
+        size="extra-large"
         data-test-class="user-profile-service-unavailable"
-        style="--mdc-icon-button-icon-size: 42px"
       />
     </ng-template>
   </div>
diff --git a/alfa-client/libs/user-profile/src/lib/user-icon/user-icon.component.spec.ts b/alfa-client/libs/user-profile/src/lib/user-icon/user-icon.component.spec.ts
index 5a26a51d01..c1e0a1e574 100644
--- a/alfa-client/libs/user-profile/src/lib/user-icon/user-icon.component.spec.ts
+++ b/alfa-client/libs/user-profile/src/lib/user-icon/user-icon.component.spec.ts
@@ -35,7 +35,7 @@ import { NO_NAME_MESSAGE, UserProfileResource, userProfileMessage } from '@alfa-
 import { ComponentFixture, TestBed } from '@angular/core/testing';
 import { MatIcon } from '@angular/material/icon';
 import { faker } from '@faker-js/faker';
-import { ErrorIconComponent, UserIconComponent as OdsUserIconComponent, TooltipDirective } from '@ods/system';
+import { IconComponent, UserIconComponent as OdsUserIconComponent, TooltipDirective } from '@ods/system';
 import { getDataTestClassOf } from 'libs/tech-shared/test/data-test';
 import { createUserProfileResource } from 'libs/user-profile-shared/test/user-profile';
 import { MockComponent, MockDirective } from 'ng-mocks';
@@ -60,7 +60,7 @@ describe('UserIconComponent', () => {
         MatIcon,
         MockComponent(SpinnerComponent),
         MockDirective(TooltipDirective),
-        MockComponent(ErrorIconComponent),
+        MockComponent(IconComponent),
         MockComponent(OdsUserIconComponent),
       ],
     });
diff --git a/alfa-client/libs/user-profile/src/lib/user-profile.module.ts b/alfa-client/libs/user-profile/src/lib/user-profile.module.ts
index 1f8af984ac..e8b6bcbc3a 100644
--- a/alfa-client/libs/user-profile/src/lib/user-profile.module.ts
+++ b/alfa-client/libs/user-profile/src/lib/user-profile.module.ts
@@ -41,7 +41,6 @@ import {
   DropdownMenuButtonItemComponent,
   DropdownMenuComponent,
   DropdownMenuItemComponent,
-  ErrorIconComponent,
   IconComponent,
   LogoutIconComponent,
   UserIconComponent as OdsUserIconComponent,
@@ -74,7 +73,6 @@ import { UserProfileComponent } from './user-profile/user-profile.component';
     RouterModule,
     OdsUserIconComponent,
     LogoutIconComponent,
-    ErrorIconComponent,
     IconButtonWithSpinnerComponent,
     HasLinkPipe,
     MatTooltip,
diff --git a/alfa-client/libs/vorgang-detail/src/lib/aktenzeichen-editable/aktenzeichen-editable.component.html b/alfa-client/libs/vorgang-detail/src/lib/aktenzeichen-editable/aktenzeichen-editable.component.html
index a90a52997e..3ffe89952d 100644
--- a/alfa-client/libs/vorgang-detail/src/lib/aktenzeichen-editable/aktenzeichen-editable.component.html
+++ b/alfa-client/libs/vorgang-detail/src/lib/aktenzeichen-editable/aktenzeichen-editable.component.html
@@ -35,7 +35,7 @@
       data-test-id="aktenzeichen-editieren"
       (clickEmitter)="onEdit()"
     >
-      <ods-edit-icon icon />
+      <ods-icon icon name="edit" />
     </ods-button>
   </div>
 }
diff --git a/alfa-client/libs/vorgang-detail/src/lib/aktenzeichen-editable/aktenzeichen-editable.component.spec.ts b/alfa-client/libs/vorgang-detail/src/lib/aktenzeichen-editable/aktenzeichen-editable.component.spec.ts
index c930351baf..bdbc6ef459 100644
--- a/alfa-client/libs/vorgang-detail/src/lib/aktenzeichen-editable/aktenzeichen-editable.component.spec.ts
+++ b/alfa-client/libs/vorgang-detail/src/lib/aktenzeichen-editable/aktenzeichen-editable.component.spec.ts
@@ -27,7 +27,7 @@ import { DialogService } from '@alfa-client/ui';
 import { VorgangWithEingangLinkRel } from '@alfa-client/vorgang-shared';
 import { AktenzeichenComponent } from '@alfa-client/vorgang-shared-ui';
 import { ComponentFixture, TestBed } from '@angular/core/testing';
-import { ButtonComponent, EditIconComponent, TooltipDirective } from '@ods/system';
+import { ButtonComponent, IconComponent, TooltipDirective } from '@ods/system';
 import { getDataTestIdOf } from 'libs/tech-shared/test/data-test';
 import { createVorgangWithEingangResource } from 'libs/vorgang-shared/test/vorgang';
 import { MockComponent, MockDirective } from 'ng-mocks';
@@ -48,7 +48,7 @@ describe('AktenzeichenComponent', () => {
         HasLinkPipe,
         AktenzeichenEditableComponent,
         MockComponent(ButtonComponent),
-        MockComponent(EditIconComponent),
+        MockComponent(IconComponent),
         MockComponent(AktenzeichenComponent),
         MockDirective(TooltipDirective),
       ],
diff --git a/alfa-client/libs/vorgang-detail/src/lib/buttons/bearbeiten-button/bearbeiten-button.component.html b/alfa-client/libs/vorgang-detail/src/lib/buttons/bearbeiten-button/bearbeiten-button.component.html
index 46880b0531..81d7b6b8e9 100644
--- a/alfa-client/libs/vorgang-detail/src/lib/buttons/bearbeiten-button/bearbeiten-button.component.html
+++ b/alfa-client/libs/vorgang-detail/src/lib/buttons/bearbeiten-button/bearbeiten-button.component.html
@@ -35,7 +35,7 @@
       size="fit"
       (clickEmitter)="bearbeiten()"
     >
-      <ods-edit-icon icon class="fill-text" />
+      <ods-icon icon name="edit" fill="text" />
     </ods-button-with-spinner>
   } @else {
     <ods-button-with-spinner
@@ -45,7 +45,7 @@
       variant="outline"
       (clickEmitter)="bearbeiten()"
     >
-      <ods-edit-icon icon />
+      <ods-icon icon name="edit" />
     </ods-button-with-spinner>
   }
 }
diff --git a/alfa-client/libs/vorgang-detail/src/lib/buttons/bearbeiten-button/bearbeiten-button.component.spec.ts b/alfa-client/libs/vorgang-detail/src/lib/buttons/bearbeiten-button/bearbeiten-button.component.spec.ts
index 382edfc27f..8c920c6a3c 100644
--- a/alfa-client/libs/vorgang-detail/src/lib/buttons/bearbeiten-button/bearbeiten-button.component.spec.ts
+++ b/alfa-client/libs/vorgang-detail/src/lib/buttons/bearbeiten-button/bearbeiten-button.component.spec.ts
@@ -26,7 +26,7 @@ import { mock } from '@alfa-client/test-utils';
 import { VorgangCommandService, VorgangWithEingangLinkRel } from '@alfa-client/vorgang-shared';
 import { ComponentFixture, TestBed } from '@angular/core/testing';
 import { ButtonWithSpinnerComponent } from '@ods/component';
-import { EditIconComponent, TooltipDirective } from '@ods/system';
+import { IconComponent, TooltipDirective } from '@ods/system';
 import { createCommandResource } from 'libs/command-shared/test/command';
 import { getDataTestIdAttributeOf } from 'libs/tech-shared/test/data-test';
 import { createVorgangWithEingangResource } from 'libs/vorgang-shared/test/vorgang';
@@ -51,7 +51,7 @@ describe('BearbeitenButtonComponent', () => {
       declarations: [
         BearbeitenButtonComponent,
         MockComponent(ButtonWithSpinnerComponent),
-        MockComponent(EditIconComponent),
+        MockComponent(IconComponent),
         MockDirective(TooltipDirective),
         HasLinkPipe,
       ],
diff --git a/alfa-client/libs/vorgang-detail/src/lib/vorgang-detail.module.ts b/alfa-client/libs/vorgang-detail/src/lib/vorgang-detail.module.ts
index 38309b9811..9217c0de90 100644
--- a/alfa-client/libs/vorgang-detail/src/lib/vorgang-detail.module.ts
+++ b/alfa-client/libs/vorgang-detail/src/lib/vorgang-detail.module.ts
@@ -75,7 +75,6 @@ import {
   ButtonComponent,
   DropdownMenuComponent,
   DropdownMenuTextItemComponent,
-  EditIconComponent,
   ErrorMessageComponent,
   ExclamationIconComponent,
   FileIconComponent,
@@ -150,7 +149,6 @@ const routes: Routes = [
     ButtonComponent,
     ButtonCardComponent,
     UndoIconComponent,
-    EditIconComponent,
     ExclamationIconComponent,
     SaveIconComponent,
     SendIconComponent,
@@ -197,7 +195,6 @@ const routes: Routes = [
     FileIconComponent,
     ForwardingButtonContainerComponent,
     TooltipDirective,
-    EditIconComponent,
     MatTabContent,
     IconComponent,
   ],
diff --git a/alfa-client/libs/zustaendige-stelle/src/lib/edit-zustaendige-stelle-button/edit-zustaendige-stelle-button.component.html b/alfa-client/libs/zustaendige-stelle/src/lib/edit-zustaendige-stelle-button/edit-zustaendige-stelle-button.component.html
index d2d7f16b24..85dd821da8 100644
--- a/alfa-client/libs/zustaendige-stelle/src/lib/edit-zustaendige-stelle-button/edit-zustaendige-stelle-button.component.html
+++ b/alfa-client/libs/zustaendige-stelle/src/lib/edit-zustaendige-stelle-button/edit-zustaendige-stelle-button.component.html
@@ -30,5 +30,5 @@
   [dataTestId]="dataTestId"
   (clickEmitter)="openSearchDialog()"
 >
-  <ods-edit-icon icon />
+  <ods-icon icon name="edit" />
 </ods-button>
diff --git a/alfa-client/libs/zustaendige-stelle/src/lib/edit-zustaendige-stelle-button/edit-zustaendige-stelle-button.component.spec.ts b/alfa-client/libs/zustaendige-stelle/src/lib/edit-zustaendige-stelle-button/edit-zustaendige-stelle-button.component.spec.ts
index 86cefaca99..4adbe4b78e 100644
--- a/alfa-client/libs/zustaendige-stelle/src/lib/edit-zustaendige-stelle-button/edit-zustaendige-stelle-button.component.spec.ts
+++ b/alfa-client/libs/zustaendige-stelle/src/lib/edit-zustaendige-stelle-button/edit-zustaendige-stelle-button.component.spec.ts
@@ -26,7 +26,7 @@ import { OzgcloudDialogService } from '@alfa-client/ui';
 import { ComponentFixture, TestBed } from '@angular/core/testing';
 import { faker } from '@faker-js/faker';
 import { Resource } from '@ngxp/rest';
-import { ButtonComponent, EditIconComponent } from '@ods/system';
+import { ButtonComponent, IconComponent } from '@ods/system';
 import { getDataTestClassOf } from 'libs/tech-shared/test/data-test';
 import { MockComponent } from 'ng-mocks';
 import { SearchZustaendigeStelleDialogComponent } from '../search-zustaendige-stelle-dialog/search-zustaendige-stelle-dialog.component';
@@ -47,7 +47,7 @@ describe('EditZustaendigeStelleButtonComponent', () => {
     dialogService = mock(OzgcloudDialogService);
     await TestBed.configureTestingModule({
       declarations: [EditZustaendigeStelleButtonComponent],
-      imports: [MockComponent(ButtonComponent), MockComponent(EditIconComponent)],
+      imports: [MockComponent(ButtonComponent), MockComponent(IconComponent)],
       providers: [
         {
           provide: OzgcloudDialogService,
diff --git a/alfa-client/libs/zustaendige-stelle/src/lib/zustaendige-stelle.module.ts b/alfa-client/libs/zustaendige-stelle/src/lib/zustaendige-stelle.module.ts
index 3aabe3c7d7..e18c59b1fd 100644
--- a/alfa-client/libs/zustaendige-stelle/src/lib/zustaendige-stelle.module.ts
+++ b/alfa-client/libs/zustaendige-stelle/src/lib/zustaendige-stelle.module.ts
@@ -26,7 +26,6 @@ import { NgModule } from '@angular/core';
 import { FormsModule, ReactiveFormsModule } from '@angular/forms';
 import {
   ButtonComponent,
-  EditIconComponent,
   ExternalUnitIconComponent,
   IconComponent,
   InstantSearchComponent,
@@ -57,7 +56,7 @@ import { ZustaendigeStelleHeaderComponent } from './zustaendige-stelle-header/zu
     OfficeIconComponent,
     SearchIconComponent,
     ExternalUnitIconComponent,
-    EditIconComponent,
+    IconComponent,
     PublicAdministrationIconComponent,
   ],
   declarations: [
-- 
GitLab