`;
elements.resultsPlaceholder.classList.remove('hidden');
elements.resultsContainer.classList.add('hidden');
}
function handleCopy() {
if (!generatedSubtitles || generatedSubtitles.length === 0) return;
const textToCopy = generatedSubtitles.join('\n');
navigator.clipboard.writeText(textToCopy).then(() => {
const originalText = elements.copyBtn.innerHTML;
elements.copyBtn.innerHTML = `Copied!`;
setTimeout(() => {
elements.copyBtn.innerHTML = originalText;
}, 2000);
}).catch(err => {
console.error('Failed to copy text: ', err);
});
}
// --- PDF Generation ---
function generatePdf() {
if (!generatedSubtitles || generatedSubtitles.length === 0) return;
const { jsPDF } = window.jspdf;
const doc = new jsPDF();
doc.setFont('helvetica', 'bold');
doc.setFontSize(18);
doc.text("Subtitle Generation Report", doc.internal.pageSize.getWidth() / 2, 20, { align: 'center' });
doc.setFontSize(11);
doc.setTextColor(100);
doc.text(`Generated on: ${new Date().toLocaleDateString('en-US')}`, 14, 30);
const tableBody = generatedSubtitles.map((subtitle, index) => [index + 1, subtitle]);
doc.autoTable({
startY: 40,
head: [['#', 'Generated Subtitle']],
body: tableBody,
theme: 'striped',
headStyles: { fillColor: '#4f46e5' }
});
doc.save(`subtitle-report.pdf`);
}
initialize();
});
