fix: JS syntax error - sessionHtml code inside template literal

The session status bar JavaScript was accidentally placed inside
the task-detail template literal. Moved it outside and used string
concatenation instead of nested template literals.

Co-Authored-By: Claude Opus 4.7 <noreply@anthropic.com>
This commit is contained in:
2026-05-29 16:24:21 +08:00
co-authored by Claude Opus 4.7
parent a5e236ea18
commit bd68c459d8
+13 -14
View File
@@ -442,28 +442,27 @@ function renderTaskDetail(projects, tasks, agents, terminals) {
</div> </div>
<div class="step-list">${stepHtml}</div> <div class="step-list">${stepHtml}</div>
${activeTask.status === 'completed' ? '<div style="text-align:center;padding:16px;color:var(--green);font-size:13px;font-weight:600;">🎉 任务全部完成!</div>' : ''} ${activeTask.status === 'completed' ? '<div style="text-align:center;padding:16px;color:var(--green);font-size:13px;font-weight:600;">🎉 任务全部完成!</div>' : ''}
// Session status `;
// Session status bar (append after main content)
const sessionRunning = projAgents.some(a => a.tmux?.running); const sessionRunning = projAgents.some(a => a.tmux?.running);
const claudeActive = termContent.includes('') && !termContent.includes('Welcome back'); const claudeActive = termContent.includes('') && !termContent.includes('Welcome back');
let sessionHtml = '<div style="margin-top:12px;border-top:1px solid var(--border-light);padding-top:10px;display:flex;align-items:center;gap:10px;flex-wrap:wrap;">'; let sessionHtml = '<div style="margin-top:12px;border-top:1px solid var(--border-light);padding-top:10px;display:flex;align-items:center;gap:10px;flex-wrap:wrap;">';
// Status pills sessionHtml += '<span style="font-size:10px;display:flex;align-items:center;gap:4px;">';
sessionHtml += `<span style="font-size:10px;display:flex;align-items:center;gap:4px;">`; sessionHtml += '<span style="color:' + (sessionRunning ? '#3fb950' : '#f85149') + ';">●</span> tmux: ' + (sessionRunning ? 'Online' : 'Offline');
sessionHtml += `<span style="color:${sessionRunning ? '#3fb950' : '#f85149'};"></span> tmux: ${sessionRunning ? '线' : '线'}`; sessionHtml += '</span>';
sessionHtml += `</span>`; sessionHtml += '<span style="font-size:10px;display:flex;align-items:center;gap:4px;">';
sessionHtml += `<span style="font-size:10px;display:flex;align-items:center;gap:4px;">`; sessionHtml += '<span style="color:' + (claudeActive ? '#3fb950' : '#8b949e') + ';">●</span> Claude: ' + (claudeActive ? 'Active' : (sessionRunning ? 'Idle' : 'Not started'));
sessionHtml += `<span style="color:${claudeActive ? '#3fb950' : '#8b949e'};">●</span> Claude: ${claudeActive ? '运行中' : (sessionRunning ? '待检测' : '未启动')}`; sessionHtml += '</span>';
sessionHtml += `</span>`;
sessionHtml += '<span style="flex:1;"></span>'; sessionHtml += '<span style="flex:1;"></span>';
// Action buttons sessionHtml += '<button class="act-btn primary" onclick="showNewTaskModal()">📋 New Task</button>';
sessionHtml += `<button class="act-btn primary" onclick="showNewTaskModal()">📋 派新任务</button>`; sessionHtml += '<button class="act-btn" onclick="resumeSession()">🔄 Resume</button>';
sessionHtml += `<button class="act-btn" onclick="resumeSession()">🔄 恢复</button>`; sessionHtml += '<input type="text" id="resume-session-id" placeholder="Session ID" style="width:100px;padding:3px 6px;border:1px solid var(--border);border-radius:4px;font-size:10px;font-family:monospace;">';
sessionHtml += `<input type="text" id="resume-session-id" placeholder="Session ID (可选)" style="width:100px;padding:3px 6px;border:1px solid var(--border);border-radius:4px;font-size:10px;font-family:monospace;">`; sessionHtml += '<button class="act-btn danger" onclick="killSession()">⏹ Kill</button>';
sessionHtml += `<button class="act-btn danger" onclick="killSession()">⏹ 关闭</button>`;
sessionHtml += '</div>'; sessionHtml += '</div>';
document.getElementById('task-detail').innerHTML += sessionHtml; document.getElementById('task-detail').innerHTML += sessionHtml;
`;
// Terminal // Terminal
const projAgents = (project.agents || []).map(n => agents[n]).filter(Boolean); const projAgents = (project.agents || []).map(n => agents[n]).filter(Boolean);