From f7a5c486152a3208f81caac5ff1b2e788625d66f Mon Sep 17 00:00:00 2001 From: Andrei Laas Date: Mon, 14 Sep 2026 19:12:52 +0200 Subject: [PATCH] Die Oberflaeche auf das Manner-CD umstellen MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Farben, Schrift, Logo und Symbole folgen jetzt dem CD Manual 2022. An der Logik aendert sich nichts: keine Migration, keine Abfrage, keine Berechtigung. Die zwei Markenfarben stehen in §1.1 als #F69686 (Rosa) und #164194 (Blau). Welche davon was traegt, ist nicht gewaehlt, sondern nachgerechnet: Weiss auf Rosa kommt auf 2.18:1 und faellt damit auch fuer Grossschrift durch, Blau auf Rosa auf 4.34:1 und reicht fuer das Logo, nicht fuer Text. Schwarz auf Rosa sind 7.47:1, Weiss auf Blau 9.47:1. Rosa ist deshalb Flaeche, Blau ist Interaktion — zwei Skalen, brand-* und accent-*, statt einer geteilten. Von den 26 Stellen mit brand-50/100/200 sind nur sieben auf accent gewandert. Der Rest meint einen Zustand und keinen Markenton: die Zeile unter dem Zeiger, der gewaehlte Listeneintrag, der aktive Menuepunkt. Gegen die warme Seitenflaeche ist ein kuehler Ton dort deutlicher, und Blau heisst in dieser Oberflaeche ab jetzt "reagiert auf dich". Nach accent gingen die Faelle ohne eigene Bedeutung — "Geplant", "Offen", der neutrale Protokoll-Chip — und die offene Planstelle im Organigramm, die vorher ein blasses Blau war und damit wie eine schwaechere Person aussah. Die Funktionsfarben bleiben, was sie sind. Das Manual regelt die Identitaet, nicht die Rueckmeldung: Rot heisst Fehler, weil die Benutzerin das mitbringt. `info` bleibt bewusst tuerkis — Blau saehe ab jetzt bedienbar aus, und gemessen kaeme ein blaues info dem violetten Chip auf dE 6.8 nahe, also nicht unterscheidbar. Violett ist dabei nachgezogen: gegen den Fehler-Chip stand es bei dE 8.0, "Austritt" und "Befoerderung" waren im Vorbeigehen dieselbe blasse Flaeche. Jetzt dE 15.0. Die Schrift ist Barlow. Nachgezaehlt ist das Manual zu 95 % in DIN gesetzt (Regular 79 %, Bold 16 %); Helvetica Neue steht nur in den Visitenkarten und im Claim. DIN laesst sich nicht ausliefern — eine Drucklizenz deckt keinen Webfont —, und die freien Nachbauten der DIN 1451 sind Schilderschriften, bei 14 px in einer langen Tabelle schlechter lesbar als das, was sie ersetzen. Die Variable heisst --font-din und nicht --font-barlow: liegt eines Tages eine Web-Lizenz vor, ist der Wechsel diese eine Deklaration. Nebenbei zwei Dinge repariert, die vorher schon falsch waren. Die Umrandung von Eingabefeldern, Knoepfen und Suchfeldern lag bei 1.30:1 und damit unter den 3:1, die WCAG 1.4.11 fuer Bedienelemente verlangt; border-strong bringt 3.56:1. Und das mitgelieferte favicon.ico liess sich gar nicht bauen: eingebettet waren 24-Bit-RGB-PNG, waehrend der Kopf 32 bpp behauptete. Alle Rastersymbole liegen jetzt als RGBA vor, und ihr Blau ist auf den CD-Wert gezogen — samt der kantengeglaetteten Raender, indem je Pixel der Blauanteil bestimmt und neu gemischt wurde. Das Logo ist das Markenlogo (§4.1), nicht das Unternehmenslogo, das §3.2 fuer eine Anwendung mit der AG als Absender vorsaehe — es liegt nicht vor. Der Freiraum X/3 steckt im Bauteil selbst und nicht in den Aufrufstellen, sonst haengt seine Einhaltung daran, dass jede einzelne daran denkt. docs/farbschema.html zeigt Token, Kontraste und Bauteile nebeneinander und laesst sich ohne Server oeffnen. Nicht im Browser gesehen: Anmeldung laeuft ueber das Firmenkonto und die Datenbank ist von hier nicht erreichbar. Lint, Typen, Schemaabgleich, 524 Tests und der Build sind sauber. Co-Authored-By: Claude Opus 5 --- app/(auth)/login/page.tsx | 30 +- app/apple-icon.png | Bin 0 -> 8218 bytes app/favicon.ico | Bin 25931 -> 5570 bytes app/global-error.tsx | 16 +- app/globals.css | 99 ++++-- app/icon.svg | 315 +++++++++++++++++ app/layout.tsx | 41 ++- app/manifest.webmanifest | 29 ++ components/audit/AuditDetail.tsx | 2 +- components/brand/Logo.tsx | 75 ++++ components/employees/AngehoerigeSection.tsx | 2 +- components/employees/tabs/NotizenTab.tsx | 2 +- components/orgchart/EmployeeTree.tsx | 2 +- components/orgchart/GraphOrgChart.tsx | 18 +- components/orgchart/OrgChartNode.tsx | 10 +- components/orgchart/PrintChart.tsx | 8 +- components/shell/Sidebar.tsx | 9 +- components/ui/Button.tsx | 5 +- components/ui/Field.tsx | 11 +- components/ui/Lookup.tsx | 2 +- components/ui/SearchInput.tsx | 2 +- docs/farbschema.html | 366 ++++++++++++++++++++ lib/colors.ts | 26 +- public/brand/icon-192.png | Bin 0 -> 9626 bytes public/brand/icon-512-maskable.png | Bin 0 -> 24685 bytes public/brand/icon-512.png | Bin 0 -> 32459 bytes public/brand/manner-logo.svg | 312 +++++++++++++++++ public/file.svg | 1 - public/globe.svg | 1 - public/next.svg | 1 - public/vercel.svg | 1 - public/window.svg | 1 - tests/unit/colors.test.ts | 10 +- 33 files changed, 1305 insertions(+), 92 deletions(-) create mode 100644 app/apple-icon.png create mode 100644 app/icon.svg create mode 100644 app/manifest.webmanifest create mode 100644 components/brand/Logo.tsx create mode 100644 docs/farbschema.html create mode 100644 public/brand/icon-192.png create mode 100644 public/brand/icon-512-maskable.png create mode 100644 public/brand/icon-512.png create mode 100644 public/brand/manner-logo.svg delete mode 100644 public/file.svg delete mode 100644 public/globe.svg delete mode 100644 public/next.svg delete mode 100644 public/vercel.svg delete mode 100644 public/window.svg diff --git a/app/(auth)/login/page.tsx b/app/(auth)/login/page.tsx index e58e3bc..6fa3ec0 100644 --- a/app/(auth)/login/page.tsx +++ b/app/(auth)/login/page.tsx @@ -1,5 +1,6 @@ import { EntraSignInButton } from "@/components/auth/EntraSignInButton"; import { PasswortFormular } from "@/components/auth/PasswortFormular"; +import { AppWortmarke } from "@/components/brand/Logo"; import { logout, signInWithEntra } from "@/actions/auth"; // The query string is attacker-controlled, so the login page renders a message @@ -56,8 +57,8 @@ export default async function LoginPage({ searchParams }: LoginPageProps) {
-
- +
+

