From 7f8a916bd7d1bc677501929c9296f30e69980fc2 Mon Sep 17 00:00:00 2001 From: Maruf Sharifi Date: Sat, 25 Jul 2026 11:38:29 +0430 Subject: [PATCH] Thread localized formatter into context menu copy message --- .../report/ContextMenu/BaseReportActionContextMenu.tsx | 3 ++- src/pages/inbox/report/ContextMenu/ContextMenuActions.tsx | 7 +++---- tests/unit/ContextMenuActionsCopyMessageTest.ts | 3 +++ 3 files changed, 8 insertions(+), 5 deletions(-) diff --git a/src/pages/inbox/report/ContextMenu/BaseReportActionContextMenu.tsx b/src/pages/inbox/report/ContextMenu/BaseReportActionContextMenu.tsx index f02a125ee5bc..a56d8814dbe4 100755 --- a/src/pages/inbox/report/ContextMenu/BaseReportActionContextMenu.tsx +++ b/src/pages/inbox/report/ContextMenu/BaseReportActionContextMenu.tsx @@ -163,7 +163,7 @@ function BaseReportActionContextMenu({ 'Trashcan', ]); const StyleUtils = useStyleUtils(); - const {translate, getLocalDateFromDatetime} = useLocalize(); + const {translate, getLocalDateFromDatetime, formatPhoneNumber} = useLocalize(); // eslint-disable-next-line rulesdir/prefer-shouldUseNarrowLayout-instead-of-isSmallScreenWidth const {shouldUseNarrowLayout, isSmallScreenWidth} = useResponsiveLayout(); const [shouldKeepOpen, setShouldKeepOpen] = useState(false); @@ -430,6 +430,7 @@ function BaseReportActionContextMenu({ policy, policyTags, translate, + formatPhoneNumber, harvestReport, harvestReportOriginalID, introSelected, diff --git a/src/pages/inbox/report/ContextMenu/ContextMenuActions.tsx b/src/pages/inbox/report/ContextMenu/ContextMenuActions.tsx index 67e4ef6861ee..d9b92c656c61 100644 --- a/src/pages/inbox/report/ContextMenu/ContextMenuActions.tsx +++ b/src/pages/inbox/report/ContextMenu/ContextMenuActions.tsx @@ -15,7 +15,6 @@ import EmailUtils from '@libs/EmailUtils'; import {getEnvironmentURL} from '@libs/Environment/Environment'; import fileDownload from '@libs/fileDownload'; import getAttachmentDetails from '@libs/fileDownload/getAttachmentDetails'; -import {formatPhoneNumber as formatPhoneNumberPhoneUtils} from '@libs/LocalePhoneNumber'; import {getForReportAction} from '@libs/ModifiedExpenseMessage'; import createDynamicRoute from '@libs/Navigation/helpers/dynamicRoutesUtils/createDynamicRoute'; import Navigation from '@libs/Navigation/Navigation'; @@ -337,6 +336,7 @@ type ContextMenuActionPayload = { getLocalDateFromDatetime: LocaleContextProps['getLocalDateFromDatetime']; policyTags: OnyxEntry; translate: LocalizedTranslate; + formatPhoneNumber: LocaleContextProps['formatPhoneNumber']; harvestReport?: OnyxEntry; harvestReportOriginalID?: string; introSelected: OnyxEntry; @@ -932,6 +932,7 @@ const ContextMenuActions: ContextMenuAction[] = [ getLocalDateFromDatetime, policyTags, translate, + formatPhoneNumber, harvestReport, harvestReportOriginalID, currentUserPersonalDetails, @@ -1129,9 +1130,7 @@ const ContextMenuActions: ContextMenuAction[] = [ ), ); } else if (isReimbursementQueuedAction(reportAction)) { - Clipboard.setString( - getReimbursementQueuedActionMessage({reportAction, translate, formatPhoneNumber: formatPhoneNumberPhoneUtils, report, shouldUseShortDisplayName: false}), - ); + Clipboard.setString(getReimbursementQueuedActionMessage({reportAction, translate, formatPhoneNumber, report, shouldUseShortDisplayName: false})); } else if (isActionableMentionWhisper(reportAction)) { const targetAccountIDs = getOriginalMessage(reportAction)?.inviteeAccountIDs; const mentionWhisperMessage = getActionableMentionWhisperMessage(translate, reportAction, getPersonalDetailsListByIDs(targetAccountIDs, personalDetails)); diff --git a/tests/unit/ContextMenuActionsCopyMessageTest.ts b/tests/unit/ContextMenuActionsCopyMessageTest.ts index 9e03538982f8..76f716d8c2c6 100644 --- a/tests/unit/ContextMenuActionsCopyMessageTest.ts +++ b/tests/unit/ContextMenuActionsCopyMessageTest.ts @@ -3,6 +3,8 @@ import getClipboardText from '@libs/Clipboard/getClipboardText'; import CONST from '@src/CONST'; +import {formatPhoneNumber} from '../utils/TestHelper'; + jest.mock( 'expo-web-browser', () => ({ @@ -55,6 +57,7 @@ const createPayload = (selection: string): Record => ({ getLocalDateFromDatetime: jest.fn(), policyTags: {}, translate: (translateKey: string) => translateKey, + formatPhoneNumber, currentUserPersonalDetails: { accountID: 1, login: 'user@expensify.com',