/* ===== Projects CRUD ===== */ let projects = [], projectsLoaded = false; function statusBadge(status, isActive) { if (!isActive || isActive === 0 || isActive === false) return '비활성'; if (status === 'completed') return '완료'; return '진행중'; } async function loadProjects() { try { const r = await api('/projects'); projects = r.data || r; projectsLoaded = true; displayProjects(); } catch (err) { document.getElementById('projectList').innerHTML = `
${escapeHtml(err.message)}
등록된 프로젝트가 없습니다.
'; return; } c.innerHTML = projects.map(p => `