Anmelden

@@ -130,8 +131,10 @@ function BrandPanel() { }} /> -
- + {/* -ml-4 gleicht den Freiraum des Logos aus, damit die Wortmarke + buendig mit dem Text darunter beginnt und nicht eingerueckt wirkt. */} +
+
@@ -149,19 +152,6 @@ function BrandPanel() { ); } -function Wordmark({ className = "" }: { className?: string }) { - return ( -
- {/* Vier Quadrate wie ein Organigramm-Ausschnitt: eine Wurzel, darunter - drei Einheiten. */} - - Alpenwerk HR -
- ); -} +// Die vier Quadrate, die hier als Platzhalter-Bildmarke standen, sind +// entfallen: an ihrer Stelle steht jetzt das Manner-Logo +// (components/brand/Logo.tsx). diff --git a/app/apple-icon.png b/app/apple-icon.png new file mode 100644 index 0000000000000000000000000000000000000000..5ba9f96e3782f1f7222e544f9aac4717b5bb6ff6 GIT binary patch literal 8218 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 C3*i0$ literal 0 HcmV?d00001 diff --git a/app/favicon.ico b/app/favicon.ico index 718d6fea4835ec2d246af9800eddb7ffb276240c..5758ddb126a8b4ed6e570de2360be42651eb4a5e 100644 GIT binary patch literal 5570 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 LrJugUA?W`A8`#=m diff --git a/app/global-error.tsx b/app/global-error.tsx index 0e7feaf..1c538de 100644 --- a/app/global-error.tsx +++ b/app/global-error.tsx @@ -6,6 +6,12 @@ import { useEffect } from "react"; // (app)/error.tsx is not mounted yet. It replaces , so it cannot use // the app's fonts, Tailwind layer or shared components — hence the inline // styles. Kept deliberately plain; anything clever here can fail too. +// +// Die Farben sind dieselben wie in app/globals.css, nur von Hand: surface, +// border, ink, ink-body, ink-muted und brand-500. Sie stehen hier doppelt, +// weil diese Seite gerade dann erscheint, wenn das Stylesheet nicht +// getragen hat — eine Variable waere hier genau das, worauf man sich nicht +// verlassen kann. export default function GlobalError({ error, reset }: { error: Error & { digest?: string }; reset: () => void }) { useEffect(() => { console.error("Global error:", error); @@ -13,19 +19,19 @@ export default function GlobalError({ error, reset }: { error: Error & { digest? return ( - -
+ +

