From 4c555d6e755abb804f39e9e2189aa4e076411aca Mon Sep 17 00:00:00 2001 From: quantumchain-core Date: Mon, 5 Oct 2026 20:40:51 -0700 Subject: [PATCH 01/28] Create ui-bindings.js --- src/assets/js/ui-bindings.js | 9 +++++++++ 1 file changed, 9 insertions(+) create mode 100644 src/assets/js/ui-bindings.js diff --git a/src/assets/js/ui-bindings.js b/src/assets/js/ui-bindings.js new file mode 100644 index 00000000..9246653d --- /dev/null +++ b/src/assets/js/ui-bindings.js @@ -0,0 +1,9 @@ +// Centralized UI click binding - fixes #627 +document.addEventListener('click', function(e) { + const target = e.target.closest('[data-action]'); + if (!target) return; + const action = target.dataset.action; + if (action === 'scroll-to-random' && typeof scrollToRandomUser === 'function') scrollToRandomUser(); + if (action === 'level-click' && typeof handleLevelClick === 'function') handleLevelClick(); + if (action === 'toggle-theme' && typeof toggleTheme === 'function') toggleTheme(); +}); From 77783582310a2a44c22edfb1b94d0ab3bdf76b61 Mon Sep 17 00:00:00 2001 From: quantumchain-core Date: Mon, 5 Oct 2026 20:48:18 -0700 Subject: [PATCH 02/28] Update matrix-overlay.njk --- src/_includes/matrix-overlay.njk | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/_includes/matrix-overlay.njk b/src/_includes/matrix-overlay.njk index 72f2a31a..dbb12992 100644 --- a/src/_includes/matrix-overlay.njk +++ b/src/_includes/matrix-overlay.njk @@ -1,6 +1,6 @@ From 4ca8717ed369eee6e5c783ded3700528f1258e07 Mon Sep 17 00:00:00 2001 From: quantumchain-core Date: Mon, 5 Oct 2026 20:50:09 -0700 Subject: [PATCH 03/28] Update ui-bindings.js --- src/assets/js/ui-bindings.js | 30 +++++++++++++++++++++++++++--- 1 file changed, 27 insertions(+), 3 deletions(-) diff --git a/src/assets/js/ui-bindings.js b/src/assets/js/ui-bindings.js index 9246653d..2685b30c 100644 --- a/src/assets/js/ui-bindings.js +++ b/src/assets/js/ui-bindings.js @@ -1,9 +1,33 @@ // Centralized UI click binding - fixes #627 +// No inline onclick - all actions handled via data-action document.addEventListener('click', function(e) { const target = e.target.closest('[data-action]'); if (!target) return; + const action = target.dataset.action; - if (action === 'scroll-to-random' && typeof scrollToRandomUser === 'function') scrollToRandomUser(); - if (action === 'level-click' && typeof handleLevelClick === 'function') handleLevelClick(); - if (action === 'toggle-theme' && typeof toggleTheme === 'function') toggleTheme(); + + switch(action) { + case 'scroll-to-random': + if (typeof scrollToRandomUser === 'function') scrollToRandomUser(); + break; + case 'level-click': + if (typeof handleLevelClick === 'function') handleLevelClick(); + break; + case 'toggle-theme': + if (typeof toggleTheme === 'function') toggleTheme(); + break; + case 'close-matrix': + if (typeof closeMatrix === 'function') closeMatrix(); + break; + } +}); + +// Also handle ESC key to close matrix (bonus - was already there but keep it) +document.addEventListener('keydown', function(e) { + if (e.key === 'Escape') { + const overlay = document.getElementById('matrix-overlay'); + if (overlay &&!overlay.classList.contains('hidden')) { + if (typeof closeMatrix === 'function') closeMatrix(); + } + } }); From 53c7099a87802a8d06efab409d977c15e87532db Mon Sep 17 00:00:00 2001 From: quantumchain-core Date: Mon, 5 Oct 2026 20:55:59 -0700 Subject: [PATCH 04/28] Update system-log.njk --- src/_includes/system-log.njk | 16 ++++++++-------- 1 file changed, 8 insertions(+), 8 deletions(-) diff --git a/src/_includes/system-log.njk b/src/_includes/system-log.njk index e3f0365a..720f737b 100644 --- a/src/_includes/system-log.njk +++ b/src/_includes/system-log.njk @@ -1,4 +1,4 @@ -
- - - + + +
@@ -18,10 +18,10 @@
-
-
-
-
+
+
+
+
From cfeb55b097a0f661904f2ea6689c108898eb63ec Mon Sep 17 00:00:00 2001 From: quantumchain-core Date: Mon, 5 Oct 2026 21:00:13 -0700 Subject: [PATCH 05/28] Update system-override.njk --- src/_includes/system-override.njk | 40 +++++++++++++++++-------------- 1 file changed, 22 insertions(+), 18 deletions(-) diff --git a/src/_includes/system-override.njk b/src/_includes/system-override.njk index 4c9d9d3a..17bc08a2 100644 --- a/src/_includes/system-override.njk +++ b/src/_includes/system-override.njk @@ -5,22 +5,22 @@
- - - - - -
- - - - - - - @@ -67,12 +67,12 @@ min="0" max="200" class="override-btn" - style="background-color: #000 !important; color: #00ffcc !important; border: 1px solid #00ffcc !important; width: 60px !important; height: 30px !important; font-size: 14px !important; padding: 0 5px !important; border-radius: 4px !important;" + style="background-color: #000!important; color: #00ffcc!important; border: 1px solid #00ffcc!important; width: 60px!important; height: 30px!important; font-size: 14px!important; padding: 0 5px!important; border-radius: 4px!important;" > @@ -80,14 +80,18 @@
- -

