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