From a4c53fe09d98358e0a1478dbf822b263c289c4e3 Mon Sep 17 00:00:00 2001 From: Nicolas Fryder Date: Thu, 2 Jul 2026 23:52:00 +0200 Subject: [PATCH] Fix admin activity modal row lookup Bind activity row click handlers to the rendered row object instead of refinding it by id and type. Also guard activitySummary against missing rows to avoid runtime crashes in the admin activity modal. --- apps/admin/site/app.js | 6 ++++-- 1 file changed, 4 insertions(+), 2 deletions(-) diff --git a/apps/admin/site/app.js b/apps/admin/site/app.js index 3f213d4..518c69b 100644 --- a/apps/admin/site/app.js +++ b/apps/admin/site/app.js @@ -720,6 +720,7 @@ async function renderActivity() { } function activitySummary(row) { + if (!row) return "—"; const sum = row.summary || {}; if (row.type === "run") { const parts = []; @@ -758,8 +759,9 @@ async function loadActivity() { `; - document.getElementById("a-table").querySelectorAll("tr[data-id]").forEach((tr) => { - tr.addEventListener("click", () => openActivityModal(tr.dataset.type, Number(tr.dataset.id), r.items.find(x => x.type === tr.dataset.type && x.id === Number(tr.dataset.id)))); + document.getElementById("a-table").querySelectorAll("tr[data-id]").forEach((tr, index) => { + const row = r.items[index]; + tr.addEventListener("click", () => openActivityModal(tr.dataset.type, Number(tr.dataset.id), row)); }); const totalPages = Math.max(1, Math.ceil(s.total / s.pageSize));