presseportale/app/Enums/PressReleaseStatus.php
Kevin Adametz 55d0804917 5.3: PressReleaseStatus::badgeClass() zentralisiert + toten statusColor-Code entfernt
Status-Badge-Farblogik (ok/warn/err/muted) aus 7 divergenten match-Bloecken in eine Enum-Methode gezogen. Archiviert/Entwurf jetzt konsistent 'muted' (grau) auch auf Detail-/Edit-/Log-Seiten (vorher dort 'hub'-Akzent). Toter statusColor-Block (Flux-Farben, nie referenziert) in customer/show entfernt. flux:badge :color in admin/users bleibt bewusst separat (eigenes Farbvokabular, Einzel-Call-Site).

Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
2026-07-02 10:36:15 +00:00

38 lines
1 KiB
PHP

<?php
namespace App\Enums;
enum PressReleaseStatus: string
{
case Draft = 'draft';
case Review = 'review';
case Published = 'published';
case Rejected = 'rejected';
case Archived = 'archived';
public function label(): string
{
return match ($this) {
self::Draft => 'Entwurf',
self::Review => 'In Pruefung',
self::Published => 'Veroeffentlicht',
self::Rejected => 'Abgelehnt',
self::Archived => 'Archiviert',
};
}
/**
* CSS-Badge-Modifier für die Status-Darstellung (siehe `.badge`-Klassen im
* Hub-CSS). Neutrale Zustände (Entwurf/Archiviert) werden bewusst grau
* abgesetzt (`muted`), aktive Zustände farblich hervorgehoben.
*/
public function badgeClass(): string
{
return match ($this) {
self::Published => 'ok',
self::Review => 'warn',
self::Rejected => 'err',
self::Draft, self::Archived => 'muted',
};
}
}