Last-Minute Travel Deals Finder

Last-Minute Travel Deals Finder

Discover spontaneous getaways at unbeatable prices.

$${deal.price}/night

`; } else { // packages content = `

${deal.name}

${deal.includes}

$${deal.price} total

`; } card.innerHTML = `
${content}${deal.score}
`; container.appendChild(card); } function renderDealOfTheDay() { const deal = dealsDB.packages[0]; // Static for demo const container = document.getElementById('deal-of-day-container'); container.innerHTML = `

🔥 Deal of the Day 🔥

${deal.name}

${deal.includes}

$${deal.price}

`; } findBtn.addEventListener('click', () => { loader.style.display = 'flex'; resultsContainer.classList.add('hidden'); setTimeout(() => { renderDeals(); loader.style.display = 'none'; resultsContainer.classList.remove('hidden'); }, 1500); }); document.getElementById('pdf-download-btn').addEventListener('click', () => { const { jsPDF } = jspdf; const pdf = new jsPDF(); const pdfContent = document.getElementById('results-pdf-content'); html2canvas(pdfContent, { scale: 2 }).then(canvas => { const imgData = canvas.toDataURL('image/png'); const { width, height } = pdf.internal.pageSize; const imgHeight = canvas.height * width / canvas.width; pdf.setFontSize(22); pdf.text("Last-Minute Travel Deals", width / 2, 20, { align: 'center' }); pdf.addImage(imgData, 'PNG', 15, 30, width - 30, imgHeight * ((width - 30) / width)); pdf.save('last-minute-deals.pdf'); }); }); });
Scroll to Top