diff --git a/index.js b/index.js index 628044b..15675a5 100644 --- a/index.js +++ b/index.js @@ -3,8 +3,17 @@ var form = document.getElementById('form'); var input = document.getElementById('input'); 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) { let t = e.target; + if (t.parentNode.classList.contains('command')) { + return await clickCommand(e); + } + if (t.tagName.toLowerCase() != 'li') return; if (t.parentNode.tagName.toLowerCase() != 'li') return; if (!t.querySelector('img')) return; @@ -47,11 +56,13 @@ async function goPage(count) { return false; } -async function addMsg(msg) { +async function addMsg(msg, isUser) { let lines = msg.split('\n'); var wrap = document.createElement('li'); - for (let line of lines) { + for (let lineI in lines) { + let line = lines[lineI]; + var item = document.createElement('li'); item.textContent = line; @@ -71,6 +82,10 @@ async function addMsg(msg) { item.style.fontStyle = 'italic'; } wrap.appendChild(item); + + if (lineI == 0 && isUser) { + wrap.classList.add('command'); + } item.title = 'Click to copy'; } @@ -94,8 +109,8 @@ async function main(e) { msg = await msg.text(); msg = msg.trim(); - addMsg(input.value) - addMsg(msg) + addMsg(input.value, true) + addMsg(msg, false) if (input.value[0] != '/') { input.value = '';