Press 'D' to toggle

+ + +

Press 'D' to toggle

+ From 9f71b915cfdfe3b4706b8f5963a9166bee49d1cc Mon Sep 17 00:00:00 2001 From: quantumchain-core Date: Mon, 5 Oct 2026 21:01:38 -0700 Subject: [PATCH 06/28] Update ui-bindings.js --- src/assets/js/ui-bindings.js | 52 +++++++++++++++++------------------- 1 file changed, 24 insertions(+), 28 deletions(-) diff --git a/src/assets/js/ui-bindings.js b/src/assets/js/ui-bindings.js index 2685b30c..294ebd0f 100644 --- a/src/assets/js/ui-bindings.js +++ b/src/assets/js/ui-bindings.js @@ -1,33 +1,29 @@ -// Centralized UI click binding - fixes #627 -// No inline onclick - all actions handled via data-action +// Fixes #627 - centralize ALL UI clicks document.addEventListener('click', function(e) { - const target = e.target.closest('[data-action]'); - if (!target) return; - - const action = target.dataset.action; + const btn = e.target.closest('[data-action]'); + if (!btn) return; + const action = btn.dataset.action; switch(action) { - case 'scroll-to-random': - if (typeof scrollToRandomUser === 'function') scrollToRandomUser(); - break; - case 'level-click': - if (typeof handleLevelClick === 'function') handleLevelClick(); - break; - case 'toggle-theme': - if (typeof toggleTheme === 'function') toggleTheme(); - break; - case 'close-matrix': - if (typeof closeMatrix === 'function') closeMatrix(); - break; - } -}); - -// Also handle ESC key to close matrix (bonus - was already there but keep it) -document.addEventListener('keydown', function(e) { - if (e.key === 'Escape') { - const overlay = document.getElementById('matrix-overlay'); - if (overlay &&!overlay.classList.contains('hidden')) { - if (typeof closeMatrix === 'function') closeMatrix(); - } + case 'scroll-to-random': scrollToRandomUser?.(); break; + case 'level-click': handleLevelClick?.(); break; + case 'toggle-theme': toggleTheme?.(); break; + case 'close-matrix': closeMatrix?.(); break; + case 'reopen-console': reopenConsole?.(); break; + case 'minimize-console': minimizeConsole?.(); break; + case 'maximize-console': maximizeConsole?.(); break; + case 'close-console': closeConsole?.(); break; + case 'secret-unlock': triggerSecretUnlock?.(btn.dataset.secret); break; + case 'force-surge': triggerForceSurge?.(); break; + case 'xp-invader': addExperience(XP_SPACE_INVADERS_WIN); playSound?.('levelUp'); break; + case 'xp-breaker': addExperience(_XP_CODE_BREAKER_WIN); playSound?.('levelUp'); break; + case 'xp-duel': addExperience(_XP_DEV_DUEL_PLAY); playSound?.('click'); break; + case 'xp-skill': addExperience(5); playSound?.('click'); break; + case 'xp-optimize': addExperience(15); playSound?.('restore'); break; + case 'magic-xp': triggerMagicXP?.(); playSound?.('levelUp'); break; + case 'screenshot-mode': toggleScreenshotMode?.(); break; + case 'jump-level': jumpToLevel?.(); break; + case 'self-destruct': startSelfDestruct?.(); break; + case 'reset-storage': localStorage.clear(); location.reload(); break; } }); From d8721cbd72a047f36c8cbe04433ef3c6de456a9a Mon Sep 17 00:00:00 2001 From: quantumchain-core Date: Mon, 5 Oct 2026 21:13:06 -0700 Subject: [PATCH 07/28] Update bio.njk --- src/_includes/bio.njk | 31 +++++++------------------------ 1 file changed, 7 insertions(+), 24 deletions(-) diff --git a/src/_includes/bio.njk b/src/_includes/bio.njk index f524403a..21a67f8a 100644 --- a/src/_includes/bio.njk +++ b/src/_includes/bio.njk @@ -3,14 +3,12 @@ layout: layouts/base.njk ---
-

