Skip to content

Commit 830e3aa

Browse files
authored
Merge pull request #78336 from allgandalf/part10
[Part 10] Remove Onyx.connect() for the key: ONYXKEYS.COUNTRY_CODE in src/libs/LocalePhoneNumber.ts
2 parents 87a40e6 + 3e3d06a commit 830e3aa

File tree

5 files changed

+28
-13
lines changed

5 files changed

+28
-13
lines changed

src/components/ReportActionAvatars/ReportActionAvatar.tsx

Lines changed: 10 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -327,7 +327,7 @@ function ReportActionAvatarMultipleHorizontal({
327327
const theme = useTheme();
328328
const styles = useThemeStyles();
329329
const StyleUtils = useStyleUtils();
330-
const {localeCompare} = useLocalize();
330+
const {localeCompare, formatPhoneNumber} = useLocalize();
331331

332332
const [personalDetails] = useOnyx(ONYXKEYS.PERSONAL_DETAILS_LIST, {
333333
canBeMissing: true,
@@ -368,7 +368,10 @@ function ReportActionAvatarMultipleHorizontal({
368368
return [firstRow, secondRow];
369369
}, [icons, maxAvatarsInRow, shouldDisplayAvatarsInRows]);
370370

371-
const tooltipTexts = useMemo(() => (shouldShowTooltip ? icons.map((icon) => getUserDetailTooltipText(Number(icon.id), icon.name)) : ['']), [shouldShowTooltip, icons]);
371+
const tooltipTexts = useMemo(
372+
() => (shouldShowTooltip ? icons.map((icon) => getUserDetailTooltipText(Number(icon.id), formatPhoneNumber, icon.name)) : ['']),
373+
[shouldShowTooltip, icons, formatPhoneNumber],
374+
);
372375

373376
return avatarRows.map((avatars, rowIndex) => (
374377
<View
@@ -478,8 +481,12 @@ function ReportActionAvatarMultipleDiagonal({
478481
const theme = useTheme();
479482
const styles = useThemeStyles();
480483
const StyleUtils = useStyleUtils();
484+
const {formatPhoneNumber} = useLocalize();
481485

482-
const tooltipTexts = useMemo(() => (shouldShowTooltip ? icons.map((icon) => getUserDetailTooltipText(Number(icon.id), icon.name)) : ['']), [shouldShowTooltip, icons]);
486+
const tooltipTexts = useMemo(
487+
() => (shouldShowTooltip ? icons.map((icon) => getUserDetailTooltipText(Number(icon.id), formatPhoneNumber, icon.name)) : ['']),
488+
[shouldShowTooltip, icons, formatPhoneNumber],
489+
);
483490
const removeRightMargin = icons.length === 2 && size === CONST.AVATAR_SIZE.X_LARGE;
484491
const avatarContainerStyles = StyleUtils.getContainerStyles(size, isInReportAction);
485492

src/components/UserDetailsTooltip/BaseUserDetailsTooltip/index.tsx

Lines changed: 4 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -1,4 +1,3 @@
1-
import {Str} from 'expensify-common';
21
import React, {useCallback} from 'react';
32
import {View} from 'react-native';
43
import Avatar from '@components/Avatar';
@@ -22,8 +21,8 @@ function BaseUserDetailsTooltip({accountID, fallbackUserDetails, icon, delegateA
2221
const isCurrentUserAnonymous = session?.accountID === accountID && isAnonymousUser(session);
2322

2423
const userDetails = personalDetails?.[accountID] ?? fallbackUserDetails ?? {};
25-
let userDisplayName = getUserDetailTooltipText(accountID, userDetails.displayName ? userDetails.displayName.trim() : '');
26-
let userLogin = !isCurrentUserAnonymous && userDetails.login?.trim() && userDetails.login !== userDetails.displayName ? Str.removeSMSDomain(userDetails.login) : '';
24+
let userDisplayName = getUserDetailTooltipText(accountID, formatPhoneNumber, userDetails.displayName ? userDetails.displayName.trim() : '');
25+
let userLogin = !isCurrentUserAnonymous && userDetails.login?.trim() && userDetails.login !== userDetails.displayName ? formatPhoneNumber(userDetails.login) : '';
2726

2827
let userAvatar = userDetails.avatar;
2928
let userAccountID = accountID;
@@ -32,15 +31,15 @@ function BaseUserDetailsTooltip({accountID, fallbackUserDetails, icon, delegateA
3231
// the Copilot feature is implemented.
3332
if (delegateAccountID && delegateAccountID > 0) {
3433
const delegateUserDetails = personalDetails?.[delegateAccountID];
35-
const delegateUserDisplayName = getUserDetailTooltipText(delegateAccountID);
34+
const delegateUserDisplayName = getUserDetailTooltipText(delegateAccountID, formatPhoneNumber);
3635
userDisplayName = `${delegateUserDisplayName} (${translate('reportAction.asCopilot')} ${userDisplayName})`;
3736
userLogin = delegateUserDetails?.login ?? '';
3837
userAvatar = delegateUserDetails?.avatar;
3938
userAccountID = delegateAccountID;
4039
}
4140

4241
let title = String(userDisplayName).trim() ? userDisplayName : '';
43-
let subtitle = userLogin.trim() && formatPhoneNumber(userLogin) !== userDisplayName ? Str.removeSMSDomain(userLogin) : '';
42+
let subtitle = userLogin.trim() && formatPhoneNumber(userLogin) !== userDisplayName ? formatPhoneNumber(userLogin) : '';
4443
if (icon && (icon.type === CONST.ICON_TYPE_WORKSPACE || !title)) {
4544
title = icon.name ?? '';
4645

src/libs/OptionsListUtils/index.ts

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -669,7 +669,7 @@ function getLastMessageTextForReport({
669669
lastMessageTextFromReport = formatReportLastMessageText(Parser.htmlToText(reportPreviewMessage));
670670
}
671671
} else if (isReimbursementQueuedAction(lastReportAction)) {
672-
lastMessageTextFromReport = getReimbursementQueuedActionMessage({reportAction: lastReportAction, reportOrID: report});
672+
lastMessageTextFromReport = getReimbursementQueuedActionMessage({reportAction: lastReportAction, formatPhoneNumber: formatPhoneNumberPhoneUtils, reportOrID: report});
673673
} else if (isReimbursementDeQueuedOrCanceledAction(lastReportAction)) {
674674
lastMessageTextFromReport = getReimbursementDeQueuedOrCanceledActionMessage(lastReportAction, report);
675675
} else if (isDeletedParentAction(lastReportAction) && reportUtilsIsChatReport(report)) {

src/libs/ReportUtils.ts

Lines changed: 9 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -3932,8 +3932,8 @@ function getDisplayNamesWithTooltips(
39323932
/**
39333933
* Returns the the display names of the given user accountIDs
39343934
*/
3935-
function getUserDetailTooltipText(accountID: number, fallbackUserDisplayName = ''): string {
3936-
const displayNameForParticipant = getDisplayNameForParticipant({accountID, formatPhoneNumber: formatPhoneNumberPhoneUtils});
3935+
function getUserDetailTooltipText(accountID: number, formatPhoneNumber: LocaleContextProps['formatPhoneNumber'], fallbackUserDisplayName = ''): string {
3936+
const displayNameForParticipant = getDisplayNameForParticipant({accountID, formatPhoneNumber});
39373937
return displayNameForParticipant || fallbackUserDisplayName;
39383938
}
39393939

@@ -3961,12 +3961,14 @@ function getDeletedParentActionMessageForChatReport(reportAction: OnyxEntry<Repo
39613961
function getReimbursementQueuedActionMessage({
39623962
reportAction,
39633963
reportOrID,
3964+
formatPhoneNumber,
39643965
shouldUseShortDisplayName = true,
39653966
reports,
39663967
personalDetails,
39673968
}: {
39683969
reportAction: OnyxEntry<ReportAction<typeof CONST.REPORT.ACTIONS.TYPE.REIMBURSEMENT_QUEUED>>;
39693970
reportOrID: OnyxEntry<Report> | string;
3971+
formatPhoneNumber: LocaleContextProps['formatPhoneNumber'];
39703972
shouldUseShortDisplayName?: boolean;
39713973
reports?: Report[];
39723974
personalDetails?: Partial<PersonalDetailsList>;
@@ -3977,7 +3979,7 @@ function getReimbursementQueuedActionMessage({
39773979
accountID: report?.ownerAccountID,
39783980
shouldUseShortForm: shouldUseShortDisplayName,
39793981
personalDetailsData: personalDetails,
3980-
formatPhoneNumber: formatPhoneNumberPhoneUtils,
3982+
formatPhoneNumber,
39813983
}) ?? '';
39823984
const originalMessage = getOriginalMessage(reportAction);
39833985
let messageKey: TranslationPaths;
@@ -5620,12 +5622,14 @@ function parseReportActionHtmlToText(reportAction: OnyxEntry<ReportAction>, repo
56205622
*/
56215623
function getReportActionMessage({
56225624
reportAction,
5625+
formatPhoneNumber,
56235626
reportID,
56245627
childReportID,
56255628
reports,
56265629
personalDetails,
56275630
}: {
56285631
reportAction: OnyxEntry<ReportAction>;
5632+
formatPhoneNumber: LocaleContextProps['formatPhoneNumber'];
56295633
reportID?: string;
56305634
childReportID?: string;
56315635
reports?: Report[];
@@ -5665,6 +5669,7 @@ function getReportActionMessage({
56655669
return getReimbursementQueuedActionMessage({
56665670
reportAction,
56675671
reportOrID: getReportOrDraftReport(reportID, reports),
5672+
formatPhoneNumber,
56685673
shouldUseShortDisplayName: false,
56695674
reports,
56705675
personalDetails,
@@ -6040,6 +6045,7 @@ function getReportName(
60406045
const isAttachment = isReportActionAttachment(!isEmptyObject(parentReportAction) ? parentReportAction : undefined);
60416046
const reportActionMessage = getReportActionMessage({
60426047
reportAction: parentReportAction,
6048+
formatPhoneNumber: formatPhoneNumberPhoneUtils,
60436049
reportID: report?.parentReportID,
60446050
childReportID: report?.reportID,
60456051
reports,

src/pages/home/report/ContextMenu/ContextMenuActions.tsx

Lines changed: 4 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -17,6 +17,7 @@ import EmailUtils from '@libs/EmailUtils';
1717
import {getEnvironmentURL} from '@libs/Environment/Environment';
1818
import fileDownload from '@libs/fileDownload';
1919
import getAttachmentDetails from '@libs/fileDownload/getAttachmentDetails';
20+
import {formatPhoneNumber as formatPhoneNumberPhoneUtils} from '@libs/LocalePhoneNumber';
2021
import {getForReportActionTemp} from '@libs/ModifiedExpenseMessage';
2122
import Navigation from '@libs/Navigation/Navigation';
2223
import Parser from '@libs/Parser';
@@ -756,7 +757,9 @@ const ContextMenuActions: ContextMenuAction[] = [
756757
} else if (isActionOfType(reportAction, CONST.REPORT.ACTIONS.TYPE.MARKED_REIMBURSED)) {
757758
Clipboard.setString(translate('iou.paidElsewhere'));
758759
} else if (isReimbursementQueuedAction(reportAction)) {
759-
Clipboard.setString(getReimbursementQueuedActionMessage({reportAction, reportOrID: reportID, shouldUseShortDisplayName: false}));
760+
Clipboard.setString(
761+
getReimbursementQueuedActionMessage({reportAction, formatPhoneNumber: formatPhoneNumberPhoneUtils, reportOrID: reportID, shouldUseShortDisplayName: false}),
762+
);
760763
} else if (isActionableMentionWhisper(reportAction)) {
761764
const mentionWhisperMessage = getActionableMentionWhisperMessage(reportAction);
762765
setClipboardMessage(mentionWhisperMessage);

0 commit comments

Comments
 (0)