From 8a8289c328089b765f3c7d48f24e2d7aa0bda965 Mon Sep 17 00:00:00 2001 From: Jack Date: Thu, 17 Dec 2020 15:45:45 +0000 Subject: [PATCH] booring bugfixes --- gulpfile.js | 1 + src/js/commandline.js | 8 +++++++ src/js/global-dependencies.js | 1 + src/js/monkey.js | 44 ++++++++++++++++++++++++++++++++++ src/js/script.js | 3 +++ src/sass/style.scss | 23 ++++++++++++++++++ static/index.html | 6 +++++ static/m1.png | Bin 0 -> 23296 bytes static/m2.png | Bin 0 -> 23138 bytes static/m3.png | Bin 0 -> 23471 bytes static/m4.png | Bin 0 -> 22867 bytes 11 files changed, 86 insertions(+) create mode 100644 src/js/monkey.js create mode 100644 static/m1.png create mode 100644 static/m2.png create mode 100644 static/m3.png create mode 100644 static/m4.png diff --git a/gulpfile.js b/gulpfile.js index dbbba2fc8..8332b180e 100644 --- a/gulpfile.js +++ b/gulpfile.js @@ -90,6 +90,7 @@ const refactoredSrc = [ "./src/js/dom-util.js", "./src/js/cloud-functions.js", "./src/js/misc.js", + "./src/js/monkey.js", ]; //legacy files diff --git a/src/js/commandline.js b/src/js/commandline.js index bf8c56310..baaf2cfa0 100644 --- a/src/js/commandline.js +++ b/src/js/commandline.js @@ -687,6 +687,14 @@ let commands = { }, 150); }, }, + { + id: "toggleMonkey", + display: "Toggle Monkey", + visible: false, + exec: () => { + $("#monkey").toggleClass("hidden"); + }, + }, ], }; diff --git a/src/js/global-dependencies.js b/src/js/global-dependencies.js index 1539f3cab..d9cf43f6a 100644 --- a/src/js/global-dependencies.js +++ b/src/js/global-dependencies.js @@ -22,3 +22,4 @@ import { import { showBackgroundLoader, hideBackgroundLoader } from "./dom-util"; import * as Misc from "./misc"; import * as CloudFunctions from "./cloud-functions"; +import * as Monkey from "./monkey"; diff --git a/src/js/monkey.js b/src/js/monkey.js new file mode 100644 index 000000000..777ec24bc --- /dev/null +++ b/src/js/monkey.js @@ -0,0 +1,44 @@ +let left = false; +let right = false; +let elements = { + "00": document.querySelector("#monkey .up"), + 10: document.querySelector("#monkey .left"), + "01": document.querySelector("#monkey .right"), + 11: document.querySelector("#monkey .both"), +}; +let last = "right"; +// 0 up +// 1 down + +export function type() { + if (!left && last == "right") { + left = true; + last = "left"; + } else if (!right) { + right = true; + last = "right"; + } + update(); +} + +export function stop() { + if (left) { + left = false; + } else if (right) { + right = false; + } + update(); +} + +function update() { + if (!document.querySelector("#monkey").classList.contains("hidden")) { + Object.keys(elements).forEach((key) => { + elements[key].classList.add("hidden"); + }); + + let id = left ? "1" : "0"; + id += right ? "1" : "0"; + + elements[id].classList.remove("hidden"); + } +} diff --git a/src/js/script.js b/src/js/script.js index 70b27e2d8..5af298ba4 100644 --- a/src/js/script.js +++ b/src/js/script.js @@ -4418,6 +4418,8 @@ $(document).keydown((event) => { keypressStats.spacing.current = now; } + Monkey.type(); + //tab if ( (event.key == "Tab" && !config.swapEscAndTab) || @@ -4990,6 +4992,7 @@ $(document).keyup((event) => { keypressStats.duration.array.push(diff); } keypressStats.duration.current = now; + Monkey.stop(); }); window.addEventListener("beforeunload", (event) => { diff --git a/src/sass/style.scss b/src/sass/style.scss index 228f5888c..cc590dfe4 100644 --- a/src/sass/style.scss +++ b/src/sass/style.scss @@ -3091,6 +3091,29 @@ key { opacity: 0; } +#monkey { + width: 308px; + height: 0; + margin: 0 auto; + div { + height: 200px; + width: 308px; + position: fixed; + } + .up { + background-image: url("../m3.png"); + } + .left { + background-image: url("../m1.png"); + } + .right { + background-image: url("../m2.png"); + } + .both { + background-image: url("../m4.png"); + } +} + .keymap { .keymap-split-spacer, .keymap-stagger-split-spacer, diff --git a/static/index.html b/static/index.html index e947d55a0..4a2154757 100644 --- a/static/index.html +++ b/static/index.html @@ -962,6 +962,12 @@
+