From 48559709823c132cdcc3fcc9d810279290d65e6c Mon Sep 17 00:00:00 2001
From: Alexander Reifschneider <alexander.reifschneider@mgm-tp.com>
Date: Thu, 15 May 2025 17:01:03 +0200
Subject: [PATCH] OZG-7971 move back button to ods-system

---
 alfa-client/libs/design-system/src/index.ts   |  1 +
 .../back-button/back-button.component.html    |  0
 .../back-button/back-button.component.spec.ts | 10 ++++----
 .../lib}/back-button/back-button.component.ts |  7 +++---
 .../postfach-page.component.html              |  6 ++---
 .../postfach-page.component.spec.ts           |  5 ++--
 .../libs/postfach/src/lib/postfach.module.ts  |  3 +--
 alfa-client/libs/ui/src/index.ts              |  1 -
 .../ui/back-button/back-button.component.scss | 23 -------------------
 .../vorgang-detail-back-button.component.html |  2 +-
 ...rgang-detail-back-button.component.spec.ts |  2 +-
 .../src/lib/vorgang-detail.module.ts          |  2 +-
 ...iedervorlage-action-buttons.component.html |  2 +-
 ...ervorlage-action-buttons.component.spec.ts |  2 +-
 .../src/lib/wiedervorlage.module.ts           |  5 ++--
 15 files changed, 24 insertions(+), 47 deletions(-)
 rename alfa-client/libs/{ui/src/lib/ui => design-system/src/lib}/back-button/back-button.component.html (100%)
 rename alfa-client/libs/{ui/src/lib/ui => design-system/src/lib}/back-button/back-button.component.spec.ts (92%)
 rename alfa-client/libs/{ui/src/lib/ui => design-system/src/lib}/back-button/back-button.component.ts (86%)
 delete mode 100644 alfa-client/libs/ui/src/lib/ui/back-button/back-button.component.scss

diff --git a/alfa-client/libs/design-system/src/index.ts b/alfa-client/libs/design-system/src/index.ts
index abdb78ae51..1617ea8273 100644
--- a/alfa-client/libs/design-system/src/index.ts
+++ b/alfa-client/libs/design-system/src/index.ts
@@ -24,6 +24,7 @@
 export * from './lib/attachment-header/attachment-header.component';
 export * from './lib/attachment-wrapper/attachment-wrapper.component';
 export * from './lib/attachment/attachment.component';
+export * from './lib/back-button/back-button.component';
 export * from './lib/bescheid-status-text/bescheid-status-text.component';
 export * from './lib/bescheid-wrapper/bescheid-wrapper.component';
 export * from './lib/button-card/button-card.component';
diff --git a/alfa-client/libs/ui/src/lib/ui/back-button/back-button.component.html b/alfa-client/libs/design-system/src/lib/back-button/back-button.component.html
similarity index 100%
rename from alfa-client/libs/ui/src/lib/ui/back-button/back-button.component.html
rename to alfa-client/libs/design-system/src/lib/back-button/back-button.component.html
diff --git a/alfa-client/libs/ui/src/lib/ui/back-button/back-button.component.spec.ts b/alfa-client/libs/design-system/src/lib/back-button/back-button.component.spec.ts
similarity index 92%
rename from alfa-client/libs/ui/src/lib/ui/back-button/back-button.component.spec.ts
rename to alfa-client/libs/design-system/src/lib/back-button/back-button.component.spec.ts
index 5e3b514238..d2b26276d2 100644
--- a/alfa-client/libs/ui/src/lib/ui/back-button/back-button.component.spec.ts
+++ b/alfa-client/libs/design-system/src/lib/back-button/back-button.component.spec.ts
@@ -23,11 +23,13 @@
  */
 import { getElementFromFixture } from '@alfa-client/test-utils';
 import { ComponentFixture, TestBed } from '@angular/core/testing';
-import { RouterTestingModule } from '@angular/router/testing';
+import { provideRouter } from '@angular/router';
 import { faker } from '@faker-js/faker';