{{ name }}

{{ role }}

-
{% if location or country %}
@@ -18,7 +16,6 @@ layout: layouts/base.njk {{ location }}{% if location and country %}, {% endif %}{{ country }}
{% endif %} - {% if email %}
✉️ @@ -26,7 +23,6 @@ layout: layouts/base.njk
{% endif %} - {% if website %}
🔗 @@ -34,7 +30,6 @@ layout: layouts/base.njk
{% endif %}
-

Connect

@@ -62,7 +57,6 @@ layout: layouts/base.njk
-
{% if bio %}
@@ -74,7 +68,6 @@ layout: layouts/base.njk
{% endif %} - {% if languages is defined and languages is not null %}

@@ -86,22 +79,18 @@ layout: layouts/base.njk

{% endif %} -

Mini-Game

Catch the skill tiles before they fall! Collect enough to win XP.

-
- const profileData = document.getElementById('profile-data'); window.PROFILE_NAME = profileData ? profileData.dataset.name : ""; From 5716aab35d289a24d211ae583298d00cfd200840 Mon Sep 17 00:00:00 2001 From: quantumchain-core Date: Mon, 5 Oct 2026 21:15:06 -0700 Subject: [PATCH 08/28] Update ui-bindings.js --- src/assets/js/ui-bindings.js | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/src/assets/js/ui-bindings.js b/src/assets/js/ui-bindings.js index 294ebd0f..2c0fdfc8 100644 --- a/src/assets/js/ui-bindings.js +++ b/src/assets/js/ui-bindings.js @@ -1,9 +1,8 @@ -// Fixes #627 - centralize ALL UI clicks +// Fixes #627 - centralized click binding, no inline onclick document.addEventListener('click', function(e) { const btn = e.target.closest('[data-action]'); if (!btn) return; const action = btn.dataset.action; - switch(action) { case 'scroll-to-random': scrollToRandomUser?.(); break; case 'level-click': handleLevelClick?.(); break; @@ -25,5 +24,6 @@ document.addEventListener('click', function(e) { case 'jump-level': jumpToLevel?.(); break; case 'self-destruct': startSelfDestruct?.(); break; case 'reset-storage': localStorage.clear(); location.reload(); break; + case 'launch-codebreaker': CodeBreaker?.launch(window.PROFILE_SKILLS, window.PROFILE_NAME); break; } }); From a8b21818e56e7e9d74c2d692775be9200f7a00b2 Mon Sep 17 00:00:00 2001 From: quantumchain-core Date: Mon, 5 Oct 2026 21:17:34 -0700 Subject: [PATCH 09/28] Update footer-details.njk --- src/_includes/footer-details.njk | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/src/_includes/footer-details.njk b/src/_includes/footer-details.njk index 572e3e7c..dd174c32 100644 --- a/src/_includes/footer-details.njk +++ b/src/_includes/footer-details.njk @@ -27,7 +27,7 @@
- {% endif %}
-
+
🐣
- + From 2d91c7ce22ee4b4271d547f96f7018f04cba0a8c Mon Sep 17 00:00:00 2001 From: quantumchain-core Date: Mon, 5 Oct 2026 21:33:48 -0700 Subject: [PATCH 14/28] Update skills-list.njk --- src/_includes/skills-list.njk | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/_includes/skills-list.njk b/src/_includes/skills-list.njk index 2bd945b3..33b3dd26 100644 --- a/src/_includes/skills-list.njk +++ b/src/_includes/skills-list.njk @@ -1,7 +1,7 @@
{% for skill in skills %} - {{ skill }} + {{ skill }} {% endfor %}
From 0d271bf4b41a243bd268cfd851c47b9f35a24c13 Mon Sep 17 00:00:00 2001 From: quantumchain-core Date: Mon, 5 Oct 2026 21:36:07 -0700 Subject: [PATCH 15/28] Update ui-bindings.js --- src/assets/js/ui-bindings.js | 9 ++++++++- 1 file changed, 8 insertions(+), 1 deletion(-) diff --git a/src/assets/js/ui-bindings.js b/src/assets/js/ui-bindings.js index 4ddf45b5..bb150db1 100644 --- a/src/assets/js/ui-bindings.js +++ b/src/assets/js/ui-bindings.js @@ -1,4 +1,4 @@ -// Fixes #627 - remove inline button handlers and centralize UI click binding +// Fixes #627 - remove inline handlers and centralize UI binding document.addEventListener('click', function(e) { const btn = e.target.closest('[data-action]'); if (!btn) return; @@ -28,3 +28,10 @@ document.addEventListener('click', function(e) { case 'footer-dot': handleFooterDotClick?.(); break; } }); + +// Fix onmouseenter -> addEventListener +document.addEventListener('DOMContentLoaded', () => { + document.querySelectorAll('.floating-xp-trigger').forEach(el => { + el.addEventListener('mouseenter', (e) => createFloatingXP?.(e)); + }); +}); From 546ef55f244f9d8d8c422fa3c4d531730ddf694b Mon Sep 17 00:00:00 2001 From: quantumchain-core Date: Mon, 5 Oct 2026 21:39:37 -0700 Subject: [PATCH 16/28] Update system-override.njk --- src/_includes/system-override.njk | 100 +++++++----------------------- 1 file changed, 23 insertions(+), 77 deletions(-) diff --git a/src/_includes/system-override.njk b/src/_includes/system-override.njk index 17bc08a2..0086e5ca 100644 --- a/src/_includes/system-override.njk +++ b/src/_includes/system-override.njk @@ -5,93 +5,39 @@
- - - - - - + + + + +
- - - - - - - + + + + + + +
-
- -
- - -
-
-
- - +
+ +
+ + +
-

