`;
});
}
// --- Preview Rendering ---
function strgRenderPreview() {
// Config
document.getElementById('strg-prev-date').textContent = strgData.date;
document.getElementById('strg-prev-teacher').textContent = strgData.teacher;
document.getElementById('strg-prev-sub').textContent = strgData.sub;
// Text Areas
const fill = (id, val, fallback) => {
const el = document.getElementById(id);
if (!val || val.trim() === '') {
el.innerHTML = `
${fallback}`;
} else {
el.innerText = val;
}
};
fill('strg-prev-attendance', strgData.absent, 'No absences recorded.');
fill('strg-prev-stars', strgData.stars, 'None recorded.');
fill('strg-prev-issues', strgData.issues, 'None recorded.');
fill('strg-prev-general', strgData.general, 'No additional notes.');
// Logs
const logContainer = document.getElementById('strg-prev-log-list');
logContainer.innerHTML = '';
if (strgData.logs.length === 0) {
logContainer.innerHTML = '
No class entries recorded.
';
} else {
strgData.logs.forEach(log => {
logContainer.innerHTML += `
${log.period}
${log.subject}
${log.notes || 'Completed as planned.'}
`;
});
}
}
// --- PDF Export ---
function strgGeneratePDF() {
const element = document.getElementById('strg-report-paper');
const btn = document.getElementById('strg-btn-download');
const originalText = btn.innerHTML;
// Ensure Preview tab is active
strgSwitchTab('strg-preview');
btn.innerHTML = '
Generating PDF...';
document.body.classList.add('generating-pdf');
const opt = {
margin: [10, 10, 10, 10],
filename: `Sub_Report_${strgData.date.replace(/[^a-z0-9]/gi, '_')}.pdf`,
image: { type: 'jpeg', quality: 0.98 },
html2canvas: { scale: 2 },
jsPDF: { unit: 'mm', format: 'a4', orientation: 'portrait' }
};
html2pdf().set(opt).from(element).save().then(() => {
btn.innerHTML = originalText;
document.body.classList.remove('generating-pdf');
});
}