redo a past command if clicked
This commit is contained in:
parent
411eb73522
commit
3e5149d4d3
1 changed files with 19 additions and 4 deletions
23
index.js
23
index.js
|
@ -3,8 +3,17 @@ var form = document.getElementById('form');
|
||||||
var input = document.getElementById('input');
|
var input = document.getElementById('input');
|
||||||
const server = new URLSearchParams(document.location.search).get('server') || 'https://elem.dervland.net/';
|
const server = new URLSearchParams(document.location.search).get('server') || 'https://elem.dervland.net/';
|
||||||
|
|
||||||
|
async function clickCommand(e) {
|
||||||
|
let t = e.target;
|
||||||
|
input.value = t.textContent;
|
||||||
|
}
|
||||||
|
|
||||||
async function clickLi(e) {
|
async function clickLi(e) {
|
||||||
let t = e.target;
|
let t = e.target;
|
||||||
|
if (t.parentNode.classList.contains('command')) {
|
||||||
|
return await clickCommand(e);
|
||||||
|
}
|
||||||
|
|
||||||
if (t.tagName.toLowerCase() != 'li') return;
|
if (t.tagName.toLowerCase() != 'li') return;
|
||||||
if (t.parentNode.tagName.toLowerCase() != 'li') return;
|
if (t.parentNode.tagName.toLowerCase() != 'li') return;
|
||||||
if (!t.querySelector('img')) return;
|
if (!t.querySelector('img')) return;
|
||||||
|
@ -47,11 +56,13 @@ async function goPage(count) {
|
||||||
return false;
|
return false;
|
||||||
}
|
}
|
||||||
|
|
||||||
async function addMsg(msg) {
|
async function addMsg(msg, isUser) {
|
||||||
let lines = msg.split('\n');
|
let lines = msg.split('\n');
|
||||||
var wrap = document.createElement('li');
|
var wrap = document.createElement('li');
|
||||||
|
|
||||||
for (let line of lines) {
|
for (let lineI in lines) {
|
||||||
|
let line = lines[lineI];
|
||||||
|
|
||||||
var item = document.createElement('li');
|
var item = document.createElement('li');
|
||||||
item.textContent = line;
|
item.textContent = line;
|
||||||
|
|
||||||
|
@ -71,6 +82,10 @@ async function addMsg(msg) {
|
||||||
item.style.fontStyle = 'italic';
|
item.style.fontStyle = 'italic';
|
||||||
}
|
}
|
||||||
wrap.appendChild(item);
|
wrap.appendChild(item);
|
||||||
|
|
||||||
|
if (lineI == 0 && isUser) {
|
||||||
|
wrap.classList.add('command');
|
||||||
|
}
|
||||||
|
|
||||||
item.title = 'Click to copy';
|
item.title = 'Click to copy';
|
||||||
}
|
}
|
||||||
|
@ -94,8 +109,8 @@ async function main(e) {
|
||||||
msg = await msg.text();
|
msg = await msg.text();
|
||||||
msg = msg.trim();
|
msg = msg.trim();
|
||||||
|
|
||||||
addMsg(input.value)
|
addMsg(input.value, true)
|
||||||
addMsg(msg)
|
addMsg(msg, false)
|
||||||
|
|
||||||
if (input.value[0] != '/') {
|
if (input.value[0] != '/') {
|
||||||
input.value = '';
|
input.value = '';
|
||||||
|
|
Loading…
Add table
Add a link
Reference in a new issue