From dabd36349edc0bc068d47f009a5948648858356a Mon Sep 17 00:00:00 2001 From: Thomas Reitz Date: Sat, 14 Mar 2026 14:07:20 +0100 Subject: [PATCH] =?UTF-8?q?fix:=20PDF=20Leerseite,=20Button-Gr=C3=B6=C3=9F?= =?UTF-8?q?en=20und=20Prim=C3=A4rfarbe?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit - PDF-Export: doc.flushPages() vor doc.end() verhindert leere Schlussseite (PDFKit bufferPages-Bug nach Footer-Loop) - ExpertProfileTab: height: 32px für btnPrimary/Secondary/Danger sowie chipInput- und headerForm-Inputs → einheitliche Höhe - Primärfarbe #1a56db → #1040bb (dunkler, besser zum Logo passend) - LoginPage CSS-Fallback-Gradient ebenfalls auf neue Primärfarbe Co-Authored-By: Claude Sonnet 4.6 --- .../expert-profile/profile-export.service.ts | 2 ++ .../frontend/src/auth/LoginPage.module.css | 2 +- packages/frontend/src/index.css | 4 ++-- .../src/profile/ExpertProfileTab.module.css | 20 ++++++++++++++----- 4 files changed, 20 insertions(+), 8 deletions(-) diff --git a/packages/core-service/src/core/expert-profile/profile-export.service.ts b/packages/core-service/src/core/expert-profile/profile-export.service.ts index 9a8162b..78a3552 100644 --- a/packages/core-service/src/core/expert-profile/profile-export.service.ts +++ b/packages/core-service/src/core/expert-profile/profile-export.service.ts @@ -604,6 +604,8 @@ export class ProfileExportService { } } + // flushPages() vor end() verhindert leere Schlussseite bei bufferPages: true + doc.flushPages(); doc.end(); }); diff --git a/packages/frontend/src/auth/LoginPage.module.css b/packages/frontend/src/auth/LoginPage.module.css index 4c82ad0..7a49696 100644 --- a/packages/frontend/src/auth/LoginPage.module.css +++ b/packages/frontend/src/auth/LoginPage.module.css @@ -3,7 +3,7 @@ justify-content: center; align-items: center; min-height: 100vh; - background: linear-gradient(135deg, #1a56db 0%, #1e3a5f 100%); + background: linear-gradient(135deg, #1040bb 0%, #0a2570 100%); } .card { diff --git a/packages/frontend/src/index.css b/packages/frontend/src/index.css index d1f260f..65d5769 100644 --- a/packages/frontend/src/index.css +++ b/packages/frontend/src/index.css @@ -4,8 +4,8 @@ :root { /* Farben - Corporate Design */ - --color-primary: #1a56db; - --color-primary-hover: #1e40af; + --color-primary: #1040bb; + --color-primary-hover: #0d33a0; --color-primary-light: #dbeafe; --color-secondary: #6b7280; --color-success: #059669; diff --git a/packages/frontend/src/profile/ExpertProfileTab.module.css b/packages/frontend/src/profile/ExpertProfileTab.module.css index 2975656..9093617 100644 --- a/packages/frontend/src/profile/ExpertProfileTab.module.css +++ b/packages/frontend/src/profile/ExpertProfileTab.module.css @@ -79,12 +79,14 @@ .headerForm input, .headerForm select { - padding: 0.3125rem 0.5rem; + height: 32px; + padding: 0 0.5rem; border: 1px solid var(--color-border); border-radius: var(--radius-sm); font-size: 0.8125rem; min-width: 0; flex: 1; + box-sizing: border-box; } .headerForm input:focus, @@ -143,12 +145,14 @@ } .chipInput input { - padding: 0.3125rem 0.5rem; + height: 32px; + padding: 0 0.5rem; border: 1px solid var(--color-border); border-radius: var(--radius-sm); font-size: 0.8125rem; flex: 1; min-width: 0; + box-sizing: border-box; } .chipInput input:focus { @@ -274,7 +278,8 @@ /* === Buttons === */ .btnPrimary { - padding: 0.5rem 1rem; + height: 32px; + padding: 0 1rem; background: var(--color-primary); color: white; border: none; @@ -284,6 +289,7 @@ cursor: pointer; transition: background 0.15s; white-space: nowrap; + box-sizing: border-box; } .btnPrimary:hover:not(:disabled) { @@ -296,7 +302,8 @@ } .btnSecondary { - padding: 0.5rem 1rem; + height: 32px; + padding: 0 1rem; background: transparent; color: var(--color-text-secondary); border: 1px solid var(--color-border); @@ -306,6 +313,7 @@ cursor: pointer; transition: all 0.15s; white-space: nowrap; + box-sizing: border-box; } .btnSecondary:hover { @@ -313,7 +321,8 @@ } .btnDanger { - padding: 0.5rem 1rem; + height: 32px; + padding: 0 1rem; background: var(--color-error); color: white; border: none; @@ -323,6 +332,7 @@ cursor: pointer; transition: background 0.15s; white-space: nowrap; + box-sizing: border-box; } .btnDanger:hover:not(:disabled) {