diff --git a/ts/components/conversation/MessageContextMenu.dom.tsx b/ts/components/conversation/MessageContextMenu.dom.tsx index 058cbc8c0e..7b0189ce42 100644 --- a/ts/components/conversation/MessageContextMenu.dom.tsx +++ b/ts/components/conversation/MessageContextMenu.dom.tsx @@ -6,12 +6,6 @@ import type { LocalizerType } from '../../types/I18N.std.js'; import { AxoMenuBuilder } from '../../axo/AxoMenuBuilder.dom.js'; import { isPinnedMessagesEnabled } from '../../util/isPinnedMessagesEnabled.std.js'; -export type ContextMenuTriggerType = { - handleContextClick: ( - event: React.MouseEvent | MouseEvent - ) => void; -}; - type MessageContextMenuProps = Readonly<{ i18n: LocalizerType; renderer: AxoMenuBuilder.Renderer; diff --git a/ts/components/conversation/TimelineMessage.dom.tsx b/ts/components/conversation/TimelineMessage.dom.tsx index 21e8bf00cc..1b5ff18c86 100644 --- a/ts/components/conversation/TimelineMessage.dom.tsx +++ b/ts/components/conversation/TimelineMessage.dom.tsx @@ -3,14 +3,8 @@ import classNames from 'classnames'; import lodash from 'lodash'; -import React, { - useCallback, - useEffect, - useMemo, - useRef, - useState, -} from 'react'; -import type { ReactNode, Ref } from 'react'; +import React, { useCallback, useEffect, useMemo, useState } from 'react'; +import type { ReactNode } from 'react'; import { createPortal } from 'react-dom'; import { Manager, Popper, Reference } from 'react-popper'; import type { PreventOverflowModifier } from '@popperjs/core/lib/modifiers/preventOverflow.js'; @@ -39,10 +33,7 @@ import type { ForwardMessagesPayload, } from '../../state/ducks/globalModals.preload.js'; import { useScrollerLock } from '../../hooks/useScrollLock.dom.js'; -import { - type ContextMenuTriggerType, - MessageContextMenu, -} from './MessageContextMenu.dom.js'; +import { MessageContextMenu } from './MessageContextMenu.dom.js'; import { ForwardMessagesModalType } from '../ForwardMessagesModal.dom.js'; import { useGroupedAndOrderedReactions } from '../../util/groupAndOrderReactions.dom.js'; import { isNotNil } from '../../util/isNotNil.std.js'; @@ -108,7 +99,6 @@ export type Props = PropsData & export function TimelineMessage(props: Props): JSX.Element { const { attachments, - author, canDownload, canCopy, canEditMessage, @@ -149,7 +139,6 @@ export function TimelineMessage(props: Props): JSX.Element { const [reactionPickerRoot, setReactionPickerRoot] = useState< HTMLDivElement | undefined >(undefined); - const menuTriggerRef = useRef(null); const [pinMessageDialogOpen, setPinMessageDialogOpen] = useState(false); const isWindowWidthNotNarrow = @@ -172,10 +161,6 @@ export function TimelineMessage(props: Props): JSX.Element { }; }, [containerElementRef]); - // This id is what connects our triple-dot click with our associated pop-up menu. - // It needs to be unique. - const triggerId = String(id || `${author.id}-${timestamp}`); - const toggleReactionPicker = useCallback( (onlyRemove = false): void => { if (reactionPickerRoot) { @@ -392,10 +377,8 @@ export function TimelineMessage(props: Props): JSX.Element { ; onDownload: (() => void) | null; onReplyToMessage: (() => void) | null; onReact: (() => void) | null; @@ -595,21 +574,33 @@ function MessageMenu({ )} )} - {renderMessageContextMenu( - 'AxoDropdownMenu', -