diff --git a/static/js/console.js b/static/js/console.js index 87f71b7..f2a6869 100644 --- a/static/js/console.js +++ b/static/js/console.js @@ -1,19 +1,61 @@ const c = document.querySelector(".console") const ps1 = "[fr@website ~]$ " +let line = ""; +let command = "" + +function exec(command) { + console.log(command) + + switch (command[0]) { + case "help": + line = "about
projects
contact
" + break; + case "author": + line = "Filip Rojek, 2023" + break + case "contact": + line = "Filip Rojek <filip@filiprojek.cz>
web: www.filiprojek.cz
telegram: @filiprojek" + break + case "clear": + write("000ctrll") + break + default: + line = "frsh: " + command[0] + ": command not found" + break; + } + + l = document.createElement("p").innerHTML = line + c.appendChild(l) +} function write(key) { console.log("KEY:", key) switch(key) { case "Enter": - c.innerHTML += "
" - c.innerHTML += ps1 - return + command = command.split(" "); + exec(command) + line = document.createElement("p") + line.innerHTML += ps1 + c.appendChild(line) + command = "" + break case "000ctrll": c.innerHTML = "" - c.innerHTML += ps1 - return + line = document.createElement("p") + line.innerHTML += ps1 + c.appendChild(line) + break + case "000backspace": + console.log(c.textContent.slice(0, -1)) + console.log(ps1 == c.textContent) + if(c.lastChild.textContent.slice(0, -1) !== ps1.slice(0, -1)) { + c.lastChild.innerHTML = c.lastChild.textContent.slice(0, -1) + } + break + default: - c.innerHTML += key + c.lastChild.innerHTML += key + command += key } } @@ -33,10 +75,17 @@ window.addEventListener("load", () => { // Capture the keypress window.addEventListener("keypress", e => { - console.log(e) + e.preventDefault() write(e.key) }) +window.addEventListener("keydown", e => { + if(e.key == "Backspace") { + e.preventDefault() + write("000backspace") + } +}) + // Register custom ctrl shortcuts customCtrlShortcuts("l") // ctrl + l customCtrlShortcuts("c") // ctrl + c