Skip to content

Commit 25896c9

Browse files
committed
fix: dont use snapshot data in search page
1 parent 39080f9 commit 25896c9

2 files changed

Lines changed: 6 additions & 2 deletions

File tree

src/components/SettlementButton/index.tsx

Lines changed: 5 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -9,6 +9,7 @@ import {Bank} from '@components/Icon/Expensicons';
99
import KYCWall from '@components/KYCWall';
1010
import type {PaymentMethod} from '@components/KYCWall/types';
1111
import {LockedAccountContext} from '@components/LockedAccountModalProvider';
12+
import {useSearchContext} from '@components/Search/SearchContext';
1213
import useLocalize from '@hooks/useLocalize';
1314
import useNetwork from '@hooks/useNetwork';
1415
import useOnyx from '@hooks/useOnyx';
@@ -88,6 +89,8 @@ function SettlementButton({
8889
const styles = useThemeStyles();
8990
const {translate} = useLocalize();
9091
const {isOffline} = useNetwork();
92+
const {isOnSearch} = useSearchContext();
93+
9194
// The app would crash due to subscribing to the entire report collection if chatReportID is an empty string. So we should have a fallback ID here.
9295
// eslint-disable-next-line rulesdir/no-default-id-values
9396
const [chatReport] = useOnyx(`${ONYXKEYS.COLLECTION.REPORT}${chatReportID || CONST.DEFAULT_NUMBER_ID}`, {canBeMissing: true});
@@ -107,7 +110,7 @@ function SettlementButton({
107110
const [fundList = {}] = useOnyx(ONYXKEYS.FUND_LIST, {canBeMissing: true});
108111
const [policies] = useOnyx(ONYXKEYS.COLLECTION.POLICY, {canBeMissing: true});
109112
const currentUserAccountID = getCurrentUserAccountID().toString();
110-
const activeAdminPolicies = getActiveAdminWorkspaces(policies, currentUserAccountID).sort((a, b) => (a.name || '').localeCompare(b.name || ''));
113+
const activeAdminPolicies = getActiveAdminWorkspaces(!isOnSearch ? policies : undefined, currentUserAccountID).sort((a, b) => (a.name || '').localeCompare(b.name || ''));
111114
const reportID = iouReport?.reportID;
112115

113116
const hasPreferredPaymentMethod = !!lastPaymentMethod;
@@ -556,6 +559,7 @@ function SettlementButton({
556559
const shouldUseSplitButton = hasPreferredPaymentMethod || !!lastPaymentPolicy || ((isInvoiceReport || isExpenseReportUtil(iouReport)) && hasIntentToPay);
557560
const shouldLimitWidth = shouldUseShortForm && shouldUseSplitButton && !paymentButtonOptions.length;
558561

562+
console.log({activeAdminPolicies, policies});
559563
return (
560564
<KYCWall
561565
onSuccessfulKYC={(paymentType) => onPress(paymentType, undefined, undefined)}

src/libs/PolicyUtils.ts

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -755,7 +755,7 @@ function getPolicy(policyID: string | undefined, policies: OnyxCollection<Policy
755755
}
756756

757757
/** Return active policies where current user is an admin */
758-
function getActiveAdminWorkspaces(policies: OnyxCollection<Policy> | null, currentUserLogin: string | undefined): Policy[] {
758+
function getActiveAdminWorkspaces(policies: OnyxCollection<Policy> | null = allPolicies, currentUserLogin: string | undefined): Policy[] {
759759
const activePolicies = getActivePolicies(policies, currentUserLogin);
760760
return activePolicies.filter((policy) => shouldShowPolicy(policy, isOfflineNetworkStore(), currentUserLogin) && isPolicyAdmin(policy, currentUserLogin));
761761
}

0 commit comments

Comments
 (0)