Logged Sessions
${tableHTML}
`;
pdfExportContainer.querySelectorAll('th:last-child, td:last-child').forEach(el => el.remove());
document.body.appendChild(pdfExportContainer);
try {
const canvas = await html2canvas(pdfExportContainer, { scale: 2 });
const imgData = canvas.toDataURL('image/png');
const { jsPDF } = window.jspdf;
const pdf = new jsPDF({ orientation: 'portrait', unit: 'mm', format: 'a4' });
const pdfWidth = pdf.internal.pageSize.getWidth();
const imgHeight = canvas.height * pdfWidth / canvas.width;
pdf.addImage(imgData, 'PNG', 10, 10, pdfWidth - 20, imgHeight - 20);
pdf.save(`Blue-Light-Report-${viewDateInput.value}.pdf`);
} catch (error) {
console.error("PDF Generation Failed:", error);
alert("An error occurred while generating the PDF.");
} finally {
document.body.removeChild(pdfExportContainer);
}
});
// --- INITIALIZATION ---
tabDashboard.addEventListener('click', () => handleTabClick('dashboard'));
tabLog.addEventListener('click', () => handleTabClick('log'));
viewDateInput.value = toISODateString(new Date());
updateUI();
});