This commit is contained in:
parent
0ebcf1d5a2
commit
d4396a5acc
@ -20,14 +20,14 @@ const wasmVersion = wasmData.version;
|
|||||||
@@@@@ @@@@@@@@@@
|
@@@@@ @@@@@@@@@@
|
||||||
@@@@@@@@@@@@@@@@@@@@@@@@@@@ @@@ @@@@@@@@@
|
@@@@@@@@@@@@@@@@@@@@@@@@@@@ @@@ @@@@@@@@@
|
||||||
@@@@@@@@@@@@@@@W#MW@@@@@@@@@@@@@@@ @@@@@@@@@
|
@@@@@@@@@@@@@@@W#MW@@@@@@@@@@@@@@@ @@@@@@@@@
|
||||||
@@@@@########*****pkaMB@@@@@@@@mb@@@@@ @@@@@@@
|
@@@@@######## pkaMB@@@@@@@@mb@@@@@ @@@@@@@
|
||||||
@@@@@*************pwdhoh@@@@@$OOOOOw*##@@@@ @ @@@@
|
@@@@@ pwdhoh@@@@@$OOOOOw ##@@@@ @ @@@@
|
||||||
@@@@@************dOOOOOOOOOO0OOOOOO*******#@@ @ @@@
|
@@@@@ dOOOOOOOOOO0OOOOOO #@@ @ @@@
|
||||||
@@@@************pOOOOOOOOOOOOOOZ#**********#@@ @
|
@@@@ pOOOOOOOOOOOOOOZ# #@@ @
|
||||||
@@@@************oOOOOOOOOOOOOa***************#@
|
@@@@ oOOOOOOOOOOOOa #@
|
||||||
@@@@@***********odwwpdda**********************
|
@@@@@ odwwpdda
|
||||||
@@@@@**********************************
|
@@@@@
|
||||||
@@@@@@@@@$#*###MMB@@@@@@@@@@@@</pre>
|
@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@</pre>
|
||||||
</div>
|
</div>
|
||||||
<div class="input"><pre class="user">user@cer0</pre><pre>:</pre><pre class="pwd">/</pre><pre class="dollar">$ </pre><input type="text" data-terminal-input autofocus /></div>
|
<div class="input"><pre class="user">user@cer0</pre><pre>:</pre><pre class="pwd">/</pre><pre class="dollar">$ </pre><input type="text" data-terminal-input autofocus /></div>
|
||||||
</div>
|
</div>
|
||||||
@ -41,7 +41,7 @@ const wasmVersion = wasmData.version;
|
|||||||
(async () => {
|
(async () => {
|
||||||
const wasm = import("@c0ntroller/wasm-terminal");
|
const wasm = import("@c0ntroller/wasm-terminal");
|
||||||
|
|
||||||
const outputs = document.querySelectorAll("[data-terminal-output]") as NodeListOf<HTMLPreElement>;
|
const outputs = document.querySelectorAll("[data-terminal-output]") as NodeListOf<HTMLDivElement>;
|
||||||
const inputs = document.querySelectorAll("[data-terminal-input]") as NodeListOf<HTMLInputElement>;
|
const inputs = document.querySelectorAll("[data-terminal-input]") as NodeListOf<HTMLInputElement>;
|
||||||
const screens = document.querySelectorAll("[data-terminal-screen]") as NodeListOf<HTMLDivElement>;
|
const screens = document.querySelectorAll("[data-terminal-screen]") as NodeListOf<HTMLDivElement>;
|
||||||
const template = document.querySelector("[data-terminal-user-cmd]") as HTMLTemplateElement;
|
const template = document.querySelector("[data-terminal-user-cmd]") as HTMLTemplateElement;
|
||||||
@ -72,14 +72,16 @@ const wasmVersion = wasmData.version;
|
|||||||
output.prepend(inputLine);
|
output.prepend(inputLine);
|
||||||
});
|
});
|
||||||
|
|
||||||
const resp = c.execute(cmd);
|
if (cmd) {
|
||||||
|
const resp = c.execute(cmd);
|
||||||
|
|
||||||
if (resp) {
|
if (resp) {
|
||||||
const outputLine = document.createElement("pre");
|
const outputLine = document.createElement("pre");
|
||||||
outputLine.textContent = resp
|
outputLine.textContent = resp
|
||||||
outputs.forEach((output) => {
|
outputs.forEach((output) => {
|
||||||
output.prepend(outputLine);
|
output.prepend(outputLine);
|
||||||
});
|
});
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
input.value = "";
|
input.value = "";
|
||||||
@ -87,6 +89,10 @@ const wasmVersion = wasmData.version;
|
|||||||
}
|
}
|
||||||
});
|
});
|
||||||
});
|
});
|
||||||
|
|
||||||
|
screens.forEach((screen) => {
|
||||||
|
new MutationObserver(() => screen.scrollTo(0, screen.scrollHeight)).observe(screen, { childList: true, subtree: true });
|
||||||
|
});
|
||||||
})()
|
})()
|
||||||
</script>
|
</script>
|
||||||
|
|
||||||
@ -106,7 +112,7 @@ const wasmVersion = wasmData.version;
|
|||||||
padding: 10px;
|
padding: 10px;
|
||||||
display: flex;
|
display: flex;
|
||||||
flex-direction: column;
|
flex-direction: column;
|
||||||
overflow-y: scroll;
|
overflow-y: auto;
|
||||||
|
|
||||||
pre > pre {
|
pre > pre {
|
||||||
display: inline-block;
|
display: inline-block;
|
||||||
@ -148,6 +154,7 @@ const wasmVersion = wasmData.version;
|
|||||||
input {
|
input {
|
||||||
font-family: "Cascadia Code", monospace;
|
font-family: "Cascadia Code", monospace;
|
||||||
display: inline-block;
|
display: inline-block;
|
||||||
|
width: 100%;
|
||||||
flex-grow: 2;
|
flex-grow: 2;
|
||||||
font-size: 1rem;
|
font-size: 1rem;
|
||||||
padding: 0;
|
padding: 0;
|
||||||
|
Loading…
Reference in New Issue
Block a user