From b7beb25ea3df921ecf76156dea91dac1235ba0d4 Mon Sep 17 00:00:00 2001 From: Jeremy Brandenburger Date: Mon, 30 Mar 2026 16:47:10 +0200 Subject: [PATCH] fix: remove CSP-blocked inline onclick handlers, use addEventListener --- public/app.js | 19 +++++++++++++++++++ public/index.html | 34 +++++++++++++++++----------------- 2 files changed, 36 insertions(+), 17 deletions(-) diff --git a/public/app.js b/public/app.js index 5e6ec3b..6fb7c28 100644 --- a/public/app.js +++ b/public/app.js @@ -795,5 +795,24 @@ function showToast(msg) { }, 3200); } +// ── Static button bindings (replaces inline onclick – blocked by CSP script-src-attr) ── +document.getElementById('btn-logout') ?.addEventListener('click', logout); +document.getElementById('btn-daily-challenge') ?.addEventListener('click', startDailyChallenge); +document.getElementById('btn-start-practice') ?.addEventListener('click', startPractice); +document.getElementById('btn-stop-practice') ?.addEventListener('click', stopPracticeUI); +document.getElementById('match-ready-btn') ?.addEventListener('click', setReady); +document.getElementById('btn-leave-match') ?.addEventListener('click', leaveMatch); +document.getElementById('btn-create-user') ?.addEventListener('click', createUser); + +// D-pad: practice and match both use data-dir buttons +document.getElementById('practice-dpad')?.addEventListener('click', (e) => { + const dir = e.target.closest('[data-dir]')?.dataset.dir; + if (dir) dpadInput(dir); +}); +document.getElementById('match-dpad')?.addEventListener('click', (e) => { + const dir = e.target.closest('[data-dir]')?.dataset.dir; + if (dir) dpadInput(dir); +}); + // ── Init ────────────────────────────────────────────────────────────────────── document.addEventListener('DOMContentLoaded', checkAuth); diff --git a/public/index.html b/public/index.html index db7184c..4f97876 100644 --- a/public/index.html +++ b/public/index.html @@ -26,7 +26,7 @@ @@ -122,7 +122,7 @@
Best time:
- + @@ -161,7 +161,7 @@
Select categories above, then start training
- +
@@ -189,21 +189,21 @@ -
+
- +
- +
- +
- +
- +
@@ -257,24 +257,24 @@ -
+
- +
- +
- +
- +
- - + +
@@ -325,7 +325,7 @@ - +