function sparkProjectList() { apiGet('/spark/project_list') .then(data => { const body = document.getElementById('spark-body'); body.innerHTML = ''; if (data && Array.isArray(data.projects) && data.projects.length > 0) { data.projects.forEach(proj => { const row = document.createElement('tr'); row.innerHTML = ` ${proj.project_name} ${proj.version} ${proj.enabled ? 'đŸŸĸ' : '🔴'} ${getStatusIcon(proj.status)} ${proj.status} ${proj.last_accessed} `; body.appendChild(row); }); } else { const row = document.createElement('tr'); row.innerHTML = `âš ī¸ Failed to load Spark project list or no projects available.`; body.appendChild(row); } }) .catch(err => { console.error(err); const body = document.getElementById('spark-body'); body.innerHTML = ''; const row = document.createElement('tr'); row.innerHTML = `❌ Error connecting to Spark service.`; body.appendChild(row); }); } function getStatusIcon(status) { if (status === 'loading') return 'âš™ī¸'; if (status === 'ready') return '✅'; if (status === 'error') return '❌'; return 'â„šī¸'; }