From 093605be2ef3d9e1fb74f3df7294defd8ea497e4 Mon Sep 17 00:00:00 2001
From: Michiel Berger
Date: Fri, 1 May 2026 09:27:25 +0200
Subject: [PATCH] =?UTF-8?q?Modal=20markup=20must=20come=20before=20script?=
=?UTF-8?q?=20tag=20=E2=80=94=20fix=20silent=20click=20handler?=
MIME-Version: 1.0
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit
---
src/pluginbattery/static/app.js | 23 ++++++++++++++---------
src/pluginbattery/templates/index.html | 8 ++++----
2 files changed, 18 insertions(+), 13 deletions(-)
diff --git a/src/pluginbattery/static/app.js b/src/pluginbattery/static/app.js
index 12aceb4..bee63a0 100644
--- a/src/pluginbattery/static/app.js
+++ b/src/pluginbattery/static/app.js
@@ -250,15 +250,20 @@ form.addEventListener("submit", (e) => { e.preventDefault(); recalc(); });
// ─── Battery timeline modal ────────────────────────────────────────────
-const modal = document.getElementById("timeline-modal");
-const tlTitle = document.getElementById("tl-title");
-const tlDate = document.getElementById("tl-date");
-const tlDays = document.getElementById("tl-days");
-const tlOnBox = document.getElementById("tl-battery-on");
-const tlPrev = document.getElementById("tl-prev");
-const tlNext = document.getElementById("tl-next");
-const tlStatus = document.getElementById("tl-status");
-const tlSummary = document.getElementById("tl-summary");
+function mustFind(id) {
+ const el = document.getElementById(id);
+ if (!el) console.error(`[pluginbattery] missing element #${id} — modal will not work`);
+ return el;
+}
+const modal = mustFind("timeline-modal");
+const tlTitle = mustFind("tl-title");
+const tlDate = mustFind("tl-date");
+const tlDays = mustFind("tl-days");
+const tlOnBox = mustFind("tl-battery-on");
+const tlPrev = mustFind("tl-prev");
+const tlNext = mustFind("tl-next");
+const tlStatus = mustFind("tl-status");
+const tlSummary = mustFind("tl-summary");
let activeBattery = null; // the row clicked
let tlData = null; // last fetched timeline payload
diff --git a/src/pluginbattery/templates/index.html b/src/pluginbattery/templates/index.html
index fdfad24..0362490 100644
--- a/src/pluginbattery/templates/index.html
+++ b/src/pluginbattery/templates/index.html
@@ -5,7 +5,7 @@
Honest battery payback — vs thuisbatterijgids.nl
-
+
@@ -156,9 +156,6 @@
-
-
-
+
+
+