98 lines
2.9 KiB
PHP
98 lines
2.9 KiB
PHP
<?php
|
|
|
|
namespace App\Enums\Strips;
|
|
|
|
use App\Traits\Enums\BaseEnum;
|
|
|
|
enum PictoEnum: int
|
|
{
|
|
use BaseEnum;
|
|
|
|
case none = 1;
|
|
case danger = 2;
|
|
case respect_earth = 3;
|
|
case breeding = 4;
|
|
case feed = 5;
|
|
case better_life = 6;
|
|
|
|
/**
|
|
* Optionnal labels definition.
|
|
*
|
|
* @phpstan-ignore-next-line
|
|
*/
|
|
private const LABELS = [
|
|
self::none->name => 'Aucun',
|
|
self::danger->name => 'Danger',
|
|
self::respect_earth->name => 'Respecter la terre',
|
|
self::breeding->name => 'Elever Durablement',
|
|
self::feed->name => 'Bien Nourrir',
|
|
self::better_life->name => 'Mieux vivre en équipe',
|
|
];
|
|
|
|
/**
|
|
* Pictures paths.
|
|
*/
|
|
private const PICTURES = [
|
|
self::none->name => 'resources/assets/images/pictos/none.jpg',
|
|
self::danger->name => 'resources/assets/images/pictos/danger.png',
|
|
self::respect_earth->name => 'resources/assets/images/pictos/respect_earth.png',
|
|
self::breeding->name => 'resources/assets/images/pictos/breeding.png',
|
|
self::feed->name => 'resources/assets/images/pictos/feed.png',
|
|
self::better_life->name => 'resources/assets/images/pictos/better_life.png',
|
|
];
|
|
|
|
/**
|
|
* Get picture path.
|
|
*
|
|
* @return string
|
|
*/
|
|
public function picture(): string
|
|
{
|
|
return self::PICTURES[$this->name];
|
|
}
|
|
|
|
/**
|
|
* Alt attributes for pictures.
|
|
*/
|
|
private const ALTS = [
|
|
self::none->name => 'Logo Volena',
|
|
self::danger->name => 'Pictogramme pour la catégorie \'Danger\'',
|
|
self::respect_earth->name => 'Pictogramme pour la catégorie \'Respecter la terre\'',
|
|
self::breeding->name => 'Pictogramme pour la catégorie \'Elever durablement\'',
|
|
self::feed->name => 'Pictogramme pour la catégorie \'Bien nourrir\'',
|
|
self::better_life->name => 'Pictogramme pour la catégorie \'Mieux vivre en équipe\'',
|
|
];
|
|
|
|
/**
|
|
* Get picture alt attribute.
|
|
*
|
|
* @return string
|
|
*/
|
|
public function alt(): string
|
|
{
|
|
return self::ALTS[$this->name];
|
|
}
|
|
|
|
|
|
/**
|
|
* Alt attributes for pictures.
|
|
*/
|
|
private const TITLES = [
|
|
self::none->name => 'Logo Volena',
|
|
self::danger->name => 'Pictogramme pour la catégorie \'Danger\'',
|
|
self::respect_earth->name => 'Pictogramme pour la catégorie \'Respecter la terre\'',
|
|
self::breeding->name => 'Pictogramme pour la catégorie \'Elever durablement\'',
|
|
self::feed->name => 'Pictogramme pour la catégorie \'Bien nourrir\'',
|
|
self::better_life->name => 'Pictogramme pour la catégorie \'Mieux vivre en équipe\'',
|
|
];
|
|
|
|
/**
|
|
* Get picture alt attribute.
|
|
*
|
|
* @return string
|
|
*/
|
|
public function title(): string
|
|
{
|
|
return self::TITLES[$this->name];
|
|
}
|
|
}
|