{{-- Générer des tickets (menu Tickets et onglet « Générer » du routeur) : les champs HABITUELS d'un générateur de tickets, en français. Quantité, Serveur, Mode utilisateur, Longueur du code ou du nom, Préfixe, Caractères, Profil, Temps limite, Limite de données, Commentaire. Le préfixe est libre : ses 2 premiers caractères reconnaissent le revendeur (une phrase l'indique pendant la saisie) ; plus de numéro de profil dans le code. Variables : $router, $profiles (TOUS les profils du routeur), $servers, $serversRead, $resellers (sert seulement à reconnaître le revendeur). --}} @php $profileData = $profiles->map(fn ($p) => ['name' => $p['name'], 'price' => (int) $p['price'], 'priceLabel' => $p['price'] ? \App\Support\Money::format($p['price']) : '', 'validity' => $p['validity'], 'minutes' => (int) $p['minutes']])->values(); $resellerData = $resellers->map(fn ($r) => ['id' => $r->id, 'name' => $r->name, 'prefix' => $r->voucher_prefix])->values(); $pools = collect(\App\Services\TicketService::CHARSETS)->map(fn ($c) => $c[1]); $row = 'grid items-start gap-x-4 gap-y-1 sm:grid-cols-[10.5rem_1fr]'; $label = 'pt-2 text-sm font-semibold text-slate-700'; $field = 'block w-full rounded-lg border-slate-300 text-sm shadow-sm'; $hint = 'mt-1 text-xs leading-snug text-slate-500'; $today = now()->format('m.d.y'); $min = \App\Services\TicketService::MIN_NAME_LENGTH; $max = \App\Services\TicketService::MAX_NAME_LENGTH; @endphp