diff --git a/fusion_clock/static/src/js/fusion_clock_nfc_kiosk.js b/fusion_clock/static/src/js/fusion_clock_nfc_kiosk.js index 4ec5503d..4a482a56 100644 --- a/fusion_clock/static/src/js/fusion_clock_nfc_kiosk.js +++ b/fusion_clock/static/src/js/fusion_clock_nfc_kiosk.js @@ -394,6 +394,27 @@ }); } + // ────────────────────────────────────────────────────────────── + // Mock-tap debug shortcut (only when fusion_clock.nfc_kiosk_debug = True) + // ────────────────────────────────────────────────────────────── + if (debugEnabled) { + document.addEventListener("keydown", (e) => { + if (e.ctrlKey && e.shiftKey && (e.key === "T" || e.key === "t")) { + e.preventDefault(); + const stored = localStorage.getItem("nfc_mock_uid") || "04:DE:AD:BE:EF:01"; + const uid = prompt(`Mock-tap UID (last used: ${stored}):`, stored); + if (!uid) return; + localStorage.setItem("nfc_mock_uid", uid); + if (currentState === STATE.ENROLL) { + _onEnrollTap(uid.toUpperCase()); + } else if (currentState === STATE.IDLE) { + handleTap(uid.toUpperCase()); + } + } + }); + console.info("[nfc-kiosk] mock-tap debug enabled — Ctrl+Shift+T to fire a tap"); + } + window.__nfcKiosk = { setState, STATE, photoRequired, debugEnabled, locationConfigured, handleTap, _onEnrollTap, // handleTap for mock-tap debug (Task 19)