You've already forked konami-code-snippets
mirror of
https://github.com/hexolan/konami-code-snippets.git
synced 2026-05-20 11:39:22 +01:00
feat: add base snippet
Written when reworking a version of my dev landing site (should be `O(1)`).
This commit is contained in:
@@ -0,0 +1,26 @@
|
|||||||
|
<html>
|
||||||
|
<head>
|
||||||
|
<title>KC Examples: Redirect</title>
|
||||||
|
</head>
|
||||||
|
<body>
|
||||||
|
<p>Enter the code</p>
|
||||||
|
|
||||||
|
<script>
|
||||||
|
const keySequence = ["ArrowUp", "ArrowUp", "ArrowDown", "ArrowDown", "ArrowLeft", "ArrowRight", "ArrowLeft", "ArrowRight", "b", "a"];
|
||||||
|
let sequenceStep = 0;
|
||||||
|
|
||||||
|
document.addEventListener("keydown", function (e) {
|
||||||
|
console.log(e)
|
||||||
|
if (keySequence[sequenceStep] === e.key) {
|
||||||
|
sequenceStep += 1;
|
||||||
|
|
||||||
|
if (sequenceStep === keySequence.length) {
|
||||||
|
window.location.href = `https://github.com/hexolan/konami-code-snippets`;
|
||||||
|
}
|
||||||
|
} else {
|
||||||
|
sequenceStep = 0;
|
||||||
|
}
|
||||||
|
});
|
||||||
|
</script>
|
||||||
|
</body>
|
||||||
|
</html>
|
||||||
+22
@@ -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;
|
||||||
|
}
|
||||||
|
});
|
||||||
Reference in New Issue
Block a user