Die Anwendung konnte nicht geladen werden

-

+

Es ist ein unerwarteter Fehler aufgetreten. Ihre Daten sind davon nicht betroffen.

{error.digest && ( -

Fehlerkennung: {error.digest}

+

Fehlerkennung: {error.digest}

)} + + + +
+

+ Der sekundaere Knopf hat jetzt border-strong — vorher war seine + Umrandung mit 1.3:1 kaum zu sehen.

+
+ +
+

Eingabefelder

+
+ + +
+
+ + +
Die Pruefziffer stimmt nicht.
+
+

+ Rahmen 3.56:1 statt 1.30:1 — WCAG 1.4.11 fuer Bedienelemente.

+
+ +
+

Status

+
+ Aktiv + Langzeitabwesenheit + Geplant + Ausgetreten +
+

+ „Geplant" ist der Fall ohne besondere Faerbung und bekommt deshalb die + Markenfarbe. Blau saehe hier nach Schaltflaeche aus.

+
+ +
+

Vorgaenge im Protokoll

+
+ Neueinstellung + Austritt + Versetzung + Befoerderung + Vertragsaenderung + Import +
+

+ Rot bleibt Rot, Gruen bleibt Gruen: das Manual regelt die Identitaet, nicht die + Rueckmeldung. Violett ist nachgezogen — gegen den Fehler-Chip lag es bei dE 8.0 + und war im Vorbeigehen dieselbe Flaeche, jetzt bei dE 15.0.

+
+ +
+

Liste

+ + + + + + + + + + +
NamePers.-Nr.BereichEintrittStatus
Aigner, Katharina1042Produktion01.03.2019Aktiv
Berger, Anna1187Vertrieb15.09.2021Abwesend
Winkler, Michaela1590Technik01.10.2026Geplant
+

+ Die Zeile unter dem Zeiger wird blau angedeutet, nicht rosa: gegen die warme + Seitenflaeche ist ein kuehler Ton deutlicher, und Blau heisst in dieser + Oberflaeche „reagiert auf dich".

