ldc-volena/app/Enums/Strips/PictoEnum.php
2026-04-24 15:06:55 +02:00

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];
}
}