redo a past command if clicked

This commit is contained in:
biglyderv 2025-04-23 07:45:04 -04:00
parent 411eb73522
commit 3e5149d4d3
Signed by: biglyderv
GPG key ID: 0E2EB0B4CD7397B5

View file

@ -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;
@ -72,6 +83,10 @@ async function addMsg(msg) {
} }
wrap.appendChild(item); wrap.appendChild(item);
if (lineI == 0 && isUser) {
wrap.classList.add('command');
}
item.title = 'Click to copy'; item.title = 'Click to copy';
} }
messages.appendChild(wrap); messages.appendChild(wrap);
@ -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 = '';