+
+ +
+

Navigation

+ +
+ +
+

Organigramm — die vier Knotenarten

+
+ Person + Rolle + Einheit + offene Stelle +
+

+ Die offene Stelle war vorher ein blasses Blau und damit eine schwaechere Person. + In Rosa ist sie etwas anderes — auch dann noch, wenn herausgezoomt nur die + Streifen uebrig sind.

+
+
+ + +

5 · Das Logo und sein Freiraum

+

CD §4.1 verlangt „genuegend Freiraum rundum (X, X/3)". X ist hier als Hoehe des + Logos gelesen, der Freiraum also als ein Drittel davon — die gestrichelte Linie zeigt + ihn. Er steckt im Bauteil selbst, nicht in den Aufrufstellen.

+
+
+ + Manner + +
auf Weiss
+
+
+ + Manner + +
auf dem Panel der Anmeldeseite
+
+
+

+ §1.2: der Schriftzug darf ausschliesslich zur Gaenze auf Rosa stehen. Die Datei + bringt ihr rosa Feld mit, das Logo ist damit auf jedem Untergrund regelkonform.

+ + +

6 · Was hier noch nicht entschieden ist

+
+

Das Logo ist das Markenlogo, nicht das Unternehmenslogo. + Nach §3.2 waere fuer eine Anwendung, hinter der „Josef Manner & Comp. AG" als + Absender steht, das Unternehmenslogo mit dem Stephansdom-Medaillon das richtige. Es + liegt nicht vor. Die offiziellen Dateien gaebe es bei der Kreativdirektion — der + Kontakt steht auf Seite 7 des Manuals.

+

Die Vorlage ist aus dem PDF gezogen, nicht das Original. Fuer die Testphase + traegt das; fuer die Uebergabe gehoert die offizielle Datei hinein.

+

Die Schrift ist Barlow, nicht DIN. Nachgezaehlt ist das Manual zu 95 % in + DIN gesetzt (DIN-Regular 79 %, DIN-Bold 16 %); Helvetica Neue steht nur in den + Visitenkarten-Mustern und im Claim. DIN ist aber lizenzpflichtig, und eine + Drucklizenz deckt die Auslieferung als Webfont nicht ab. Die freien Nachbauten der + DIN 1451 sind Schilderschriften und bei 14 px in einer langen Tabelle schlechter + lesbar als das, was sie ersetzen. Barlow ist dieselbe Grotesk-Familie mit schmalen + Proportionen und geraden Abschluessen. Liegt eine Web-Lizenz fuer DIN vor, ist der + Wechsel eine Zeile in app/layout.tsx.

+

Die Symbole sind nachgerechnet, nicht neu exportiert. + Favicon, Apple-Symbol und die Manifest-Symbole kamen als 24-Bit-RGB und trugen + #034DA1 als Blau. Sie liegen jetzt als RGBA vor — das verlangt der + Bildpfad des Bauwerkzeugs — und ihr Blau ist auf #164194 gezogen, + inklusive der kantengeglaetteten Raender: je Pixel wurde bestimmt, wieviel Blau + darin steckt, und derselbe Anteil neu gemischt. Betroffen waren 5 bis 10 Prozent + der Pixel je Datei. Ein Neuexport aus der korrigierten Vorlage bliebe trotzdem der + sauberere Weg, sobald die offiziellen Dateien da sind.

