// Highlights messages that @mention you. "@john" matches anyone whose name starts with "john". (function () { var box = document.getElementById('chat'); var nameInput = box && box.querySelector('[name="chat_name"]'); if (!nameInput) return; function mark() { var m = nameInput.value.match(/[\p{L}\p{N}_]+/u); var key = m ? m[0].toLowerCase() : ''; box.querySelectorAll('.chat-msg').forEach(function (msg) { var hit = false; if (key) { msg.querySelectorAll('.chat-mention').forEach(function (el) { if (el.dataset.mention.toLowerCase() === key) hit = true; }); } ['bg-warning-subtle', 'rounded', 'px-1'].forEach(function (c) { msg.classList.toggle(c, hit); }); }); } box.addEventListener('chat:updated', mark); nameInput.addEventListener('input', mark); mark(); })();