reservas
import { CONFIG } from "./data.js"; import { initApp } from "./app.js"; document.addEventListener("DOMContentLoaded", async () => { await initApp(); await Lalely.ready; if (!Lalely.user) { Lalely.navigate("login.html"); return; } renderReservasPage(); }); export const reservasTableEl = document.getElementById("reservas-table"); export const checkoutBtnEl = document.getElementById("checkout-btn"); export async function renderReservasPage() { const container = document.getElementById("reservas-table"); if (!container) return; container.innerHTML = ` Cargando reservas y servicios... `; try { const [reservasRes, cartData] = await Promise.all([ Lalely.list("reservas", { mine: true, limit: 50 }), Lalely.cart.get() ]); const reservas = reservasRes.records || []; let html = ` Carrito de Servicios Su Reserva Actual ${cartData.count} items `; if (cartData.items.length === 0) { html += ` 🛒 Su carrito de reservas está vacío. Explorar Perfiles VIP `; } else { html += ` `; cartData.items.forEach(item => { html += ` ${item.imagen ? ` ` : ''} ${item.nombre} Precio: ${item.precio} ${CONFIG.moneda} Subtotal: ${item.subtotal} ${CONFIG.moneda} Eliminar `; }); html += ` Total a Pagar (Incluye impuestos y discreción garantizada): ${cartData.total} ${CONFIG.moneda} Proceder al Pago Seguro `; } html += ` Historial Mis Reservas Registradas `; if (reservas.length === 0) { html += ` No registra reservas previas en el sistema. `; } else { html += ` Servicio / Perfil Fecha Hora Estado Nota `; reservas.forEach(r => { const d = r.data || {}; html += ` ${d.servicio || 'Acompañamiento VIP'} ${d.fecha || '-'} ${d.hora || '-'} ${d.estado || 'Confirmada'} ${d.nota || 'Ninguna'} `; }); html += ` `; } html += ` `; container.innerHTML = html; // Vincular acción de checkout si existe el botón const checkoutBtn = document.getElementById("checkout-btn"); if (checkoutBtn) { checkoutBtn.addEventListener("click", async () => { try { checkoutBtn.disabled = true; checkoutBtn.textContent = "Procesando pasarela..."; const cobro = await Lalely.pay.checkout({ amount: Math.round(cartData.total * 100), currency: CONFIG.moneda, description: "Reserva Exclusiva Aura VIP", kind: "subscription", redirect: true }); if (cobro && cobro.paymentId) { await Lalely.pay.waitFor(cobro.paymentId); await Lalely.cart.clear(); alert("¡Pago aprobado con éxito! Su reserva ha sido procesada con total discreción."); window.location.reload(); } } catch (e) { alert("Error en el proceso de pago: " + (e.message || e)); checkoutBtn.disabled = false; checkoutBtn.textContent = "Proceder al Pago Seguro"; } }); } // Exponer función global para eliminar item del carrito window._removerCarrito = async (itemId) => { await Lalely.cart.remove(itemId); renderReservasPage(); }; } catch (err) { container.innerHTML = ` Error al cargar las reservas: ${err.message || err} `; } }" allow="geolocation *; camera *; microphone *; autoplay *; fullscreen *; accelerometer *; gyroscope *; clipboard-write *" style="width:100%;height:100%;border:0;display:block;background:#fff" sandbox="allow-scripts allow-forms allow-modals allow-popups allow-top-navigation allow-top-navigation-by-user-activation">