From a1a3e55f605b38f3dae103a50d769aa5d13dc156 Mon Sep 17 00:00:00 2001 From: janis steiner Date: Thu, 7 May 2026 18:28:57 +0200 Subject: [PATCH] fix comments --- backend/api/index.php | 8 +++++++- frontend/assets/css/style.css | 11 +++++++++++ frontend/assets/js/app.js | 23 +++++++++++++++++------ 3 files changed, 35 insertions(+), 7 deletions(-) diff --git a/backend/api/index.php b/backend/api/index.php index 44fa1cf..8161c0d 100644 --- a/backend/api/index.php +++ b/backend/api/index.php @@ -99,7 +99,13 @@ function handleEvents($method, $id, $db) { $sql .= " ORDER BY e.occurred_at DESC"; $stmt = $db->prepare($sql); $stmt->execute($params); - echo json_encode($stmt->fetchAll(PDO::FETCH_ASSOC)); + $events = $stmt->fetchAll(PDO::FETCH_ASSOC); + foreach ($events as &$event) { + $cstmt = $db->prepare("SELECT * FROM comments WHERE event_id = ? ORDER BY created_at ASC"); + $cstmt->execute([$event['id']]); + $event['comments'] = $cstmt->fetchAll(PDO::FETCH_ASSOC); + } + echo json_encode($events); } break; case 'POST': diff --git a/frontend/assets/css/style.css b/frontend/assets/css/style.css index 854a152..431a559 100644 --- a/frontend/assets/css/style.css +++ b/frontend/assets/css/style.css @@ -115,6 +115,17 @@ body { margin-top: .15rem; } +.comment-box + .comment-box { + border-top: 1px solid var(--neptune-border); + padding-top: .5rem; +} + +.comment-log { + max-height: 200px; + overflow-y: auto; + margin-bottom: .25rem; +} + /* Network Map */ .node-tooltip { position: absolute; diff --git a/frontend/assets/js/app.js b/frontend/assets/js/app.js index 8dcc3df..d637ed7 100644 --- a/frontend/assets/js/app.js +++ b/frontend/assets/js/app.js @@ -121,9 +121,14 @@ function renderTimeline() {
${esc(e.title)}
${e.description ? `

${esc(e.description)}

` : ''}
- ${renderComments(e)} +
+ Comments ${e.comments && e.comments.length ? `(${e.comments.length})` : ''} +
+
+ ${renderComments(e)} +
- +
@@ -134,11 +139,17 @@ function renderTimeline() { } function renderComments(event) { - if (!event.comments || !event.comments.length) return ''; + if (!event.comments || !event.comments.length) return '
No comments yet
'; return event.comments.map(c => ` -
-
${esc(c.author)} ยท ${new Date(c.created_at).toLocaleString()}
-
${esc(c.body)}
+
+
+
+
+ ${esc(c.author)} + ${new Date(c.created_at).toLocaleString()} +
+
${esc(c.body)}
+
`).join(''); }