// Service Worker Registration for Offline Capability if ('serviceWorker' in navigator) { window.addEventListener('load', () => { navigator.serviceWorker.register('/sw.js') .then(reg => console.log('Service Worker registered', reg)) .catch(err => console.log('Service Worker registration failed', err)); }); } // Interactivity for Attendance Toggles document.addEventListener('DOMContentLoaded', () => { const tableRows = document.querySelectorAll('#learnersTable tbody tr'); tableRows.forEach(row => { const presentBtn = row.querySelector('label[for^="pres_"]'); const absentBtn = row.querySelector('label[for^="abs_"]'); // Add subtle feedback on change const inputs = row.querySelectorAll('input[type="radio"]'); inputs.forEach(input => { input.addEventListener('change', () => { row.classList.add('table-primary'); setTimeout(() => row.classList.remove('table-primary'), 500); }); }); }); });