'Draft', self::PENDING => 'Menunggu Persetujuan', self::APPROVED => 'Disetujui', self::REJECTED => 'Ditolak', }; } public function color(): string { return match($this) { self::DRAFT => 'warning', self::PENDING => 'info', self::APPROVED => 'success', self::REJECTED => 'danger', }; } public function textColorClass(): string { return match($this->color()) { 'success' => 'text-success', 'warning' => 'text-warning', 'danger' => 'text-danger', 'info' => 'text-info', 'primary' => 'text-primary', 'brand' => 'text-primary', 'secondary' => 'text-muted', default => 'text-dark' }; } public static function getOptions(): array { return [ self::DRAFT->value => self::DRAFT->label(), self::PENDING->value => self::PENDING->label(), self::APPROVED->value => self::APPROVED->label(), self::REJECTED->value => self::REJECTED->label(), ]; } }