From c4d0a7a8209b91b0df4901e9f85e8e8cbdf70a40 Mon Sep 17 00:00:00 2001 From: Gigiaj Date: Sun, 15 Jun 2025 23:20:09 -0500 Subject: [PATCH] Fix ref issue causing the menu to remain open unless an option is selected --- src/app/features/room/MessageOptionsMenu.tsx | 45 +++++++++++--------- 1 file changed, 24 insertions(+), 21 deletions(-) diff --git a/src/app/features/room/MessageOptionsMenu.tsx b/src/app/features/room/MessageOptionsMenu.tsx index 98c4f680..f5372485 100644 --- a/src/app/features/room/MessageOptionsMenu.tsx +++ b/src/app/features/room/MessageOptionsMenu.tsx @@ -1,5 +1,5 @@ import { Box, Icon, IconButton, Icons, Line, Menu, MenuItem, PopOut, RectCords, Text } from 'folds'; -import React, { MouseEventHandler, useEffect } from 'react'; +import React, { forwardRef, MouseEventHandler, useEffect } from 'react'; import FocusTrap from 'focus-trap-react'; import classNames from 'classnames'; @@ -36,24 +36,27 @@ type BaseOptionProps = { closeMenu: () => void; }; -export function MessageDropdownMenu({ - mEvent, - room, - mx, - relations, - canSendReaction, - canEdit, - canDelete, - canPinEvent, - hideReadReceipts, - onReactionToggle, - onReplyClick, - onEditId, - handleAddReactions, - closeMenu, -}: BaseOptionProps) { - return ( - +export const MessageDropdownMenu = forwardRef( + ( + { + mEvent, + room, + mx, + relations, + canSendReaction, + canEdit, + canDelete, + canPinEvent, + hideReadReceipts, + onReactionToggle, + onReplyClick, + onEditId, + handleAddReactions, + closeMenu, + }, + ref + ) => ( + {canSendReaction && ( { @@ -130,8 +133,8 @@ export function MessageDropdownMenu({ )} - ); -} + ) +); type ExtendedOptionsProps = BaseOptionProps & { imagePackRooms: Room[] | undefined;