Files
nutzwerte_fi4/app/Enums/Plan.txt
T
2025-09-28 13:34:36 +02:00

53 lines
1.6 KiB
Plaintext

<?php
namespace App\Enums;
use Filament\Support\Contracts\HasDescription;
use Filament\Support\Contracts\HasIcon;
use Filament\Support\Contracts\HasLabel;
use ToneGabes\BetterOptions\Contracts\HasExtraText;
use ToneGabes\Filament\Icons\Enums\Phosphor;
enum Plan: string implements HasDescription, HasExtraText, HasIcon, HasLabel
{
case Standard = 'standard';
case Smart = 'smart';
case Premium = 'premium';
public function getDescription(): string
{
return match ($this) {
self::Standard => 'Zahlungen können für jedes Gutachten einzeln getätigt werden',
self::Smart => 'Zahlung erfolgt monatlich, ohne Begrenzung für die erstellten Gutachten',
self::Premium => 'Zahlung erfolgt jährlich, ohne Begrenzung für die erstellten Gutachten, Gutachter oder Auftraggeber',
};
}
public function getExtraText(): string
{
return match ($this) {
self::Standard => 'model.standard',
self::Smart => 'model.smart',
self::Premium => 'model.premium',
};
}
public function getIcon(): string
{
return match ($this) {
self::Standard => Phosphor::Airplane->thin(),
self::Smart => Phosphor::AirplaneTakeoff->thin(),
self::Premium => Phosphor::AirplaneInFlight->thin(),
};
}
public function getLabel(): ?string
{
return match ($this) {
self::Standard => 'Per Gutachten',
self::Smart => 'Monatlich',
self::Premium => 'Jährlich',
};
}
}