feat(mentions): @ autocomplete, blue @nick, avatar notification toast

- Chat input @ autocomplete: typing @ shows online users (room users +
  online friends + room aliases) with avatars; arrows/Tab/Enter to pick.
- Any valid @nick token is highlighted blue in chat bubbles (like @all),
  giving visual feedback that it is a recognised mention.
- Side notification toast on a received mention: sender avatar (from the
  new senderFigure wire field) + message + dismiss; dismiss marks it read
  so the toolbar unread badge updates. Auto-hides after 8s.
- IMentionEntry/parsers carry senderFigure end to end.
This commit is contained in:
medievalshell
2026-06-04 01:18:26 +02:00
parent f8e943d262
commit 0df810c556
14 changed files with 452 additions and 17 deletions
@@ -51,9 +51,14 @@ const isMentionToken = (token: string, ownUsernameLower: string, aliases: Readon
if(!nick) return false;
// Own nick and room-broadcast aliases always count.
if(ownUsernameLower && nick === ownUsernameLower) return true;
if(aliases.has(nick)) return true;
return aliases.has(nick);
// Any other valid @nick token is also highlighted (blue), so a direct
// @username mention reads the same as @all — visual feedback that it is a
// recognised mention. (Cosmetic only; the server decides actual delivery.)
return true;
};
/**