Auto-detect @mentions.

git-svn-id: https://www.unprompted.com/svn/projects/tildefriends/trunk@4008 ed5197a5-7fde-0310-b194-c3ffbd925b24
This commit is contained in:
2022-10-15 19:02:09 +00:00
parent 704ed737a9
commit b8fa59d3ec
2 changed files with 24 additions and 1 deletions

View File

@ -63,6 +63,29 @@ class TfComposeElement extends LitElement {
message.root = this.root;
message.branch = this.branch;
}
for (let match of message.text.matchAll(/\[([^\[]+)]\((@[^\)]+)/g)) {
if (!message.mentions) {
message.mentions = [];
}
let name = match[1].length;
let balance = 0;
let bracket_end = match.index + match[1].length + '[]'.length - 1;
for (let i = bracket_end; i >= 0; i--) {
if (message.text.charAt(i) == ']') {
balance++;
} else if (message.text.charAt(i) == '[') {
balance--;
}
if (balance <= 0) {
name = message.text.substring(i + 1, bracket_end - i);
break;
}
}
message.mentions.push({
link: match[2],
name: name.charAt(0) == '@' ? name.substring(1) : name,
});
}
console.log('Would post:', message);
tfrpc.rpc.appendMessage(this.whoami, message).then(function() {
edit.value = '';