diff --git a/native/chat/multimedia-message.react.js b/native/chat/multimedia-message.react.js --- a/native/chat/multimedia-message.react.js +++ b/native/chat/multimedia-message.react.js @@ -10,6 +10,7 @@ import { View } from 'react-native'; import { messageKey } from 'lib/shared/message-utils.js'; +import { useCanCreateReactionFromMessage } from 'lib/shared/reaction-utils.js'; import { useCanCreateSidebarFromMessage } from 'lib/shared/sidebar-utils.js'; import type { MediaInfo } from 'lib/types/media-types.js'; @@ -51,6 +52,7 @@ +overlayContext: ?OverlayContextType, +chatContext: ?ChatContextType, +canCreateSidebarFromMessage: boolean, + +canCreateReactionFromMessage: boolean, }; type State = { +clickable: boolean, @@ -115,7 +117,10 @@ onLongPress = () => { const visibleEntryIDs = this.visibleEntryIDs(); - if (visibleEntryIDs.length === 0) { + if ( + visibleEntryIDs.length === 0 && + !this.props.canCreateReactionFromMessage + ) { return; } @@ -202,6 +207,7 @@ chatContext, canCreateSidebarFromMessage, canTogglePins, + canCreateReactionFromMessage, ...viewProps } = this.props; return ( @@ -238,7 +244,10 @@ props.item.threadInfo, props.item.messageInfo, ); - + const canCreateReactionFromMessage = useCanCreateReactionFromMessage( + props.item.threadInfo, + props.item.messageInfo, + ); return ( ); }); diff --git a/native/chat/robotext-message.react.js b/native/chat/robotext-message.react.js --- a/native/chat/robotext-message.react.js +++ b/native/chat/robotext-message.react.js @@ -9,6 +9,7 @@ chatMessageItemHasEngagement, chatMessageItemEngagementTargetMessageInfo, } from 'lib/shared/chat-message-item-utils.js'; +import { useCanCreateReactionFromMessage } from 'lib/shared/reaction-utils.js'; import { useCanCreateSidebarFromMessage } from 'lib/shared/sidebar-utils.js'; import { inlineEngagementCenterStyle } from './chat-constants.js'; @@ -101,6 +102,10 @@ item.threadInfo, engagementTargetMessageInfo, ); + const canCreateReactionFromMessage = useCanCreateReactionFromMessage( + item.threadInfo, + engagementTargetMessageInfo, + ); const visibleEntryIDs = React.useMemo(() => { const result = []; @@ -178,7 +183,7 @@ return; } - if (visibleEntryIDs.length === 0) { + if (visibleEntryIDs.length === 0 && !canCreateReactionFromMessage) { return; } @@ -203,6 +208,7 @@ viewRef, visibleEntryIDs, openRobotextTooltipModal, + canCreateReactionFromMessage, ]); const onLayout = React.useCallback(() => {}, []); diff --git a/native/chat/text-message.react.js b/native/chat/text-message.react.js --- a/native/chat/text-message.react.js +++ b/native/chat/text-message.react.js @@ -178,9 +178,6 @@ onPress = () => { const visibleEntryIDs = this.visibleEntryIDs(); - if (visibleEntryIDs.length === 0) { - return; - } const { message,