feat: add image actions to message context menu

Detect right-clicked images in handleContextMenu and prepend
Save Image, Copy Image, and Open Original to the custom menu.
Avatars are excluded via the data-avatar semantic marker.
This commit is contained in:
Jannis Braun
2026-03-25 03:13:58 +01:00
parent 74939f045f
commit 97f0ebc915
2 changed files with 54 additions and 0 deletions
@@ -173,10 +173,16 @@ export function Message({ message, isCompact, isFirstInGroup, previousMessageId
e.stopPropagation();
const selectedText = window.getSelection()?.toString() ?? '';
// Detect if the right-click target is a content image (not an avatar)
const imgEl = (e.target as HTMLElement).closest('img') as HTMLImageElement | null;
const isContentImage = imgEl && !imgEl.closest('[data-avatar]');
const imageUrl = isContentImage ? imgEl.src : null;
const items = buildMessageMenuItems({
message,
selectedText,
previousMessageId,
imageUrl,
isAuthor,
isDm: isDmMessage,
canAddReactions,