diff options
author | Simon Ser <contact@emersion.fr> | 2024-02-20 22:39:34 +0100 |
---|---|---|
committer | Simon Ser <contact@emersion.fr> | 2024-02-20 22:48:03 +0100 |
commit | 15cc54687629d87b7af2cf29c4b041e243152c18 (patch) | |
tree | 028026d7ef5599887b27d5e3d1e8fd37b739a649 | |
parent | a514104c55222d3f8cd05b5d543643d1f5d270f5 (diff) | |
download | gamja-15cc54687629d87b7af2cf29c4b041e243152c18.tar.gz gamja-15cc54687629d87b7af2cf29c4b041e243152c18.zip |
components/buffer: show realname as tooltip
-rw-r--r-- | components/buffer.js | 25 |
1 files changed, 22 insertions, 3 deletions
diff --git a/components/buffer.js b/components/buffer.js index 77f3dd1..9ebfdce 100644 --- a/components/buffer.js +++ b/components/buffer.js @@ -21,9 +21,19 @@ function Nick(props) { props.onClick(); } + let title; + if (props.user && irc.isMeaningfulRealname(props.user.realname, props.nick)) { + title = stripANSI(props.user.realname); + } + let colorIndex = djb2(props.nick) % 16 + 1; return html` - <a href=${irc.formatURL({ entity: props.nick })} class="nick nick-${colorIndex}" onClick=${handleClick}>${props.nick}</a> + <a + href=${irc.formatURL({ entity: props.nick })} + title=${title} + class="nick nick-${colorIndex}" + onClick=${handleClick} + >${props.nick}</a> `; } @@ -98,7 +108,11 @@ class LogLine extends Component { function createNick(nick) { return html` - <${Nick} nick=${nick} onClick=${() => onNickClick(nick)}/> + <${Nick} + nick=${nick} + user=${server.users.get(nick)} + onClick=${() => onNickClick(nick)} + /> `; } function createChannel(channel) { @@ -325,11 +339,16 @@ class FoldGroup extends Component { render() { let msgs = this.props.messages; let buf = this.props.buffer; + let server = this.props.server; let onNickClick = this.props.onNickClick; function createNick(nick) { return html` - <${Nick} nick=${nick} onClick=${() => onNickClick(nick)}/> + <${Nick} + nick=${nick} + user=${server.users.get(nick)} + onClick=${() => onNickClick(nick)} + /> `; } |