cheogram-www
created pr with
cheogram-www/click-nickname.1
added cheogram-www/click-nickname.2
1: 09a926a ! 1: b380266 Click on nickname to mention
commented
lgtm
cmds
checkout latest patchset:
ssh pr.pico.sh pull cheogram-www:click-nickname | git am -3checkout specific patchset revision:
ssh pr.pico.sh pull cheogram-www:click-nickname [rev] | git am -3add changes to patch request:
git format-patch main --stdout | ssh pr.pico.sh cheogram-www:click-nicknameadd comment to patch request:
ssh pr.pico.sh comment cheogram-www:click-nickname "lgtm!"
Patchset
cheogram-www/click-nickname.1
Click on nickname to mention
Stephen Paul Weber
2026-11-07T22:42:53ZSemantic diff summary
0 added,
5 modified,
0 signature changed,
0 removed
across 2 analyzed files
(1 file skipped: unsupported file type)
+8
-0
src/App.scss
#
| ... | ... | @@ -785,6 +785,14 @@ div.cs-message__content { | |
| 785 | 785 | border: 0.125em solid lightcoral; | |
| 786 | 786 | } | |
| 787 | 787 | ||
| 788 | + | .clickable { | |
| 789 | + | cursor: pointer; | |
| 790 | + | ||
| 791 | + | &:hover { | |
| 792 | + | text-decoration: underline; | |
| 793 | + | } | |
| 794 | + | } | |
| 795 | + | ||
| 788 | 796 | .cs-conversation-header__back { | |
| 789 | 797 | button { | |
| 790 | 798 | font-size: inherit; |
+1
-0
src/components/Chat.tsx
#
+12
-6
src/components/MessageBubble.tsx
#
| ... | ... | @@ -265,6 +267,12 @@ export const MessageBubble = ({ | |
| 265 | 267 | .replace(/\s*\b[A-Z]{2,4}$/, ""); // remove trailing TZ abbrev | |
| 266 | 268 | ||
| 267 | 269 | const sender = members.get(m.senderId); | |
| 270 | + | const showSender = | |
| 271 | + | m.senderId !== chat.chatId && | |
| 272 | + | ["last", "single"].includes(position) && | |
| 273 | + | !m.moderationReason() && | |
| 274 | + | m.isIncoming(); | |
| 275 | + | const mention = sender && onMention ? () => onMention(sender) : undefined; | |
| 268 | 276 | ||
| 269 | 277 | return ( | |
| 270 | 278 | <Message |
| ... | ... | @@ -327,13 +335,11 @@ export const MessageBubble = ({ | |
| 327 | 335 | <div className="meta"> | |
| 328 | 336 | <div | |
| 329 | 337 | className={ | |
| 330 | - | (m.senderId !== chat.chatId && | |
| 331 | - | ["last", "single"].includes(position) && | |
| 332 | - | !m.moderationReason() && | |
| 333 | - | m.isIncoming() | |
| 334 | - | ? "" | |
| 335 | - | : "sr-only") + " h-card sender" | |
| 338 | + | (showSender ? "" : "sr-only") + | |
| 339 | + | " h-card sender " + | |
| 340 | + | (mention ? "clickable" : "") | |
| 336 | 341 | } | |
| 342 | + | onClick={mention} | |
| 337 | 343 | > | |
| 338 | 344 | {sender?.displayName} | |
| 339 | 345 | </div> |