61 lines
1.8 KiB
PHP
61 lines
1.8 KiB
PHP
<?php
|
|
|
|
namespace App\Enums;
|
|
|
|
use Filament\Support\Contracts\HasDescription;
|
|
use Filament\Support\Contracts\HasIcon;
|
|
use Filament\Support\Contracts\HasLabel;
|
|
use ToneGabes\BetterOptions\Contracts\HasExtraText;
|
|
|
|
enum Zahlungen: string implements HasDescription, HasExtraText, HasIcon, HasLabel
|
|
{
|
|
case gutachten = 'gutachten';
|
|
case monat = 'monat';
|
|
case jahr = 'jahr';
|
|
|
|
public function getIcon(): string
|
|
{
|
|
return match ($this) {
|
|
self::gutachten => 'licude-credit-card',
|
|
self::monat => 'licude-credit-card',
|
|
self::jahr => 'licude-credit-card',
|
|
};
|
|
}
|
|
|
|
public function getLabel(): ?string
|
|
{
|
|
return match ($this) {
|
|
self::gutachten => 'Zahlung pro Gutachten',
|
|
self::monat => 'Zahlung Monatlich',
|
|
self::jahr => 'Zahlung Jährlich',
|
|
};
|
|
}
|
|
|
|
public function getExtraText(): string
|
|
{
|
|
return match ($this) {
|
|
self::gutachten => 'Zahlung pro Gutachten',
|
|
self::monat => 'Zahlung Monatlich',
|
|
self::jahr => 'Zahlung Jährlich',
|
|
};
|
|
}
|
|
|
|
public function getDescription(): ?string
|
|
{
|
|
return match ($this) {
|
|
self::gutachten => 'Zahlungen können für jedes Gutachten einzeln getätigt werden',
|
|
self::monat => 'Zahlung erfolgt monatlich, ohne Begrenzung für die erstellten Gutachten',
|
|
self::jahr => 'Zahlung erfolgt jährlich, ohne Begrenzung für die erstellten Gutachten, Gutachter oder Auftraggeber',
|
|
};
|
|
}
|
|
|
|
public function getIcons(): ?string
|
|
{
|
|
return match ($this) {
|
|
self::gutachten => 'licude-battery-low',
|
|
self::monat => 'licude-battery-medium',
|
|
self::jahr => 'licude-battery-full',
|
|
};
|
|
}
|
|
}
|