43 lines
961 B
PHP
43 lines
961 B
PHP
<?php
|
|
|
|
namespace App\Enums;
|
|
|
|
use App\Traits\Enums\WithCommentEnum;
|
|
use App\Traits\Enums\WithValueEnum;
|
|
|
|
enum OrderStatus: int
|
|
{
|
|
use WithCommentEnum, WithValueEnum;
|
|
|
|
case DRAFT = 1;
|
|
case PENDING = 2;
|
|
case PARTIAL = 3;
|
|
case PAID = 4;
|
|
case OVERDUE = 5;
|
|
case CANCELED = 6;
|
|
|
|
public function label(): string
|
|
{
|
|
return match ($this) {
|
|
self::DRAFT => 'Draft',
|
|
self::PENDING => 'Menunggu Pembayaran',
|
|
self::PARTIAL => 'Belum Lunas',
|
|
self::PAID => 'Lunas',
|
|
self::OVERDUE => 'Terlambat Bayar',
|
|
self::CANCELED => 'Dibatalkan',
|
|
};
|
|
}
|
|
|
|
public function color(): string
|
|
{
|
|
return match ($this) {
|
|
self::DRAFT => 'gray',
|
|
self::PENDING => 'blue',
|
|
self::PARTIAL => 'amber',
|
|
self::PAID => 'emerald',
|
|
self::OVERDUE => 'red',
|
|
self::CANCELED => 'zinc',
|
|
};
|
|
}
|
|
}
|