60 lines
1.3 KiB
PHP
60 lines
1.3 KiB
PHP
<?php
|
|
|
|
namespace App\Enums;
|
|
|
|
use App\Traits\Enums\BaseEnum;
|
|
|
|
enum CookingModeEnum: int
|
|
{
|
|
use BaseEnum;
|
|
|
|
case withoutCooking = 1;
|
|
case oven = 2;
|
|
case stove = 3;
|
|
case stewpan = 4;
|
|
|
|
/**
|
|
* Enum labels
|
|
*
|
|
* @return array
|
|
* @phpstan-ignore-next-line
|
|
*/
|
|
private const LABELS = [
|
|
self::withoutCooking->name => 'Sans cuisson',
|
|
self::oven->name => 'Au four',
|
|
self::stove->name => 'À la poêle',
|
|
self::stewpan->name => 'En cocotte',
|
|
];
|
|
|
|
/**
|
|
* Enum stickers associés
|
|
*
|
|
* @return array
|
|
*/
|
|
private const STICKERS = [
|
|
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',
|
|
];
|
|
|
|
/**
|
|
* Get sticker
|
|
*
|
|
* @return string
|
|
*/
|
|
public function sticker(): string
|
|
{
|
|
return self::STICKERS[$this->name];
|
|
}
|
|
|
|
/**
|
|
* Get enum stickers
|
|
*
|
|
* @return array<string>
|
|
*/
|
|
public static function toStickers(): array
|
|
{
|
|
return self::STICKERS;
|
|
}
|
|
}
|