Skip to content

Commit 83602f3

Browse files
authored
Merge pull request Expensify#66953 from allgandalf/fixgetDisplayNameForParticipant
[Part 6]: Remove usage of Onyx.connect for ONYXKEYS.COUNTRY_CODE
2 parents 4565929 + 10afacd commit 83602f3

16 files changed

Lines changed: 182 additions & 71 deletions

src/components/ReportActionAvatars/useReportActionAvatars.ts

Lines changed: 3 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,7 @@
11
import type {OnyxEntry} from 'react-native-onyx';
22
import type {ValueOf} from 'type-fest';
33
import {FallbackAvatar} from '@components/Icon/Expensicons';
4+
import useLocalize from '@hooks/useLocalize';
45
import useOnyx from '@hooks/useOnyx';
56
import usePolicy from '@hooks/usePolicy';
67
import useReportIsArchived from '@hooks/useReportIsArchived';
@@ -44,6 +45,7 @@ function useReportActionAvatars({
4445
const [personalDetails] = useOnyx(ONYXKEYS.PERSONAL_DETAILS_LIST, {
4546
canBeMissing: true,
4647
});
48+
const {formatPhoneNumber} = useLocalize();
4749

4850
const isReportAChatReport = report?.type === CONST.REPORT.TYPE.CHAT && report?.chatType !== CONST.REPORT.CHAT_TYPE.TRIP_ROOM;
4951

@@ -180,8 +182,7 @@ function useReportActionAvatars({
180182
// eslint-disable-next-line @typescript-eslint/prefer-nullish-coalescing
181183
const accountID = reportPreviewSenderID || (actorAccountID ?? CONST.DEFAULT_NUMBER_ID);
182184
const {avatar, fallbackIcon, login} = personalDetails?.[delegatePersonalDetails ? delegatePersonalDetails.accountID : accountID] ?? {};
183-
184-
const defaultDisplayName = getDisplayNameForParticipant({accountID, personalDetailsData: personalDetails}) ?? '';
185+
const defaultDisplayName = getDisplayNameForParticipant({formatPhoneNumber, accountID, personalDetailsData: personalDetails}) ?? '';
185186
const invoiceReport = [iouReport, chatReport, reportChatReport].find((susReport) => isInvoiceReport(susReport) || susReport?.chatType === CONST.REPORT.TYPE.INVOICE);
186187
const isNestedInInvoiceReport = !!invoiceReport;
187188
const isWorkspaceActor = isAInvoiceReport || (isAWorkspaceChat && (!actorAccountID || displayAllActors));

src/components/ReportActionItem/MoneyRequestReportPreview/MoneyRequestReportPreviewContent.tsx

Lines changed: 4 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -120,7 +120,7 @@ function MoneyRequestReportPreviewContent({
120120
const theme = useTheme();
121121
const styles = useThemeStyles();
122122
const StyleUtils = useStyleUtils();
123-
const {translate} = useLocalize();
123+
const {translate, formatPhoneNumber} = useLocalize();
124124
const {isOffline} = useNetwork();
125125
const {shouldUseNarrowLayout} = useResponsiveLayout();
126126

@@ -249,7 +249,7 @@ function MoneyRequestReportPreviewContent({
249249
} else if (isInvoiceRoom) {
250250
payerOrApproverName = getInvoicePayerName(chatReport, invoiceReceiverPolicy, invoiceReceiverPersonalDetail);
251251
} else {
252-
payerOrApproverName = getDisplayNameForParticipant({accountID: managerID, shouldUseShortForm: true});
252+
payerOrApproverName = getDisplayNameForParticipant({accountID: managerID, shouldUseShortForm: true, formatPhoneNumber});
253253
}
254254

255255
if (isApproved) {
@@ -260,7 +260,7 @@ function MoneyRequestReportPreviewContent({
260260
paymentVerb = 'iou.payerPaid';
261261
} else if (hasNonReimbursableTransactions) {
262262
paymentVerb = 'iou.payerSpent';
263-
payerOrApproverName = getDisplayNameForParticipant({accountID: chatReport?.ownerAccountID, shouldUseShortForm: true});
263+
payerOrApproverName = getDisplayNameForParticipant({accountID: chatReport?.ownerAccountID, shouldUseShortForm: true, formatPhoneNumber});
264264
}
265265
return translate(paymentVerb, {payer: payerOrApproverName});
266266
}, [
@@ -282,6 +282,7 @@ function MoneyRequestReportPreviewContent({
282282
invoiceReceiverPolicy,
283283
invoiceReceiverPersonalDetail,
284284
managerID,
285+
formatPhoneNumber,
285286
]);
286287

287288
/*

src/components/ReportActionItem/TaskView.tsx

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -44,7 +44,7 @@ type TaskViewProps = {
4444
};
4545

4646
function TaskView({report, parentReport, action}: TaskViewProps) {
47-
const {translate, localeCompare} = useLocalize();
47+
const {translate, localeCompare, formatPhoneNumber} = useLocalize();
4848
const styles = useThemeStyles();
4949
const StyleUtils = useStyleUtils();
5050
const currentUserPersonalDetails = useCurrentUserPersonalDetails();
@@ -178,7 +178,7 @@ function TaskView({report, parentReport, action}: TaskViewProps) {
178178
{report?.managerID ? (
179179
<MenuItem
180180
label={translate('task.assignee')}
181-
title={getDisplayNameForParticipant({accountID: report.managerID})}
181+
title={getDisplayNameForParticipant({formatPhoneNumber, accountID: report.managerID})}
182182
iconAccountID={report.managerID}
183183
iconType={CONST.ICON_TYPE_AVATAR}
184184
avatarSize={CONST.AVATAR_SIZE.SMALLER}

src/components/Search/SearchFiltersParticipantsSelector.tsx

Lines changed: 3 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -39,7 +39,7 @@ type SearchFiltersParticipantsSelectorProps = {
3939
};
4040

4141
function SearchFiltersParticipantsSelector({initialAccountIDs, onFiltersUpdate}: SearchFiltersParticipantsSelectorProps) {
42-
const {translate} = useLocalize();
42+
const {translate, formatPhoneNumber} = useLocalize();
4343
const personalDetails = usePersonalDetails();
4444
const {didScreenTransitionEnd} = useScreenWrapperTransitionStatus();
4545
const {options, areOptionsInitialized} = useOptionsList({
@@ -118,6 +118,7 @@ function SearchFiltersParticipantsSelector({initialAccountIDs, onFiltersUpdate}:
118118
// If the current user is not selected, add them to the top of the list
119119
if (!selectedCurrentUser && chatOptions.currentUserOption) {
120120
const formattedName = getDisplayNameForParticipant({
121+
formatPhoneNumber,
121122
accountID: chatOptions.currentUserOption.accountID,
122123
shouldAddCurrentUserPostfix: true,
123124
personalDetailsData: personalDetails,
@@ -152,7 +153,7 @@ function SearchFiltersParticipantsSelector({initialAccountIDs, onFiltersUpdate}:
152153
sections: newSections,
153154
headerMessage: message,
154155
};
155-
}, [areOptionsInitialized, cleanSearchTerm, selectedOptions, chatOptions, personalDetails, reportAttributesDerived, translate]);
156+
}, [areOptionsInitialized, cleanSearchTerm, selectedOptions, chatOptions, personalDetails, reportAttributesDerived, translate, formatPhoneNumber]);
156157

157158
const resetChanges = useCallback(() => {
158159
setSelectedOptions([]);

src/components/SelectionList/Search/UserSelectionListItem.tsx

Lines changed: 4 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -9,6 +9,7 @@ import BaseListItem from '@components/SelectionList/BaseListItem';
99
import type {ListItem, UserSelectionListItemProps} from '@components/SelectionList/types';
1010
import TextWithTooltip from '@components/TextWithTooltip';
1111
import useCurrentUserPersonalDetails from '@hooks/useCurrentUserPersonalDetails';
12+
import useLocalize from '@hooks/useLocalize';
1213
import useStyleUtils from '@hooks/useStyleUtils';
1314
import useTheme from '@hooks/useTheme';
1415
import useThemeStyles from '@hooks/useThemeStyles';
@@ -36,7 +37,7 @@ function UserSelectionListItem<TItem extends ListItem>({
3637
const theme = useTheme();
3738
const StyleUtils = useStyleUtils();
3839
const currentUserPersonalDetails = useCurrentUserPersonalDetails();
39-
40+
const {formatPhoneNumber} = useLocalize();
4041
const handleCheckboxPress = useCallback(() => {
4142
if (onCheckboxPress) {
4243
onCheckboxPress(item);
@@ -59,9 +60,10 @@ function UserSelectionListItem<TItem extends ListItem>({
5960

6061
const userDisplayName = useMemo(() => {
6162
return getDisplayNameForParticipant({
63+
formatPhoneNumber,
6264
accountID: item.accountID ?? CONST.DEFAULT_NUMBER_ID,
6365
});
64-
}, [item.accountID]);
66+
}, [item.accountID, formatPhoneNumber]);
6567

6668
return (
6769
<BaseListItem

src/libs/NextStepUtils.ts

Lines changed: 6 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -9,6 +9,7 @@ import type {Beta, Policy, Report, ReportNextStep, Transaction, TransactionViola
99
import type {Message} from '@src/types/onyx/ReportNextStep';
1010
import type DeepValueOf from '@src/types/utils/DeepValueOf';
1111
import EmailUtils from './EmailUtils';
12+
import {formatPhoneNumber} from './LocalePhoneNumber';
1213
import Permissions from './Permissions';
1314
import {getLoginsByAccountIDs, getPersonalDetailsByIDs} from './PersonalDetailsUtils';
1415
import {getApprovalWorkflow, getCorrectedAutoReportingFrequency, getReimburserAccountID} from './PolicyUtils';
@@ -97,7 +98,7 @@ function parseMessage(messages: Message[] | undefined) {
9798
function getNextApproverDisplayName(report: OnyxEntry<Report>, isUnapprove?: boolean) {
9899
const approverAccountID = getNextApproverAccountID(report, isUnapprove);
99100

100-
return getDisplayNameForParticipant({accountID: approverAccountID}) ?? getPersonalDetailsForAccountID(approverAccountID).login;
101+
return getDisplayNameForParticipant({formatPhoneNumber, accountID: approverAccountID}) ?? getPersonalDetailsForAccountID(approverAccountID).login;
101102
}
102103

103104
function buildOptimisticNextStepForPreventSelfApprovalsEnabled() {
@@ -216,8 +217,9 @@ function buildNextStep(
216217
(report.unheldNonReimbursableTotal !== 0 && report.unheldNonReimbursableTotal !== undefined));
217218
const {reimbursableSpend} = getMoneyRequestSpendBreakdown(report);
218219

219-
const ownerDisplayName = ownerPersonalDetails?.displayName ?? ownerPersonalDetails?.login ?? getDisplayNameForParticipant({accountID: ownerAccountID});
220-
const policyOwnerDisplayName = policyOwnerPersonalDetails?.displayName ?? policyOwnerPersonalDetails?.login ?? getDisplayNameForParticipant({accountID: policy.ownerAccountID});
220+
const ownerDisplayName = ownerPersonalDetails?.displayName ?? ownerPersonalDetails?.login ?? getDisplayNameForParticipant({formatPhoneNumber, accountID: ownerAccountID});
221+
const policyOwnerDisplayName =
222+
policyOwnerPersonalDetails?.displayName ?? policyOwnerPersonalDetails?.login ?? getDisplayNameForParticipant({formatPhoneNumber, accountID: policy.ownerAccountID});
221223
const nextApproverDisplayName = getNextApproverDisplayName(report, isUnapprove);
222224
const approverAccountID = getNextApproverAccountID(report, isUnapprove);
223225
const approvers = getLoginsByAccountIDs([approverAccountID ?? CONST.DEFAULT_NUMBER_ID]);
@@ -525,7 +527,7 @@ function buildNextStep(
525527
text: 'an admin',
526528
}
527529
: {
528-
text: getDisplayNameForParticipant({accountID: reimburserAccountID}),
530+
text: getDisplayNameForParticipant({formatPhoneNumber, accountID: reimburserAccountID}),
529531
type: 'strong',
530532
},
531533
{

src/libs/OptionsListUtils.ts

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -1004,11 +1004,11 @@ function createOption(
10041004
result.alternateText = showPersonalDetails && personalDetail?.login ? personalDetail.login : getAlternateText(result, {showChatPreviewLine, forcePolicyNamePreview});
10051005

10061006
reportName = showPersonalDetails
1007-
? getDisplayNameForParticipant({accountID: accountIDs.at(0)}) || formatPhoneNumber(personalDetail?.login ?? '')
1007+
? getDisplayNameForParticipant({formatPhoneNumber, accountID: accountIDs.at(0)}) || formatPhoneNumber(personalDetail?.login ?? '')
10081008
: getReportName(report, undefined, undefined, undefined, undefined, undefined, transactions);
10091009
} else {
10101010
// eslint-disable-next-line @typescript-eslint/prefer-nullish-coalescing
1011-
reportName = getDisplayNameForParticipant({accountID: accountIDs.at(0)}) || formatPhoneNumber(personalDetail?.login ?? '');
1011+
reportName = getDisplayNameForParticipant({formatPhoneNumber, accountID: accountIDs.at(0)}) || formatPhoneNumber(personalDetail?.login ?? '');
10121012
result.keyForList = String(accountIDs.at(0));
10131013

10141014
result.alternateText = formatPhoneNumber(personalDetails?.[accountIDs[0]]?.login ?? '');

0 commit comments

Comments
 (0)