Skip to content

Commit 8179d43

Browse files
authored
Merge pull request Expensify#90461 from callstack-internal/perf/search-chat-list-item-self-fetch
perf(search): let ChatListItem fetch its own Onyx data
2 parents 8b47d9b + a11dabf commit 8179d43

3 files changed

Lines changed: 3 additions & 19 deletions

File tree

src/components/Search/SearchList/ListItem/ChatListItem.tsx

Lines changed: 3 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -1,4 +1,5 @@
11
import React from 'react';
2+
import {usePersonalDetails} from '@components/OnyxListItemProvider';
23
import BaseListItem from '@components/SelectionList/ListItem/BaseListItem';
34
import type {ListItem} from '@components/SelectionList/types';
45
import useAnimatedHighlightStyle from '@hooks/useAnimatedHighlightStyle';
@@ -25,11 +26,11 @@ function ChatListItem<TItem extends ListItem>({
2526
onFocus,
2627
onLongPressRow,
2728
shouldSyncFocus,
28-
personalDetails,
29-
userBillingFundID,
3029
}: ChatListItemProps<TItem>) {
3130
const reportActionItem = item as unknown as ReportActionListItemType;
3231
const [report] = useOnyx(`${ONYXKEYS.COLLECTION.REPORT}${reportActionItem?.reportID}`);
32+
const personalDetails = usePersonalDetails();
33+
const [userBillingFundID] = useOnyx(ONYXKEYS.NVP_BILLING_FUND_ID);
3334
const styles = useThemeStyles();
3435
const theme = useTheme();
3536
const animatedHighlightStyle = useAnimatedHighlightStyle({

src/components/Search/SearchList/ListItem/types.ts

Lines changed: 0 additions & 10 deletions
Original file line numberDiff line numberDiff line change
@@ -9,7 +9,6 @@ import type {
99
CardList,
1010
LastPaymentMethod,
1111
PersonalDetails,
12-
PersonalDetailsList,
1312
Policy,
1413
Report,
1514
ReportAction,
@@ -50,12 +49,6 @@ type SearchListActionProps = {
5049
type ChatListItemProps<TItem extends ListItem> = ListItemProps<TItem> & {
5150
/** The report data */
5251
report?: Report;
53-
54-
/** Personal details list */
55-
personalDetails: OnyxEntry<PersonalDetailsList>;
56-
57-
/** User billing fund ID */
58-
userBillingFundID: number | undefined;
5952
};
6053

6154
type ExpenseReportListItemProps<TItem extends ListItem> = ListItemProps<TItem> &
@@ -290,9 +283,6 @@ type TaskListItemProps<TItem extends ListItem> = ListItemProps<TItem> & {
290283

291284
/** All the data of the report collection */
292285
allReports?: OnyxCollection<Report>;
293-
294-
/** Personal details list */
295-
personalDetails: OnyxEntry<PersonalDetailsList>;
296286
};
297287

298288
type TaskListItemType = ListItem &

src/components/Search/SearchList/index.tsx

Lines changed: 0 additions & 7 deletions
Original file line numberDiff line numberDiff line change
@@ -9,7 +9,6 @@ import Animated, {Easing, FadeOutUp, LinearTransition} from 'react-native-reanim
99
import Checkbox from '@components/Checkbox';
1010
import MenuItem from '@components/MenuItem';
1111
import Modal from '@components/Modal';
12-
import {usePersonalDetails} from '@components/OnyxListItemProvider';
1312
import {PressableWithFeedback} from '@components/Pressable';
1413
import {ScrollOffsetContext} from '@components/ScrollOffsetContextProvider';
1514
import ScrollView from '@components/ScrollView';
@@ -293,9 +292,7 @@ function SearchList({
293292
const [longPressedItem, setLongPressedItem] = useState<SearchListItem>();
294293

295294
const hasItemsBeingRemoved = prevDataLength && prevDataLength > data.length;
296-
const personalDetails = usePersonalDetails();
297295

298-
const [userBillingFundID] = useOnyx(ONYXKEYS.NVP_BILLING_FUND_ID);
299296
const [lastPaymentMethod] = useOnyx(ONYXKEYS.NVP_LAST_PAYMENT_METHOD);
300297
const [personalPolicyID] = useOnyx(ONYXKEYS.PERSONAL_POLICY_ID);
301298
const [userBillingGracePeriodEnds] = useOnyx(ONYXKEYS.COLLECTION.SHARED_NVP_PRIVATE_USER_BILLING_GRACE_PERIOD_END);
@@ -445,8 +442,6 @@ function SearchList({
445442
personalPolicyID={personalPolicyID}
446443
userBillingGracePeriodEnds={userBillingGracePeriodEnds}
447444
ownerBillingGracePeriodEnd={ownerBillingGracePeriodEnd}
448-
personalDetails={personalDetails}
449-
userBillingFundID={userBillingFundID}
450445
nonPersonalAndWorkspaceCards={nonPersonalAndWorkspaceCards}
451446
onFocus={onFocus}
452447
newTransactionID={newTransactionID}
@@ -472,8 +467,6 @@ function SearchList({
472467
onCheckboxPress,
473468
canSelectMultiple,
474469
columns,
475-
personalDetails,
476-
userBillingFundID,
477470
lastPaymentMethod,
478471
personalPolicyID,
479472
userBillingGracePeriodEnds,

0 commit comments

Comments
 (0)