32 lines
735 B
PHP
32 lines
735 B
PHP
<?php
|
|
|
|
namespace App\Enums;
|
|
|
|
use Filament\Support\Contracts\HasColor;
|
|
use Filament\Support\Contracts\HasLabel;
|
|
|
|
enum OrderStatus: string implements HasColor, HasLabel
|
|
{
|
|
case DRAFT = 'Draft';
|
|
case APPROVED = 'Approved';
|
|
case PRODUCTION = 'Production';
|
|
case SHIPPED = 'Shipped';
|
|
case INVOICED = 'Invoiced';
|
|
|
|
public function getLabel(): ?string
|
|
{
|
|
return $this->value;
|
|
}
|
|
|
|
public function getColor(): string|array|null
|
|
{
|
|
return match ($this) {
|
|
self::DRAFT => 'gray',
|
|
self::APPROVED => 'info',
|
|
self::PRODUCTION => 'warning',
|
|
self::SHIPPED => 'primary',
|
|
self::INVOICED => 'success',
|
|
};
|
|
}
|
|
}
|