@php $icon = "/img/templates_v2/{$templateName}/icon-confirmation.svg"; $confirmationMessage = $_confirmationMessage ?? "Para poder unirte a esta celebración, es necesario que confirmes tu asistencia lo antes posible."; @endphp
@if (in_array(strtolower($invitation->template->name), ['graduation classic', 'classic']))
decorative
decorative
decorative
decorative
decorative
decorative
decorative
decorative
@endif
@php // Estado real de la sección Ticket según variables de la invitación // Nota: los vars vienen con prefijo '_' desde InvitationService::getVars $ticketEnabled = isset($_enableGuestTicket) && (string)$_enableGuestTicket === '1'; // (Opcional) se mantiene para compatibilidad, pero no decide la UI $hasTicketPlan = isset($sectionsEnabled) && $sectionsEnabled->contains(function($s){ return $s->code === 'ticket'; }); $guestPasses = isset($guest) ? (int)($guest->number_of_guests ?? 0) : 0; $enableTicketFlow = $ticketEnabled && isset($guest) && $guestPasses > 0; // Modo edición/preview: cuando se visualiza desde /invitations/{id}/edit agregamos ?edit=true al iframe. // Si Ticket está habilitado pero no hay invitado, mostrar un botón ficticio SOLO en preview. $isEditPreview = request()->boolean('edit'); $showTicketButtonPreview = $ticketEnabled && $isEditPreview && !isset($guest); // Grupo: si el invitado representa un grupo $isGroupGuest = isset($guest) && (mb_strtolower((string)($guest->last_name ?? '')) === 'grupo'); $groupMembers = $isGroupGuest ? (is_array($guest->group_members) ? $guest->group_members : []) : []; // Opciones de menú por invitación (con fallback) $menuOptions = is_array($invitation->menu_options) && count($invitation->menu_options) > 0 ? $invitation->menu_options : ['Sin restricción', 'Vegetariano', 'Vegano', 'Celíaco']; $isAlreadyConfirmed = false; $existingInfo = null; if ($enableTicketFlow && isset($existingConfirmation)) { $isAlreadyConfirmed = (bool) ($existingConfirmation->confirm ?? false); try { $existingInfo = $existingConfirmation->info ? json_decode($existingConfirmation->info, true) : null; } catch (\Throwable $e) { $existingInfo = null; } } @endphp

Confirmación

{{ $confirmationMessage }}
@if(isset($_confirmation_deadline)) La fecha límite es el {{\Carbon\Carbon::fromFormatToReadableDate('Y-m-d', $_confirmation_deadline)}}.
@endif @if(!$enableTicketFlow && !$showTicketButtonPreview) Completa el siguiente formulario para confirmar tu asistencia. @endif

@if($enableTicketFlow)
@if($isAlreadyConfirmed && $existingInfo && ($existingInfo['passes_confirmed'] ?? 0) > 0)

Ya confirmaste {{ $existingInfo['passes_confirmed'] }} pase(s).

@endif
@elseif($showTicketButtonPreview)
Vista previa del botón de confirmación con tickets
@else
@csrf

@endif
@push('scripts') @endpush @push('styles') @endpush