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

102 lines
3.1 KiB
PHP

<?php
namespace App\Enums\Sites;
use App\Traits\Enums\BaseEnum;
enum SpeciesEnum: int
{
use BaseEnum;
case chicken = 1;
case turkey = 2;
case hen = 3;
case duck = 4;
case rabbit = 5;
case guinea_fowl = 6;
case rooster = 7;
/**
* Optionnal labels definition.
*
* @phpstan-ignore-next-line
*/
private const LABELS = [
self::chicken->name => 'Poulet',
self::turkey->name => 'Dinde',
self::hen->name => 'Poule',
self::duck->name => 'Canard',
self::rabbit->name => 'Lapin',
self::guinea_fowl->name => 'Pintade',
self::rooster->name => 'Coq',
];
/**
* Pictures paths.
*/
private const PICTURES = [
self::chicken->name => 'resources/assets/images/pictos/chicken.jpg',
self::turkey->name => 'resources/assets/images/pictos/turkey.jpg',
self::hen->name => 'resources/assets/images/pictos/hen_and_rooster.jpg',
self::duck->name => 'resources/assets/images/pictos/duck.jpg',
self::rabbit->name => 'resources/assets/images/pictos/rabbit.jpg',
self::guinea_fowl->name => 'resources/assets/images/pictos/guinea_fowl.jpg',
self::rooster->name => 'resources/assets/images/pictos/hen_and_rooster.jpg',
];
/**
* Get picture path
*
* @return string
*/
public function picture(): string
{
return self::PICTURES[$this->name];
}
/**
* Alt attributes for pictures.
*/
private const ALTS = [
self::chicken->name => 'Pictogramme pour la catégorie \'poulet\'',
self::turkey->name => 'Pictogramme pour la catégorie \'dinde\'',
self::hen->name => 'Pictogramme pour la catégorie \'poule\'',
self::duck->name => 'Pictogramme pour la catégorie \'canard\'',
self::rabbit->name => 'Pictogramme pour la catégorie \'lapin\'',
self::guinea_fowl->name => 'Pictogramme pour la catégorie \'pintade\'',
self::rooster->name => 'Pictogramme pour la catégorie \'coq\'',
];
/**
* Get picture alt attribute.
*
* @return string
*/
public function alt(): string
{
return self::ALTS[$this->name];
}
/**
* Alt attributes for pictures.
*/
private const TITLES = [
self::chicken->name => 'Pictogramme pour la catégorie \'poulet\'',
self::turkey->name => 'Pictogramme pour la catégorie \'dinde\'',
self::hen->name => 'Pictogramme pour la catégorie \'poule\'',
self::duck->name => 'Pictogramme pour la catégorie \'canard\'',
self::rabbit->name => 'Pictogramme pour la catégorie \'lapin\'',
self::guinea_fowl->name => 'Pictogramme pour la catégorie \'pintade\'',
self::rooster->name => 'Pictogramme pour la catégorie \'coq\'',
];
/**
* Get picture alt attribute.
*
* @return string
*/
public function title(): string
{
return self::TITLES[$this->name];
}
}