`).join('');
};
// --- Event Delegation for Copy buttons ---
document.getElementById('generated-headlines').addEventListener('click', (e) => {
let textToCopy = '';
if (e.target.classList.contains('copy-btn')) {
textToCopy = e.target.closest('.headline-card').querySelector('.headline-text').textContent;
copyToClipboard(textToCopy);
} else if (e.target.classList.contains('copy-all-btn')) {
textToCopy = Object.values(generatedHeadlines).flat().join('\n');
copyToClipboard(textToCopy);
}
});
const copyToClipboard = (text) => {
const tempTextarea = document.createElement('textarea');
tempTextarea.value = text;
document.body.appendChild(tempTextarea);
tempTextarea.select();
document.execCommand('copy');
document.body.removeChild(tempTextarea);
const msgEl = document.getElementById('copy-success-msg');
msgEl.textContent = 'Copied to clipboard!';
setTimeout(() => { msgEl.textContent = ''; }, 3000);
};
const updateEmptyState = () => {
const hasHeadlines = Object.keys(generatedHeadlines).length > 0;
document.getElementById('report-content-area').style.display = hasHeadlines ? 'block' : 'none';
document.getElementById('report-empty-state').style.display = hasHeadlines ? 'none' : 'block';
downloadPdfBtn.style.display = hasHeadlines ? 'flex' : 'none';
};
// --- PDF Generation ---
downloadPdfBtn.addEventListener('click', () => {
const { jsPDF } = window.jspdf;
if (!jsPDF || Object.keys(generatedHeadlines).length === 0) return;
const doc = new jsPDF();
let yPos = 20;
const product = document.getElementById('productName').value;
doc.setFont('helvetica', 'bold');
doc.setFontSize(18);
doc.text(`Landing Page Headlines for: ${product}`, 15, yPos);
yPos += 15;
Object.keys(generatedHeadlines).forEach(category => {
if (yPos > 260) { doc.addPage(); yPos = 20; }
doc.setFontSize(14);
doc.text(category, 15, yPos);
yPos += 8;
doc.setFont('helvetica', 'normal');
doc.setFontSize(11);
generatedHeadlines[category].forEach(headline => {
if (yPos > 270) { doc.addPage(); yPos = 20; }
const splitText = doc.splitTextToSize(`- ${headline}`, 180);
doc.text(splitText, 15, yPos);
yPos += (splitText.length * 5) + 2;
});
yPos += 5;
});
doc.save(`Headlines-${product.replace(/\s+/g, '-')}.pdf`);
});
// --- Initialization ---
updateEmptyState();
switchTab('generator');
});