+
+ +
+ + diff --git a/lib/colors.ts b/lib/colors.ts index 0a4566c..bc031d1 100644 --- a/lib/colors.ts +++ b/lib/colors.ts @@ -1,14 +1,19 @@ import type { EmploymentStatus, NoteCategory } from "./types"; +// Die Initialen stehen in Weiss darauf, jeder Ton braucht also 4.5:1 gegen +// Weiss — nachgerechnet liegt der schwaechste bei 6.11:1. Die Reihe beginnt +// bei den beiden Markenfarben (Blau direkt, Rosa in der dunklen Stufe, weil +// #F69686 selbst nur 2.18:1 traegt) und faechert von dort auf, damit zwei +// Personen nebeneinander nicht denselben Kreis bekommen. const AVATAR_PALETTE = [ - "#d6046e", - "#00666d", + "#164194", // Manner Blau + "#0d2857", + "#a8402e", // dunkles Manner Rosa "#5c2e91", - "#835b00", "#0e700e", - "#b0035a", - "#2b6cb0", - "#a30354", + "#835b00", + "#00666d", + "#8a2740", ]; // Stable per-employee avatar color when employees.avatar_color isn't set. @@ -24,7 +29,10 @@ export function avatarColorFor(seed: string): string { export const STATUS_STYLES: Record = { Aktiv: "bg-success-bg text-success-text", Karenz: "bg-warning-bg text-warning-text", - Geplant: "bg-brand-100 text-brand-700", + // Rosa statt Blau: „Geplant" ist kein Hinweis und keine Warnung, sondern + // der Normalfall ohne besondere Faerbung — und dafuer ist die Markenfarbe + // die richtige. Blau wuerde hier nach Bedienelement aussehen. + Geplant: "bg-accent-200 text-brand-700", Ausgetreten: "bg-danger-bg text-danger-text", }; @@ -36,7 +44,9 @@ export const CATEGORY_STYLES: Record = { warning: "bg-warning-bg text-warning-text", info: "bg-info-bg text-info-text", purple: "bg-purple-bg text-purple-text", - brand: "bg-brand-100 text-brand-700", + // Der Chip ohne eigene Bedeutung. Auf accent-200 statt accent-100, weil + // die hellere Stufe dem Fehler-Chip zu nahe kommt (dE 5.6 gegen 13.7). + brand: "bg-accent-200 text-brand-700", }; // Audit-log / activity-feed action -> badge color, per the action list in diff --git a/public/brand/icon-192.png b/public/brand/icon-192.png new file mode 100644 index 0000000000000000000000000000000000000000..0987c4bf8d62fc997c1c6507cd50ac588c92b233 GIT binary patch literal 9626 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 R|1nokvOkn0tHlk2{s+{zWk&!2 literal 0 HcmV?d00001 diff --git a/public/brand/icon-512-maskable.png b/public/brand/icon-512-maskable.png new file mode 100644 index 0000000000000000000000000000000000000000..8a5ee0048a3b3cd20b990768c4ba5f0b3e28d28e GIT binary patch literal 24685 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 E1u3Oj6aWAK literal 0 HcmV?d00001 diff --git a/public/brand/icon-512.png b/public/brand/icon-512.png new file mode 100644 index 0000000000000000000000000000000000000000..f433a9d63a9ff29e0915a99acdde34716c4b03e1 GIT binary patch literal 32459 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/FL2ABjmkAWE5gQvwEAAABwY2JvcqNpZGM6Zm9ybWF0bWltYWdlL3N2Zyt4bWxqaW5zdGFuY2VJRHgseG1wOmlpZDplZmI3MzdkNi05ZmRkLTQ2YTktOGMzNy0zMTc1NjdiYWFmYmJscmVsYXRpb25zaGlwaHBhcmVudE9mAAAB4mp1bWIAAABBanVtZGNib3IAEQAQgAAAqgA4m3ETYzJwYS5hY3Rpb25zLnYyAAAAABhjMnNoFLuW9Pn2rm9K98G6dbECIAAAAZljYm9yomdhY3Rpb25zgqJmYWN0aW9ua2MycGEub3BlbmVkanBhcmFtZXRlcnOha2luZ3JlZGllbnRzgaJjdXJseC1zZWxmI2p1bWJmPWMycGEuYXNzZXJ0aW9ucy9jMnBhLmluZ3JlZGllbnQudjNkaGFzaFggRhLsAzLclgGyj5MXqmAbsHpJPvUUCPGGvKMnBkKgQ5ekZmFjdGlvbngdY29tLmFudGhyb3BpYy5jbGF1ZGUucHJvdmlkZWRqcGFyYW1ldGVyc6F4H2NvbS5hbnRocm9waWMub3JpZ2luLWNvbmZpZGVuY2VndW5rbm93bmtkZXNjcmlwdGlvbnhmQ2xhdWRlIHByb3ZpZGVkIHRoaXMgZmlsZSBhdCB0aGUgcmVxdWVzdCBvZiBhIHVzZXIgYW5kIG1heSBoYXZlIGNyZWF0ZWQgb3IgbW9kaWZpZWQgdGhlIGZpbGUgY29udGVudHMubXNvZnR3YXJlQWdlbnShZG5hbWVmQ2xhdWRlcmFsbEFjdGlvbnNJbmNsdWRlZPUAAADIanVtYgAAAEBqdW1kY2JvcgARABCAAACqADibcRNjMnBhLmhhc2guZGF0YQAAAAAYYzJzaI8fKLnJujpJVNZYDI3AMTkAAACAY2JvcqVjYWxnZnNoYTI1NmNwYWRMAAAAAAAAAAAAAAAAZGhhc2hYILoDinW8CdwfcmMU16OU0qPw5bx92zi82okLedFjlFF7ZG5hbWVuanVtYmYgbWFuaWZlc3RqZXhjbHVzaW9uc4GiZXN0YXJ0GQEiZmxlbmd0aBkeBAAAAj5qdW1iAAAAJ2p1bWRjMmNsABEAEIAAAKoAOJtxA2MycGEuY2xhaW0udjIAAAACD2Nib3KlY2FsZ2ZzaGEyNTZpc2lnbmF0dXJleE1zZWxmI2p1bWJmPS9jMnBhL3VybjpjMnBhOjFhYmY4Mjg4LWNmNjEtNDlhZS1hY2E4LWUwY2Y2N2RkYjEwNS9jMnBhLnNpZ25hdHVyZWppbnN0YW5jZUlEeCx4bXA6aWlkOjVjMDNlNGRmLTE1Y2MtNGUxZC05YTIyLTk2NzI1MDQ3MWUzZHJjcmVhdGVkX2Fzc2VydGlvbnODomN1cmx4LXNlbGYjanVtYmY9YzJwYS5hc3NlcnRpb25zL2MycGEuaW5ncmVkaWVudC52M2RoYXNoWCBGEuwDMtyWAbKPkxeqYBuwekk+9RQI8Ya8oycGQqBDl6JjdXJseCpzZWxmI2p1bWJmPWMycGEuYXNzZXJ0aW9ucy9jMnBhLmFjdGlvbnMudjJkaGFzaFggtFBCWM6RaYU6rHNFs6QluEtc+RhZZat47tDGI6BZYSCiY3VybHgpc2VsZiNqdW1iZj1jMnBhLmFzc2VydGlvbnMvYzJwYS5oYXNoLmRhdGFkaGFzaFggf2y88SRQx7lSn0IRL3Rd0HobHb0nDs/7y6r42FZa0yN0Y2xhaW1fZ2VuZXJhdG9yX2luZm+jZG5hbWVvQW50aHJvcGljIEZpbGVzZ3ZlcnNpb25lMS4wLjBrc3BlY1ZlcnNpb25lMi40LjAAABA4anVtYgAAAChqdW1kYzJjcwARABCAAACqADibcQNjMnBhLnNpZ25hdHVyZQAAABAIY2JvctKEWQISogEmGCFZAgowggIGMIIBjaADAgECAhRA5aAK7sI50L64g/oGQgU9Z1UTADAKBggqhkjOPQQDAzBJMRcwFQYDVQQKEw5BbnRocm9waWMsIFBCQzEuMCwGA1UEAxMlQW50aHJvcGljIENvbnRlbnQgQ3JlZGVudGlhbHMgUm9vdCBDQTAeFw0yNjA4MDcxODQzNTZaFw0yODA4MDYxOTQzNTZaMEQxFzAVBgNVBAoTDkFudGhyb3BpYywgUEJDMSkwJwYDVQQDEyBBbnRocm9waWMgQ2xhdWRlIENvbnRlbnQgU2lnbmluZzBZMBMGByqGSM49AgEGCCqGSM49AwEHA0IABJh6CmvLUBgFFNU0vUKlOVtE6djd17L5SuwX0LemFisBM3dkd/3cyjxFA3Qo5S46fX0/ihY0VZ7mfb9KF703t5OjWDBWMA4GA1UdDwEB/wQEAwIHgDAVBgNVHSUEDjAMBgorBgEEAYPoXgIBMAwGA1UdEwEB/wQCMAAwHwYDVR0jBBgwFoAUzlHiBIFOZFsj+OPEz5o+nMHXXMIwCgYIKoZIzj0EAwMDZwAwZAIwMXMdFJ4BetLLVY7ORuE9noqbbAZOZn/aArXyTwFAZfKrPzxF2vPoJNf1+UCdg1XGAjBwX1zd9WGqYkqmL5SFqw1QySjr1zJfpJM9+1rdDwSPLMOPOjKuiXjoU/pUUeG9RwmhY3BhZFkNngAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAPZYQOnfjlijUvc9D9MCxC6p7qTjUw5hJRb7MRWLsNcJDcjtCvEegW2+X+bwN+/KpaY75bXQe7UtoF+2LLHT2dFlbWs= + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/public/file.svg b/public/file.svg deleted file mode 100644 index 004145c..0000000 --- a/public/file.svg +++ /dev/null @@ -1 +0,0 @@ - \ No newline at end of file diff --git a/public/globe.svg b/public/globe.svg deleted file mode 100644 index 567f17b..0000000 --- a/public/globe.svg +++ /dev/null @@ -1 +0,0 @@ - \ No newline at end of file diff --git a/public/next.svg b/public/next.svg deleted file mode 100644 index 5174b28..0000000 --- a/public/next.svg +++ /dev/null @@ -1 +0,0 @@ - \ No newline at end of file diff --git a/public/vercel.svg b/public/vercel.svg deleted file mode 100644 index 7705396..0000000 --- a/public/vercel.svg +++ /dev/null @@ -1 +0,0 @@ - \ No newline at end of file diff --git a/public/window.svg b/public/window.svg deleted file mode 100644 index b2b2a44..0000000 --- a/public/window.svg +++ /dev/null @@ -1 +0,0 @@ - \ No newline at end of file diff --git a/tests/unit/colors.test.ts b/tests/unit/colors.test.ts index 698c522..134bbad 100644 --- a/tests/unit/colors.test.ts +++ b/tests/unit/colors.test.ts @@ -1,5 +1,5 @@ import { describe, expect, it } from "vitest"; -import { actionBadgeStyle, avatarColorFor, STATUS_STYLES } from "@/lib/colors"; +import { actionBadgeStyle, avatarColorFor, CATEGORY_STYLES, STATUS_STYLES } from "@/lib/colors"; describe("avatarColorFor", () => { it("is deterministic for the same seed", () => { @@ -23,7 +23,11 @@ describe("actionBadgeStyle", () => { expect(actionBadgeStyle("Neueinstellung")).toBe(STATUS_STYLES.Aktiv); }); - it("falls back to the brand style for an unknown action", () => { - expect(actionBadgeStyle("Irgendwas Unbekanntes")).toContain("bg-brand-100"); + // Gegen CATEGORY_STYLES.brand geprüft und nicht gegen einen abgetippten + // Klassennamen: welche Farbe der Chip ohne eigene Bedeutung trägt, ist eine + // Frage der Palette und hat sich mit der Umstellung auf das Manner-CD schon + // einmal geändert. Der Test soll die Zuordnung sichern, nicht den Farbton. + it("falls back to the neutral category style for an unknown action", () => { + expect(actionBadgeStyle("Irgendwas Unbekanntes")).toBe(CATEGORY_STYLES.brand); }); });