diff --git a/chat.py b/chat.py
index c0c9777..22a5c63 100644
--- a/chat.py
+++ b/chat.py
@@ -621,14 +621,24 @@ async function handleEncryptedDM(data) {
d.className = 'msg';
const t = new Date(data.ts * 1000).toLocaleTimeString([], {hour:'2-digit',minute:'2-digit'});
const arrow = data.user === myName ? '→ ' + esc(data.to) : '← ' + esc(data.user);
- d.innerHTML = '' + t + ' 🔒 DM ' + arrow + ': ' + renderMd(text);
+ const replyTo = data.user === myName ? data.to : data.user;
+ d.innerHTML = '' + t + ' 🔒 DM ' + arrow + ': ' + renderMd(text);
+ d.querySelector('.dm-tag').onclick = function() {
+ $input.value = '/dm @' + this.dataset.reply + ' ';
+ $input.focus();
+ };
$msg.appendChild(d);
$msg.scrollTop = $msg.scrollHeight;
} catch(e) {
const d = document.createElement('div');
d.className = 'msg';
+ const replyTo = data.user;
const t = new Date(data.ts * 1000).toLocaleTimeString([], {hour:'2-digit',minute:'2-digit'});
- d.innerHTML = '' + t + ' 🔒 DM from ' + esc(data.user) + ': [cannot decrypt]';
+ d.innerHTML = '' + t + ' 🔒 DM from ' + esc(data.user) + ': [cannot decrypt]';
+ d.querySelector('.dm-tag').onclick = function() {
+ $input.value = '/dm @' + this.dataset.reply + ' ';
+ $input.focus();
+ };
$msg.appendChild(d);
$msg.scrollTop = $msg.scrollHeight;
}