parfum/app/Enums/OutletStatus.php

48 lines
1.1 KiB
PHP

<?php
namespace App\Enums;
enum OutletStatus: int
{
case OPERATIONAL = 1;
case UNDER_CONSTRUCTION = 2;
case TERMINATED = 3;
public function label(): string
{
return match ($this) {
self::OPERATIONAL => 'Operasional',
self::UNDER_CONSTRUCTION => 'Dalam Konstruksi',
self::TERMINATED => 'Dihentikan',
};
}
public function color(): string
{
return match ($this) {
self::OPERATIONAL => 'emerald',
self::UNDER_CONSTRUCTION => 'yellow',
self::TERMINATED => 'red',
};
}
public function icon(): string
{
return match ($this) {
self::OPERATIONAL => 'check-circle',
self::UNDER_CONSTRUCTION => 'wrench-screwdriver',
self::TERMINATED => 'x-circle',
};
}
public static function values(): array
{
return array_map(fn($case) => $case->value, self::cases());
}
public static function comment(): string
{
return implode(', ', array_map(fn($case) => "{$case->value}: {$case->label()}", self::cases()));
}
}