async function loadMentions() { const d=await apiGet('/api/mentions'); if(!d) return; mentionsData = d.mentions||[]; mentionUnread = d.unread||0; renderMentionsBell(); } function renderMentionsBell() { const badge=document.getElementById('notif-badge'); const btn =document.getElementById('notif-btn'); if(!badge||!btn) return; if(mentionUnread>0){badge.textContent=mentionUnread;badge.style.display='block';} else badge.style.display='none'; } function toggleMentionsDropdown() { const dd=document.getElementById('mentions-dropdown'); if(!dd) return; const isOpen=dd.classList.contains('open'); dd.classList.toggle('open',!isOpen); if(!isOpen) renderMentionsList(); } document.addEventListener('click',e=>{ const dd=document.getElementById('mentions-dropdown'); if(dd&&!document.getElementById('notif-btn')?.contains(e.target)&&!dd.contains(e.target)) dd.classList.remove('open'); }); function renderMentionsList() { const el=document.getElementById('mentions-list'); if(!el) return; if(!mentionsData.length){el.innerHTML='