From 5e827e7d99039d69ce9eed0f6065e409858b2203 Mon Sep 17 00:00:00 2001 From: Yuyao Huang Date: Sat, 9 May 2026 16:37:26 +0800 Subject: [PATCH] fix: refresh side panel after loadTasks in non-landscape mode After saveTask or setTaskStatus triggers loadTasks(), the side panel now refreshes from the updated server data. If the selected task no longer exists (deleted or goal changed), the side panel closes. This ensures Edit Task always matches selectedTaskId. --- static/js/tasks.js | 16 ++++++++++++++++ 1 file changed, 16 insertions(+) diff --git a/static/js/tasks.js b/static/js/tasks.js index da8c1ad..5fc16b4 100644 --- a/static/js/tasks.js +++ b/static/js/tasks.js @@ -76,6 +76,22 @@ async function loadTasks() { focusEl.classList.add("in-focus"); } } + + // Refresh side panel if a task was selected + if (selectedTaskId) { + const currentTask = tasks.find(t => t.id === selectedTaskId); + if (currentTask) { + document.getElementById("edit-task-title").value = currentTask.title; + document.getElementById("edit-task-desc").value = currentTask.desc || ""; + document.querySelectorAll(".status-btn").forEach(btn => { + btn.classList.toggle("active", btn.dataset.status === currentTask.status); + }); + updateSaveButton(); + } else { + closeSidePanel(); + } + } + initScrollFocus(); }); } catch (error) {