'در انتظار پرداخت', self::Cancelled => 'لغو شده', self::Processed => 'پردازش شده', self::PickedUp => 'تحویل گرفته شده', self::InTransit => 'در حال حمل', self::OutForDelivery => 'در مسیر تحویل', self::Delivered => 'تحویل داده شده', self::Failed => 'ناموفق', self::Returned => 'برگشتی', }; } /** * رنگ badge در Filament */ public function color(): string { return match($this) { self::PendingPayment => 'warning', self::Cancelled => 'gray', self::Processed => 'info', self::PickedUp => 'info', self::InTransit => 'primary', self::OutForDelivery => 'purple', self::Delivered => 'success', self::Failed => 'danger', self::Returned => 'warning', }; } /** * آیا این وضعیت به معنای "پرداخت شده" است؟ */ public function isPaid(): bool { return in_array($this, [ self::Processed, self::PickedUp, self::InTransit, self::OutForDelivery, self::Delivered, self::Failed, self::Returned, ]); } /** * آیا این وضعیت قابل لغو توسط مشتری است؟ */ public function canBeCancelledByCustomer(): bool { return in_array($this, [ self::PendingPayment, ]); } }