38 lines
852 B
PHP
38 lines
852 B
PHP
<?php
|
|
|
|
namespace App\Enums;
|
|
|
|
use Filament\Support\Contracts\HasColor;
|
|
use Filament\Support\Contracts\HasIcon;
|
|
use Filament\Support\Contracts\HasLabel;
|
|
|
|
enum ProjektStatus: string implements HasColor, HasIcon, HasLabel
|
|
{
|
|
case Entwurf = 'entwurf';
|
|
case Endfassung = 'endfassung';
|
|
|
|
public function getLabel(): ?string
|
|
{
|
|
return match ($this) {
|
|
self::Entwurf => 'Entwurf',
|
|
self::Endfassung => 'Endfassung',
|
|
};
|
|
}
|
|
|
|
public function getColor(): string|array|null
|
|
{
|
|
return match ($this) {
|
|
self::Entwurf => 'primary',
|
|
self::Endfassung => 'success',
|
|
};
|
|
}
|
|
|
|
public function getIcon(): ?string
|
|
{
|
|
return match ($this) {
|
|
self::Entwurf => 'lucide-file-pen',
|
|
self::Endfassung => 'lucide-file-check',
|
|
};
|
|
}
|
|
}
|