`;
pdfContent.classList.remove('hidden');
html2canvas(pdfContent, { scale: 2 }).then(canvas => {
const imgData = canvas.toDataURL('image/png');
const pdf = new jsPDF('p', 'pt', 'a4');
const pdfWidth = pdf.internal.pageSize.getWidth();
const pdfHeight = (canvas.height * pdfWidth) / canvas.width;
pdf.addImage(imgData, 'PNG', 20, 20, pdfWidth - 40, pdfHeight - 40);
pdf.save(`seo-report-${url.replace(/[^a-zA-Z0-9]/g, '-')}.pdf`);
pdfContent.classList.add('hidden');
}).catch(err => {
console.error("PDF generation failed:", err);
pdfContent.classList.add('hidden');
});
};
// --- Event Listeners ---
tabButtons.forEach((button, index) => {
button.addEventListener('click', () => showTab(index));
});
nextBtn.addEventListener('click', () => {
if (currentTabIndex < tabButtons.length - 1) showTab(currentTabIndex + 1);
});
prevBtn.addEventListener('click', () => {
if (currentTabIndex > 0) showTab(currentTabIndex - 1);
});
trackBtn.addEventListener('click', handleTrackRankings);
downloadPdfBtn.addEventListener('click', handlePdfDownload);
// --- Initial Setup ---
showTab(0);
});
