From b7bce657c2f9dfe56db2e28fc423700a9ba63be3 Mon Sep 17 00:00:00 2001 From: Declan Teevan Date: Fri, 3 Apr 2026 17:17:01 +0100 Subject: [PATCH] feat: add base snippet Written when reworking a version of my dev landing site (should be `O(1)`). --- src/examples/redirect.html | 26 ++++++++++++++++++++++++++ src/main.js | 22 ++++++++++++++++++++++ 2 files changed, 48 insertions(+) create mode 100644 src/examples/redirect.html create mode 100644 src/main.js diff --git a/src/examples/redirect.html b/src/examples/redirect.html new file mode 100644 index 0000000..d712e7a --- /dev/null +++ b/src/examples/redirect.html @@ -0,0 +1,26 @@ + + + KC Examples: Redirect + + +

Enter the code

+ + + + \ No newline at end of file diff --git a/src/main.js b/src/main.js new file mode 100644 index 0000000..2be80c0 --- /dev/null +++ b/src/main.js @@ -0,0 +1,22 @@ +// NOTE: not using deprecated `keyCode` attribute +const keySequence = ["ArrowUp", "ArrowUp", "ArrowDown", "ArrowDown", "ArrowLeft", "ArrowRight", "ArrowLeft", "ArrowRight", "b", "a"]; +let sequenceStep = 0; + +function callbackFunc() { + +} + +// TODO: as func to pass to `keydown` listener +document.addEventListener("keydown", function (e) { + console.log(e) + if (keySequence[sequenceStep] === e.key) { + sequenceStep += 1; + + if (sequenceStep === keySequence.length) { + sequenceStep = 0; + callbackFunc(); + } + } else { + sequenceStep = 0; + } +}); \ No newline at end of file