chore(console.js): remove obsolete console.js file
This commit is contained in:
@@ -1,109 +0,0 @@
|
|||||||
const c = document.querySelector(".console");
|
|
||||||
const ps1 = "[fr@website ~]$ ";
|
|
||||||
const motd = "Welcome to my website!<br>You can use `help` for more informations :)";
|
|
||||||
let line = "";
|
|
||||||
|
|
||||||
function exec(command) {
|
|
||||||
switch (command[0]) {
|
|
||||||
case "help":
|
|
||||||
line = "help<br>author<br>contact<br>clear<br>echo";
|
|
||||||
break;
|
|
||||||
case "author":
|
|
||||||
line = "Filip Rojek, 2023";
|
|
||||||
break;
|
|
||||||
case "contact":
|
|
||||||
line =
|
|
||||||
"Filip Rojek <<a href='mailto: filip@filiprojek.cz'>filip@filiprojek.cz</a>><br>web: <a href='https://filiprojek.cz' target='_blank'>www.filiprojek.cz</a><br>telegram: <a href='https://t.me/filiprojek' target='_blank'>@filiprojek</a>";
|
|
||||||
break;
|
|
||||||
case "clear":
|
|
||||||
write("000ctrll");
|
|
||||||
return false;
|
|
||||||
case "echo":
|
|
||||||
line = "";
|
|
||||||
command.forEach((cmd, i) => {
|
|
||||||
if (i === 0) return;
|
|
||||||
line += cmd + " ";
|
|
||||||
});
|
|
||||||
line = line.substring(0, line.length - 1); // remove last space
|
|
||||||
break;
|
|
||||||
default:
|
|
||||||
line = "frsh: " + command[0] + ": command not found";
|
|
||||||
break;
|
|
||||||
}
|
|
||||||
|
|
||||||
return line;
|
|
||||||
}
|
|
||||||
|
|
||||||
function write(key, payload) {
|
|
||||||
switch (key) {
|
|
||||||
case "Enter": {
|
|
||||||
command = c.lastChild.textContent.replace(ps1, "");
|
|
||||||
command = command.split(" ");
|
|
||||||
const out = exec(command);
|
|
||||||
if (out !== false) {
|
|
||||||
line = document.createElement("p");
|
|
||||||
line.innerHTML += out;
|
|
||||||
line.innerHTML += "<br>";
|
|
||||||
c.appendChild(line);
|
|
||||||
line = document.createElement("p");
|
|
||||||
line.innerHTML += ps1;
|
|
||||||
c.appendChild(line);
|
|
||||||
}
|
|
||||||
command = "";
|
|
||||||
break;
|
|
||||||
}
|
|
||||||
case "000ctrll":
|
|
||||||
c.innerHTML = "";
|
|
||||||
if (payload == motd) c.innerHTML = motd;
|
|
||||||
line = document.createElement("p");
|
|
||||||
line.innerHTML += ps1;
|
|
||||||
c.appendChild(line);
|
|
||||||
break;
|
|
||||||
case "000backspace":
|
|
||||||
if (c.lastChild.textContent.slice(0, -1) !== ps1.slice(0, -1)) {
|
|
||||||
c.lastChild.innerHTML = c.lastChild.textContent.slice(0, -1);
|
|
||||||
}
|
|
||||||
break;
|
|
||||||
|
|
||||||
default:
|
|
||||||
c.lastChild.innerHTML += key;
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
function customCtrlShortcuts(plusKey) {
|
|
||||||
document.addEventListener("keydown", (e) => {
|
|
||||||
if (e.ctrlKey && e.key == plusKey) {
|
|
||||||
e.preventDefault();
|
|
||||||
write("000ctrl" + plusKey);
|
|
||||||
}
|
|
||||||
});
|
|
||||||
}
|
|
||||||
|
|
||||||
// On load init the terminal
|
|
||||||
window.addEventListener("load", () => {
|
|
||||||
write("000ctrll", motd);
|
|
||||||
if (navigator.userAgent.toLowerCase().includes("mobile")) {
|
|
||||||
const mi = document.querySelector(".mobile-input");
|
|
||||||
mi.style = "opacity: 0; width: 0; height: 0";
|
|
||||||
c.addEventListener("click", (e) => {
|
|
||||||
mi.focus();
|
|
||||||
});
|
|
||||||
}
|
|
||||||
});
|
|
||||||
|
|
||||||
// Capture the keypress
|
|
||||||
window.addEventListener("keypress", (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
|
|
Reference in New Issue
Block a user