"Wysłano E-Mail", self::MAKE_PHONE_CALL => "Wykonano połączenie", self::COMPLETE => "Zakończono", self::INVOICE_SEND => "Wysłano fakturę" }; } public function backgroundColor(): string { return match ($this) { self::SENT_EMAIL,self::MAKE_PHONE_CALL,self::INVOICE_SEND => "info", self::COMPLETE => "success", }; } public function takeIcon(): string { return match ($this) { self::SENT_EMAIL => "envelope", self::MAKE_PHONE_CALL => "phone", self::COMPLETE => "check", self::INVOICE_SEND => "file-invoice", }; } public function tryFromName(string $name): ?ReportTodoEnum { return self::tryFromNameStatic($name); } public static function tryFromNameStatic(string $name): ?ReportTodoEnum { $name = strtoupper($name); foreach (self::cases() as $v) { if ($name === $v->name) { return $v; } } return null; } }