Press 'D' to toggle

-
+
+ +
-

Press 'D' to toggle

+

Press 'D' to toggle

From d2bedfba4cbee2be5b7415d3ef578d28c3660dc2 Mon Sep 17 00:00:00 2001 From: quantumchain-core Date: Mon, 5 Oct 2026 21:46:17 -0700 Subject: [PATCH 17/28] Update ui-bindings.js --- src/assets/js/ui-bindings.js | 7 ++++++- 1 file changed, 6 insertions(+), 1 deletion(-) diff --git a/src/assets/js/ui-bindings.js b/src/assets/js/ui-bindings.js index bb150db1..36c9be98 100644 --- a/src/assets/js/ui-bindings.js +++ b/src/assets/js/ui-bindings.js @@ -29,7 +29,12 @@ document.addEventListener('click', function(e) { } }); -// Fix onmouseenter -> addEventListener +// FIX for skills hover - matches YOUR screenshot: data-action="floating-xp" +document.addEventListener('mouseover', function(e) { + const el = e.target.closest('[data-action="floating-xp"]'); + if (el) createFloatingXP?.(e); +}); +// ALSO support old class for safety document.addEventListener('DOMContentLoaded', () => { document.querySelectorAll('.floating-xp-trigger').forEach(el => { el.addEventListener('mouseenter', (e) => createFloatingXP?.(e)); From 81692f5e001ad51e6e56703ede59cba620be997f Mon Sep 17 00:00:00 2001 From: quantumchain-core Date: Mon, 5 Oct 2026 21:53:11 -0700 Subject: [PATCH 18/28] Update games.njk --- src/games.njk | 8 +++----- 1 file changed, 3 insertions(+), 5 deletions(-) diff --git a/src/games.njk b/src/games.njk index 1105d0a3..3574e992 100644 --- a/src/games.njk +++ b/src/games.njk @@ -45,7 +45,7 @@ seo:
Trigger: click the footer ❤️ five times
- @@ -56,7 +56,7 @@ seo:
⌨️

Code Breaker

Catch falling tech skills before they hit the ground. Uses generic skills here — visit any profile page for that developer's own skill set. Earn +{{ _XP_CODE_BREAKER_WIN or 100 }} XP on win.

- @@ -114,7 +114,6 @@ seo: const profileData = document.getElementById('profile-data'); window.PROFILE_NAME = profileData ? profileData.dataset.name : ""; From 9b716c428823deb4b26b1f9fd3b34a82e563e286 Mon Sep 17 00:00:00 2001 From: quantumchain-core Date: Mon, 5 Oct 2026 23:40:45 -0700 Subject: [PATCH 27/28] Update footer-details.njk --- src/_includes/footer-details.njk | 1 + 1 file changed, 1 insertion(+) diff --git a/src/_includes/footer-details.njk b/src/_includes/footer-details.njk index dd174c32..b7a505f8 100644 --- a/src/_includes/footer-details.njk +++ b/src/_includes/footer-details.njk @@ -38,6 +38,7 @@
-