AttendEase
Smart Attendance Management
AttendEase
Synced
0 Classes
0 Students
0 Sessions
-
' + '
' + esc(t.name) + '
' + '
@' + esc(t.username) + '
' + '
📚 ' + esc(assignedNames) + '
' + '' + '' + ''; }); listEl.innerHTML = html; listEl.querySelectorAll('.del-teacher-btn').forEach(function(btn) { btn.addEventListener('click', function() { deleteTeacher(this.getAttribute('data-id')); }); }); } async function apiCall(method,path,body){try{var opts={method:method,headers:apiHeaders()};if(body!==undefined)opts.body=JSON.stringify(body);var res=await fetch(API_BASE+path,opts);return await res.json();}catch(e){return{error:e.message};}} window.apiLogin=async function(u,p){return apiCall("POST","/api/auth/login",{username:u,passHash:p});}; window.apiLoad=async function(){if(!_apiToken)return null;var r=await apiCall("GET","/api/sync");return r.error?null:r;}; window.apiSave=async function(D){if(!_apiToken)return false;var r=await apiCall("POST","/api/sync",{D:D});return !r.error;}; window.setApiToken=function(t){_apiToken=t;}; window._workerReady=true; document.dispatchEvent(new Event("firebase-ready"));
AttendEase
Smart Attendance Management
AttendEase
Synced
0 Classes
0 Students
0 Sessions
-