Airport Lounge Access Finder

Airport Lounge Access Finder

Enter your details to find lounges you can access.

Your Lounge Access Profile

Departure Airport

Not selected

Your Credit Cards

  • None selected

Airline Status

None selected

Lounge Memberships

  • None selected

Customize Lounge Data

Edit the lounge information for each airport. Data is stored as a JSON string.

Guest Policy: ${lounge.guestPolicy}

`; resultsDiv.appendChild(loungeElement); }); } function showError(message) { if (errorText) errorText.textContent = message; if (errorMessageDiv) errorMessageDiv.classList.remove('hidden'); } function downloadPDF() { const { jsPDF } = window.jspdf; const content = document.getElementById('pdf-content'); if (!content) { console.error("PDF content area not found."); return; } html2canvas(content, { scale: 2 }).then(canvas => { const imgData = canvas.toDataURL('image/png'); const pdf = new jsPDF('p', 'mm', 'a4'); const pdfWidth = pdf.internal.pageSize.getWidth(); const canvasWidth = canvas.width; const canvasHeight = canvas.height; const ratio = canvasWidth / canvasHeight; const width = pdfWidth - 20; // with margin const height = width / ratio; pdf.setFontSize(20); pdf.text("Airport Lounge Access Report", 10, 15); pdf.addImage(imgData, 'PNG', 10, 25, width, height); pdf.save('lounge-access-report.pdf'); }); } function saveData() { try { const newData = JSON.parse(loungeDataEditor.value); loungeData = newData; alert('Lounge data saved successfully!'); } catch (e) { alert('Error: Invalid JSON format. Please check your data.'); } } // --- EVENT LISTENERS --- tabs.forEach(tab => { if (tab) tab.addEventListener('click', () => goToTab(tab.dataset.tab)); }); if (findLoungesBtn) { findLoungesBtn.addEventListener('click', findLounges); } if (downloadPdfBtn) { downloadPdfBtn.addEventListener('click', downloadPDF); } if (saveLoungeDataBtn) { saveLoungeDataBtn.addEventListener('click', saveData); } // New listeners for navigation buttons if (goToFinderBtn) { goToFinderBtn.addEventListener('click', () => goToTab('finder')); } if (finderToDashBtn) { finderToDashBtn.addEventListener('click', () => goToTab('dashboard')); } if (finderToConfigBtn) { finderToConfigBtn.addEventListener('click', () => goToTab('config')); } if (configToFinderBtn) { configToFinderBtn.addEventListener('click', () => goToTab('finder')); } });
Scroll to Top