Add terminal like cd functionality

This commit is contained in:
2021-09-22 18:29:13 +02:00
parent 5b63b29d5d
commit c45061440e
4 changed files with 39 additions and 5 deletions
+33
View File
@@ -0,0 +1,33 @@
window.addEventListener("load", () => {
const terminal = document.getElementById('nav-terminal')
const keyDown = (e) => {
if (e.keyCode === 13) {
if (document.activeElement !== document.body) return
if (terminal.textContent.length === 0) return
if (terminal.textContent.includes("~")) terminal.textContent = ""
window.location.href = window.location.origin + "/" + terminal.textContent
return
}
if (e.keyCode === 8) {
terminal.textContent = terminal.textContent.slice(0, -1)
return
}
if (e.keyCode === 192) {
if (terminal.textContent.length !== 0) return
terminal.textContent += "~"
return
}
if ((e.keyCode < 65 || e.keyCode > 90) && (e.keyCode !== 191) ) return
terminal.textContent += e.key.toLowerCase()
}
document.addEventListener('keydown', keyDown)
})