@@ -311,7 +311,7 @@
document.querySelector('#radio-yearly div').classList.toggle('hidden', type !== 'yearly');
}
- async function processContract() {
+ async function processContract() {
const blank = document.createElement('canvas');
blank.width = canvas.width; blank.height = canvas.height;
if (canvas.toDataURL() === blank.toDataURL()) {
@@ -324,48 +324,45 @@
btn.innerHTML = ' Generando Contrato Firmado...';
lucide.createIcons();
- // 1. Inyectar datos dinámicos en la PLANTILLA PDF (Oculta)
- // Se inyecta la firma tal cual la dibujó el usuario
+ // 1. Inyectar datos
document.getElementById('pdf-signature-img').src = canvas.toDataURL("image/png");
-
- // Texto del plan elegido
const planText = selectedPlan === 'yearly' ? 'Plan Anual (59,95€ IVA Incl.)' : 'Suscripción Mensual (6,90€ + IVA)';
document.getElementById('pdf-plan-name').innerText = planText;
-
- // Fecha y hora exacta de la firma
const timestamp = "Documento firmado digitalmente el " + new Date().toLocaleDateString('es-ES') + " a las " + new Date().toLocaleTimeString('es-ES');
document.getElementById('pdf-timestamp').innerText = timestamp;
- // 2. Generar el PDF
const element = document.getElementById('pdf-contract-template');
- element.classList.remove('hidden'); // Mostrar temporalmente para el generador
+ element.classList.remove('hidden');
+ // 2. Opciones del PDF mejoradas para quitar márgenes fantasmas
const opt = {
- margin: 0,
+ margin: [0.3, 0, 0.3, 0], // Margen superior, izquierdo, inferior, derecho (en pulgadas)
filename: `Contrato_Plan_Tranquilidad_${(new Date().toISOString()).split('T')[0]}.pdf`,
image: { type: 'jpeg', quality: 0.98 },
- html2canvas: { scale: 2, useCORS: true },
+ html2canvas: {
+ scale: 2,
+ useCORS: true,
+ scrollY: 0, // 👈 ESTO quita el margen de arriba si habías hecho scroll
+ windowHeight: element.scrollHeight
+ },
jsPDF: { unit: 'in', format: 'a4', orientation: 'portrait' }
};
try {
- // Se genera y descarga automáticamente
await html2pdf().set(opt).from(element).save();
setTimeout(() => {
- alert("✅ Contrato firmado y descargado con éxito.\n\nEl PDF se ha guardado en tu dispositivo. Ahora te redirigimos a la pasarela de pago para activar tu protección.");
- // window.location.href = "TU_URL_DE_COBRO_STRIPE";
+ alert("✅ Contrato generado con éxito.\n\nAhora vamos a conectar con Stripe para formalizar el pago seguro.");
btn.disabled = false;
btn.innerHTML = ' Firmar y Activar Mi Plan';
lucide.createIcons();
}, 1500);
} catch (err) {
- alert("❌ Error al crear el contrato PDF. Por favor, reintenta.");
- console.error(err);
+ alert("❌ Error al crear el contrato PDF.");
btn.disabled = false;
} finally {
- element.classList.add('hidden'); // Ocultar de nuevo
+ element.classList.add('hidden');
}
}