Fix ref issue causing the menu to remain open unless an option is selected

This commit is contained in:
Gigiaj 2025-06-15 23:20:09 -05:00
parent 7b84264b26
commit c4d0a7a820

View file

@ -1,5 +1,5 @@
import { Box, Icon, IconButton, Icons, Line, Menu, MenuItem, PopOut, RectCords, Text } from 'folds'; 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 FocusTrap from 'focus-trap-react';
import classNames from 'classnames'; import classNames from 'classnames';
@ -36,7 +36,9 @@ type BaseOptionProps = {
closeMenu: () => void; closeMenu: () => void;
}; };
export function MessageDropdownMenu({ export const MessageDropdownMenu = forwardRef<HTMLDivElement, BaseOptionProps>(
(
{
mEvent, mEvent,
room, room,
mx, mx,
@ -51,9 +53,10 @@ export function MessageDropdownMenu({
onEditId, onEditId,
handleAddReactions, handleAddReactions,
closeMenu, closeMenu,
}: BaseOptionProps) { },
return ( ref
<Menu> ) => (
<Menu ref={ref}>
{canSendReaction && ( {canSendReaction && (
<MessageQuickReactions <MessageQuickReactions
onReaction={(key, shortcode) => { onReaction={(key, shortcode) => {
@ -130,8 +133,8 @@ export function MessageDropdownMenu({
</> </>
)} )}
</Menu> </Menu>
)
); );
}
type ExtendedOptionsProps = BaseOptionProps & { type ExtendedOptionsProps = BaseOptionProps & {
imagePackRooms: Room[] | undefined; imagePackRooms: Room[] | undefined;