-import { ButtonComponent, IconComponent, TooltipDirective } from '@ods/system';
 import { getDataTestIdOf } from 'libs/tech-shared/test/data-test';
 import { MockComponent, MockDirective } from 'ng-mocks';
+import { ButtonComponent } from '../button/button.component';
+import { IconComponent } from '../icon/icon.component';
+import { TooltipDirective } from '../tooltip/tooltip.directive';
 import { BackButtonComponent } from './back-button.component';
 
 describe('BackButtonComponent', () => {
@@ -40,13 +42,13 @@ describe('BackButtonComponent', () => {
 
   beforeEach(async () => {
     await TestBed.configureTestingModule({
-      declarations: [
+      imports: [
         BackButtonComponent,
         MockComponent(ButtonComponent),
         MockComponent(IconComponent),
         MockDirective(TooltipDirective),
       ],
-      imports: [RouterTestingModule],
+      providers: [provideRouter([])],
     }).compileComponents();
 
     fixture = TestBed.createComponent(BackButtonComponent);
diff --git a/alfa-client/libs/ui/src/lib/ui/back-button/back-button.component.ts b/alfa-client/libs/design-system/src/lib/back-button/back-button.component.ts
similarity index 86%
rename from alfa-client/libs/ui/src/lib/ui/back-button/back-button.component.ts
rename to alfa-client/libs/design-system/src/lib/back-button/back-button.component.ts
index c40492dcca..0220bcf5e1 100644
--- a/alfa-client/libs/ui/src/lib/ui/back-button/back-button.component.ts
+++ b/alfa-client/libs/design-system/src/lib/back-button/back-button.component.ts
@@ -23,12 +23,13 @@
  */
 import { Component, Input } from '@angular/core';
 import { RouterLink } from '@angular/router';
-import { ButtonComponent, IconComponent, TooltipDirective } from '@ods/system';
+import { ButtonComponent } from '../button/button.component';
+import { IconComponent } from '../icon/icon.component';
+import { TooltipDirective } from '../tooltip/tooltip.directive';
 
 @Component({
-  selector: 'ozgcloud-back-button',
+  selector: 'ods-back-button',
   templateUrl: './back-button.component.html',
-  styleUrls: ['./back-button.component.scss'],
   standalone: true,
   imports: [RouterLink, TooltipDirective, ButtonComponent, IconComponent],
 })
diff --git a/alfa-client/libs/postfach/src/lib/postfach-page-container/postfach-page/postfach-page.component.html b/alfa-client/libs/postfach/src/lib/postfach-page-container/postfach-page/postfach-page.component.html
index 5b3a6128d7..97626d4152 100644
--- a/alfa-client/libs/postfach/src/lib/postfach-page-container/postfach-page/postfach-page.component.html
+++ b/alfa-client/libs/postfach/src/lib/postfach-page-container/postfach-page/postfach-page.component.html
@@ -24,7 +24,7 @@
 
 -->
 <ozgcloud-subnavigation class="mat-typography mat-app-background">
-  <ozgcloud-back-button linkTo="../" label="zurück zur Detailseite" />
+  <ods-back-button linkTo="../" label="zurück zur Detailseite" />
   <alfa-mail-unread-button-link-container
     [postfachMailListResource]="postfachMailListStateResource.resource"
     showAsIconButton="true"
@@ -33,7 +33,5 @@
 
 <div class="l-scroll-area--full flex flex-col">
   <h1 data-test-id="postfach-mail-heading" class="pl-7 pt-4 text-lg font-medium">Nachrichten zum Vorgang</h1>
-  <alfa-postfach-page-mail-list
-    [postfachMailListStateResource]="postfachMailListStateResource"
-  />
+  <alfa-postfach-page-mail-list [postfachMailListStateResource]="postfachMailListStateResource" />
 </div>
diff --git a/alfa-client/libs/postfach/src/lib/postfach-page-container/postfach-page/postfach-page.component.spec.ts b/alfa-client/libs/postfach/src/lib/postfach-page-container/postfach-page/postfach-page.component.spec.ts
index c2e2ee46a5..303c631366 100644
--- a/alfa-client/libs/postfach/src/lib/postfach-page-container/postfach-page/postfach-page.component.spec.ts
+++ b/alfa-client/libs/postfach/src/lib/postfach-page-container/postfach-page/postfach-page.component.spec.ts
@@ -22,9 +22,10 @@
  * unter der Lizenz sind dem Lizenztext zu entnehmen.
  */
 import { createStateResource } from '@alfa-client/tech-shared';
-import { BackButtonComponent, SubnavigationComponent } from '@alfa-client/ui';
+import { SubnavigationComponent } from '@alfa-client/ui';
 import { ComponentFixture, TestBed } from '@angular/core/testing';
 import { MatIcon } from '@angular/material/icon';
+import { BackButtonComponent } from '@ods/system';
 import { MockComponent } from 'ng-mocks';
 import { createPostfachMailListResource } from '../../../../../postfach-shared/test/postfach';
 import { MailUnreadButtonLinkContainerComponent } from './mail-unread-button/mail-unread-button-link-container.component';
@@ -40,10 +41,10 @@ describe('PostfachPageComponent', () => {
       declarations: [
         PostfachPageComponent,
         MatIcon,
-        MockComponent(BackButtonComponent),
         MockComponent(SubnavigationComponent),
         MockComponent(PostfachPageMailListComponent),
         MockComponent(MailUnreadButtonLinkContainerComponent),
+        MockComponent(BackButtonComponent),
       ],
     }).compileComponents();
   });
diff --git a/alfa-client/libs/postfach/src/lib/postfach.module.ts b/alfa-client/libs/postfach/src/lib/postfach.module.ts
index 5d66735fd5..2df3c63e9b 100644
--- a/alfa-client/libs/postfach/src/lib/postfach.module.ts
+++ b/alfa-client/libs/postfach/src/lib/postfach.module.ts
@@ -25,7 +25,6 @@ import { BinaryFileModule } from '@alfa-client/binary-file';
 import { ON_PAGE, PostfachSharedModule } from '@alfa-client/postfach-shared';
 import { ConvertForDataTestPipe, FormatDateWithTimePipe, HasLinkPipe, ToEmbeddedResourcesPipe } from '@alfa-client/tech-shared';
 import {
-  BackButtonComponent,
   CheckboxEnumEditorComponent,
   OzgcloudIconComponent,
   OzgcloudTextEditorComponent,
@@ -41,7 +40,7 @@ import { ReactiveFormsModule } from '@angular/forms';
 import { MatIcon } from '@angular/material/icon';
 import { RouterModule, Routes } from '@angular/router';
 import { ButtonWithSpinnerComponent } from '@ods/component';
-import { ButtonComponent, IconComponent, MailIconComponent, TooltipDirective } from '@ods/system';
+import { BackButtonComponent, 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';
diff --git a/alfa-client/libs/ui/src/index.ts b/alfa-client/libs/ui/src/index.ts
index dfde7cefe9..f82efd00b0 100644
--- a/alfa-client/libs/ui/src/index.ts
+++ b/alfa-client/libs/ui/src/index.ts
@@ -27,7 +27,6 @@ export * from './lib/interceptor/http-connection-timeout.interceptor';
 export * from './lib/interceptor/http-error.interceptor';
 export * from './lib/snackbar/snackbar.service';
 export * from './lib/ui/accordion/accordion.component';
-export * from './lib/ui/back-button/back-button.component';
 export * from './lib/ui/basic-dialog/basic-dialog-data.model';
 export * from './lib/ui/basic-dialog/basic-dialog.component';
 export * from './lib/ui/dialog/dialog.service';
diff --git a/alfa-client/libs/ui/src/lib/ui/back-button/back-button.component.scss b/alfa-client/libs/ui/src/lib/ui/back-button/back-button.component.scss
deleted file mode 100644
index 54c4f3eb8c..0000000000
--- a/alfa-client/libs/ui/src/lib/ui/back-button/back-button.component.scss
+++ /dev/null
@@ -1,23 +0,0 @@
-/**
- * Copyright (C) 2023 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.
- */
diff --git a/alfa-client/libs/vorgang-detail/src/lib/vorgang-detail-page/vorgang-detail-back-button-container/vorgang-detail-back-button/vorgang-detail-back-button.component.html b/alfa-client/libs/vorgang-detail/src/lib/vorgang-detail-page/vorgang-detail-back-button-container/vorgang-detail-back-button/vorgang-detail-back-button.component.html
index e4407e36c8..719e874081 100644
--- a/alfa-client/libs/vorgang-detail/src/lib/vorgang-detail-page/vorgang-detail-back-button-container/vorgang-detail-back-button/vorgang-detail-back-button.component.html
+++ b/alfa-client/libs/vorgang-detail/src/lib/vorgang-detail-page/vorgang-detail-back-button-container/vorgang-detail-back-button/vorgang-detail-back-button.component.html
@@ -23,4 +23,4 @@
     unter der Lizenz sind dem Lizenztext zu entnehmen.
 
 -->
-<ozgcloud-back-button [linkTo]="routePath" label="zurück zur Vorgangsliste"></ozgcloud-back-button>
+<ods-back-button [linkTo]="routePath" label="zurück zur Vorgangsliste" />
diff --git a/alfa-client/libs/vorgang-detail/src/lib/vorgang-detail-page/vorgang-detail-back-button-container/vorgang-detail-back-button/vorgang-detail-back-button.component.spec.ts b/alfa-client/libs/vorgang-detail/src/lib/vorgang-detail-page/vorgang-detail-back-button-container/vorgang-detail-back-button/vorgang-detail-back-button.component.spec.ts
index 105b0afafe..78138cfd4c 100644
--- a/alfa-client/libs/vorgang-detail/src/lib/vorgang-detail-page/vorgang-detail-back-button-container/vorgang-detail-back-button/vorgang-detail-back-button.component.spec.ts
+++ b/alfa-client/libs/vorgang-detail/src/lib/vorgang-detail-page/vorgang-detail-back-button-container/vorgang-detail-back-button/vorgang-detail-back-button.component.spec.ts
@@ -23,7 +23,7 @@
  */
 import { ComponentFixture, TestBed } from '@angular/core/testing';
 import { MatIcon } from '@angular/material/icon';
-import { BackButtonComponent } from '@alfa-client/ui';
+import { BackButtonComponent } from '@ods/system';
 import { MockComponent } from 'ng-mocks';
 import { VorgangDetailBackButtonComponent } from './vorgang-detail-back-button.component';
 
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 c3601744d3..df1bc6c920 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
@@ -33,7 +33,6 @@ import { PostfachModule } from '@alfa-client/postfach';
 import { PostfachSharedModule } from '@alfa-client/postfach-shared';
 import { ConvertForDataTestPipe, ConvertProblemDetailToErrorMessagesPipe, HasLinkPipe } from '@alfa-client/tech-shared';
 import {
-  BackButtonComponent,
   DateEditorComponent,
   ExpansionPanelComponent,
   OzgcloudIconComponent,
@@ -67,6 +66,7 @@ import {
 import {
   AttachmentComponent,
   AttachmentWrapperComponent,
+  BackButtonComponent,
   BescheidStatusTextComponent,
   ButtonCardComponent,
   ButtonComponent,
diff --git a/alfa-client/libs/wiedervorlage/src/lib/wiedervorlage-page-container/wiedervorlage-page/wiedervorlage-action-buttons/wiedervorlage-action-buttons.component.html b/alfa-client/libs/wiedervorlage/src/lib/wiedervorlage-page-container/wiedervorlage-page/wiedervorlage-action-buttons/wiedervorlage-action-buttons.component.html
index 4c97aef842..14b5c5569d 100644
--- a/alfa-client/libs/wiedervorlage/src/lib/wiedervorlage-page-container/wiedervorlage-page/wiedervorlage-action-buttons/wiedervorlage-action-buttons.component.html
+++ b/alfa-client/libs/wiedervorlage/src/lib/wiedervorlage-page-container/wiedervorlage-page/wiedervorlage-action-buttons/wiedervorlage-action-buttons.component.html
@@ -23,7 +23,7 @@
     unter der Lizenz sind dem Lizenztext zu entnehmen.
 
 -->
-<ozgcloud-back-button linkTo="../.." label="zurück zur Detailseite"></ozgcloud-back-button>
+<ods-back-button linkTo="../.." label="zurück zur Detailseite" />
 <alfa-erledigen-button-container [wiedervorlage]="wiedervorlage" />
 <alfa-wiedereroeffnen-button-container [wiedervorlage]="wiedervorlage" />
 <alfa-submit-wiedervorlage-button [showAsIconButton]="true" />
diff --git a/alfa-client/libs/wiedervorlage/src/lib/wiedervorlage-page-container/wiedervorlage-page/wiedervorlage-action-buttons/wiedervorlage-action-buttons.component.spec.ts b/alfa-client/libs/wiedervorlage/src/lib/wiedervorlage-page-container/wiedervorlage-page/wiedervorlage-action-buttons/wiedervorlage-action-buttons.component.spec.ts
index 5cc5dcb5b4..04ea43a815 100644
--- a/alfa-client/libs/wiedervorlage/src/lib/wiedervorlage-page-container/wiedervorlage-page/wiedervorlage-action-buttons/wiedervorlage-action-buttons.component.spec.ts
+++ b/alfa-client/libs/wiedervorlage/src/lib/wiedervorlage-page-container/wiedervorlage-page/wiedervorlage-action-buttons/wiedervorlage-action-buttons.component.spec.ts
@@ -23,7 +23,7 @@
  */
 import { ComponentFixture, TestBed } from '@angular/core/testing';
 import { MatIcon } from '@angular/material/icon';
-import { BackButtonComponent } from '@alfa-client/ui';
+import { BackButtonComponent } from '@ods/system';
 import { MockComponent } from 'ng-mocks';
 import { ErledigenButtonContainerComponent } from '../../../erledigen-button-container/erledigen-button-container.component';
 import { SubmitWiedervorlageButtonComponent } from '../../../submit-wiedervorlage-button/submit-wiedervorlage-button.component';
diff --git a/alfa-client/libs/wiedervorlage/src/lib/wiedervorlage.module.ts b/alfa-client/libs/wiedervorlage/src/lib/wiedervorlage.module.ts
index e28f9184d1..a7bacd8258 100644
--- a/alfa-client/libs/wiedervorlage/src/lib/wiedervorlage.module.ts
+++ b/alfa-client/libs/wiedervorlage/src/lib/wiedervorlage.module.ts
@@ -32,7 +32,6 @@ import {
   ToTrafficLightTooltipPipe,
 } from '@alfa-client/tech-shared';
 import {
-  BackButtonComponent,
   DateEditorComponent,
   ExpansionPanelComponent,
   OzgcloudTextEditorComponent,
@@ -50,7 +49,7 @@ import { MatIcon } from '@angular/material/icon';
 import { MatTooltip } from '@angular/material/tooltip';
 import { RouterModule, Routes } from '@angular/router';
 import { ButtonWithSpinnerComponent } from '@ods/component';
-import { IconComponent, TooltipDirective } from '@ods/system';
+import { BackButtonComponent, IconComponent, TooltipDirective } from '@ods/system';
 import { MultiFileUploadComponent } from '../../../binary-file/src/lib/multi-file-upload/multi-file-upload.component';
 import { CreateWiedervorlageButtonContainerComponent } from './create-wiedervorlage-button-container/create-wiedervorlage-button-container.component';
 import { ErledigenButtonContainerComponent } from './erledigen-button-container/erledigen-button-container.component';
@@ -97,7 +96,6 @@ const routes: Routes = [
     SpinnerComponent,
     ExpansionPanelComponent,
     ToEmbeddedResourcesPipe,
-    BackButtonComponent,
     ReactiveFormsModule,
     OzgcloudTextEditorComponent,
     TextAreaEditorComponent,
@@ -109,6 +107,7 @@ const routes: Routes = [
     TooltipDirective,
     IconComponent,
     MultiFileUploadComponent,
+    BackButtonComponent,
   ],
   declarations: [
     WiedervorlagePageComponent,
-- 
GitLab