72 lines
1.8 KiB
PHP
72 lines
1.8 KiB
PHP
<?php
|
|
|
|
namespace App\Enums\Products;
|
|
|
|
use App\Traits\Enums\BaseEnum;
|
|
|
|
enum CookingModeEnum: int
|
|
{
|
|
use BaseEnum;
|
|
|
|
case microwave = 1;
|
|
case furnace = 2;
|
|
case waterbath = 3;
|
|
case pan = 4;
|
|
case fresh = 5;
|
|
|
|
/**
|
|
* Optionnal labels definition.
|
|
*
|
|
* @phpstan-ignore-next-line
|
|
*/
|
|
private const LABELS = [
|
|
self::microwave->name => 'Micro-ondes',
|
|
self::furnace->name => 'Four traditionnel',
|
|
self::waterbath->name => 'Bain-marie',
|
|
self::pan->name => 'Poêle',
|
|
self::fresh->name => 'Se consomme frais',
|
|
];
|
|
|
|
/**
|
|
* Pictures paths.
|
|
*/
|
|
private const PICTURES = [
|
|
self::microwave->name => 'resources/assets/images/pictos/micro-wave.png',
|
|
self::furnace->name => 'resources/assets/images/pictos/furnace.png',
|
|
self::waterbath->name => 'resources/assets/images/pictos/water-bath.png',
|
|
self::pan->name => 'resources/assets/images/pictos/pan.png',
|
|
self::fresh->name => 'resources/assets/images/pictos/fresh.png',
|
|
];
|
|
|
|
/**
|
|
* Get picture path
|
|
*
|
|
* @return string
|
|
*/
|
|
public function picture(): string
|
|
{
|
|
return self::PICTURES[$this->name];
|
|
}
|
|
|
|
|
|
/**
|
|
* Alt attributes for pictures.
|
|
*/
|
|
private const ALTS = [
|
|
self::microwave->name => 'Pictogramme d\'un micro-ondes',
|
|
self::furnace->name => 'Pictogramme d\'un four traditionnel',
|
|
self::waterbath->name => 'Pictogramme d\'un bain-marie',
|
|
self::pan->name => 'Pictogramme d\'une poêle',
|
|
self::fresh->name => 'Pictogramme d\'une goutte d\'eau',
|
|
];
|
|
|
|
/**
|
|
* Get picture alt attribute
|
|
*
|
|
* @return string
|
|
*/
|
|
public function alt(): string
|
|
{
|
|
return self::ALTS[$this->name];
|
|
}
|
|
}
|