40 lines
932 B
PHP
40 lines
932 B
PHP
<?php
|
|
|
|
declare(strict_types=1);
|
|
|
|
namespace App\Enums;
|
|
|
|
enum ApprovalStatus: string
|
|
{
|
|
case Pending = 'pending';
|
|
case Approved = 'approved';
|
|
case Rejected = 'rejected';
|
|
|
|
public function label(): string
|
|
{
|
|
return match ($this) {
|
|
self::Pending => __('enums.approval_status.pending'),
|
|
self::Approved => __('enums.approval_status.approved'),
|
|
self::Rejected => __('enums.approval_status.rejected'),
|
|
};
|
|
}
|
|
|
|
public function color(): string
|
|
{
|
|
return match ($this) {
|
|
self::Pending => 'warning',
|
|
self::Approved => 'success',
|
|
self::Rejected => 'danger',
|
|
};
|
|
}
|
|
|
|
public function icon(): string
|
|
{
|
|
return match ($this) {
|
|
self::Pending => 'heroicon-o-clock',
|
|
self::Approved => 'heroicon-o-check-badge',
|
|
self::Rejected => 'heroicon-o-x-mark',
|
|
};
|
|
}
|
|
}
|