Skip to content

Commit

Permalink
Merge pull request #29648 from Krishna2323/krishna2323/issue/27951
Browse files Browse the repository at this point in the history
fix: Chat - Can't open context menu by long press on mentions.
  • Loading branch information
nkuoch authored Oct 25, 2023
2 parents ee9e5eb + fdd7791 commit a8482e2
Showing 1 changed file with 34 additions and 20 deletions.
Original file line number Diff line number Diff line change
Expand Up @@ -6,14 +6,16 @@ import lodashGet from 'lodash/get';
import Navigation from '../../../libs/Navigation/Navigation';
import ROUTES from '../../../ROUTES';
import Text from '../../Text';
import styles from '../../../styles/styles';
import * as ReportUtils from '../../../libs/ReportUtils';
import {ShowContextMenuContext, showContextMenuForReport} from '../../ShowContextMenuContext';
import UserDetailsTooltip from '../../UserDetailsTooltip';
import htmlRendererPropTypes from './htmlRendererPropTypes';
import withCurrentUserPersonalDetails from '../../withCurrentUserPersonalDetails';
import personalDetailsPropType from '../../../pages/personalDetailsPropType';
import * as StyleUtils from '../../../styles/StyleUtils';
import * as PersonalDetailsUtils from '../../../libs/PersonalDetailsUtils';
import compose from '../../../libs/compose';
import TextLink from '../../TextLink';
import ONYXKEYS from '../../../ONYXKEYS';
import useLocalize from '../../../hooks/useLocalize';
import CONST from '../../../CONST';
Expand Down Expand Up @@ -57,26 +59,38 @@ function MentionUserRenderer(props) {
const isOurMention = accountID === props.currentUserPersonalDetails.accountID;

return (
<Text>
<UserDetailsTooltip
accountID={accountID}
fallbackUserDetails={{
displayName: displayNameOrLogin,
}}
>
<TextLink
// eslint-disable-next-line react/jsx-props-no-spreading
{...defaultRendererProps}
href={`/${navigationRoute}`}
style={[_.omit(props.style, 'color'), StyleUtils.getMentionStyle(isOurMention), {color: StyleUtils.getMentionTextColor(isOurMention)}]}
onPress={() => Navigation.navigate(navigationRoute)}
// Add testID so it is NOT selected as an anchor tag by SelectionScraper
testID="span"
<ShowContextMenuContext.Consumer>
{({anchor, report, action, checkIfContextMenuActive}) => (
<Text
suppressHighlighting
onLongPress={(event) => showContextMenuForReport(event, anchor, report.reportID, action, checkIfContextMenuActive, ReportUtils.isArchivedRoom(report))}
onPress={(event) => {
event.preventDefault();
Navigation.navigate(navigationRoute);
}}
accessibilityRole={CONST.ACCESSIBILITY_ROLE.LINK}
accessibilityLabel={`/${navigationRoute}`}
>
{!_.isEmpty(htmlAttribAccountID) ? `@${displayNameOrLogin}` : <TNodeChildrenRenderer tnode={props.tnode} />}
</TextLink>
</UserDetailsTooltip>
</Text>
<UserDetailsTooltip
accountID={accountID}
fallbackUserDetails={{
displayName: displayNameOrLogin,
}}
>
<Text
style={[styles.link, _.omit(props.style, 'color'), StyleUtils.getMentionStyle(isOurMention), {color: StyleUtils.getMentionTextColor(isOurMention)}]}
accessibilityRole={CONST.ACCESSIBILITY_ROLE.LINK}
testID="span"
href={`/${navigationRoute}`}
// eslint-disable-next-line react/jsx-props-no-spreading
{...defaultRendererProps}
>
{!_.isEmpty(htmlAttribAccountID) ? `@${displayNameOrLogin}` : <TNodeChildrenRenderer tnode={props.tnode} />}
</Text>
</UserDetailsTooltip>
</Text>
)}
</ShowContextMenuContext.Consumer>
);
}

Expand Down

0 comments on commit a8482e2

Please sign in to comment.