const API_BASE = "http://localhost:5200"; const content = document.getElementById("content"); const errorDiv = document.getElementById("error"); let currentTask = null; async function loadActiveTask() { try { const res = await fetch(`${API_BASE}/api/tasks/active`); const json = await res.json(); if (!json.success || !json.data) { content.innerHTML = '

No active task

'; return; } currentTask = json.data; renderTask(currentTask); } catch (err) { errorDiv.textContent = "Cannot connect to API"; } } function renderTask(task) { const isActive = task.status === "Active"; const isPaused = task.status === "Paused"; content.innerHTML = `
${escapeHtml(task.title)}
${task.status} ${task.category ? `
Category: ${escapeHtml(task.category)}
` : ""} `; document.getElementById("toggleBtn").addEventListener("click", () => toggleTask(task.id, isActive)); } async function toggleTask(taskId, isCurrentlyActive) { try { const action = isCurrentlyActive ? "pause" : "resume"; const res = await fetch(`${API_BASE}/api/tasks/${taskId}/${action}`, { method: "PUT", headers: { "Content-Type": "application/json" }, body: JSON.stringify({}) }); const json = await res.json(); if (json.success && json.data) { currentTask = json.data; renderTask(currentTask); } } catch (err) { errorDiv.textContent = "Failed to update task"; } } function escapeHtml(text) { const div = document.createElement("div"); div.textContent = text; return div.innerHTML; } loadActiveTask();