2023-02-24 15:20:58 +00:00
|
|
|
<?php
|
|
|
|
|
|
|
|
|
|
namespace App\Enums;
|
|
|
|
|
|
2023-08-28 08:46:47 +00:00
|
|
|
use App\Traits\Enums\BaseEnum;
|
2023-02-24 15:20:58 +00:00
|
|
|
|
2023-08-28 08:46:47 +00:00
|
|
|
enum CookingModeEnum: int
|
2023-02-24 15:20:58 +00:00
|
|
|
{
|
2023-08-28 08:46:47 +00:00
|
|
|
use BaseEnum;
|
|
|
|
|
|
|
|
|
|
case withoutCooking = 1;
|
|
|
|
|
case oven = 2;
|
|
|
|
|
case stove = 3;
|
|
|
|
|
case stewpan = 4;
|
|
|
|
|
|
2023-02-24 15:20:58 +00:00
|
|
|
/**
|
2023-08-28 08:46:47 +00:00
|
|
|
* Enum labels
|
2023-02-24 15:20:58 +00:00
|
|
|
*
|
|
|
|
|
* @return array
|
2024-09-06 08:30:55 +00:00
|
|
|
* @phpstan-ignore-next-line
|
2023-02-24 15:20:58 +00:00
|
|
|
*/
|
2023-08-28 08:46:47 +00:00
|
|
|
private const LABELS = [
|
|
|
|
|
self::withoutCooking->name => 'Sans cuisson',
|
|
|
|
|
self::oven->name => 'Au four',
|
2023-09-05 17:15:55 +02:00
|
|
|
self::stove->name => 'À la poêle',
|
2023-08-28 08:46:47 +00:00
|
|
|
self::stewpan->name => 'En cocotte',
|
|
|
|
|
];
|
2023-02-24 15:20:58 +00:00
|
|
|
|
|
|
|
|
/**
|
2023-08-28 08:46:47 +00:00
|
|
|
* Enum stickers associés
|
2023-02-24 15:20:58 +00:00
|
|
|
*
|
|
|
|
|
* @return array
|
|
|
|
|
*/
|
2023-08-28 08:46:47 +00:00
|
|
|
private const STICKERS = [
|
2023-09-07 10:58:07 +02:00
|
|
|
self::withoutCooking->name => 'resources/assets/images/cook/logo-stove.svg',
|
|
|
|
|
self::oven->name => 'resources/assets/images/cook/logo-stove.svg',
|
|
|
|
|
self::stove->name => 'resources/assets/images/cook/logo-stove.svg',
|
|
|
|
|
self::stewpan->name => 'resources/assets/images/cook/logo-stove.svg',
|
2023-08-28 08:46:47 +00:00
|
|
|
];
|
2023-02-24 15:20:58 +00:00
|
|
|
|
|
|
|
|
/**
|
2023-08-28 08:46:47 +00:00
|
|
|
* Get sticker
|
2023-02-24 15:20:58 +00:00
|
|
|
*
|
2023-08-28 08:46:47 +00:00
|
|
|
* @return string
|
2023-02-24 15:20:58 +00:00
|
|
|
*/
|
2023-08-28 08:46:47 +00:00
|
|
|
public function sticker(): string
|
2023-02-24 15:20:58 +00:00
|
|
|
{
|
2023-08-28 08:46:47 +00:00
|
|
|
return self::STICKERS[$this->name];
|
2023-02-24 15:20:58 +00:00
|
|
|
}
|
|
|
|
|
|
|
|
|
|
/**
|
2023-08-28 08:46:47 +00:00
|
|
|
* Get enum stickers
|
|
|
|
|
*
|
|
|
|
|
* @return array<string>
|
2023-02-24 15:20:58 +00:00
|
|
|
*/
|
2023-08-28 08:46:47 +00:00
|
|
|
public static function toStickers(): array
|
2023-02-24 15:20:58 +00:00
|
|
|
{
|
2023-08-28 08:46:47 +00:00
|
|
|
return self::STICKERS;
|
2023-02-24 15:20:58 +00:00
|
|
|
}
|
|
|
|
|
}
|