aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorSimon Ser <contact@emersion.fr>2024-02-20 22:39:34 +0100
committerSimon Ser <contact@emersion.fr>2024-02-20 22:48:03 +0100
commit15cc54687629d87b7af2cf29c4b041e243152c18 (patch)
tree028026d7ef5599887b27d5e3d1e8fd37b739a649
parenta514104c55222d3f8cd05b5d543643d1f5d270f5 (diff)
downloadgamja-15cc54687629d87b7af2cf29c4b041e243152c18.tar.gz
gamja-15cc54687629d87b7af2cf29c4b041e243152c18.zip
components/buffer: show realname as tooltip
-rw-r--r--components/buffer.js25
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)}
+ />
`;
}