From dbef0e9dab1f4147f7f2adc3c4ad0d858c59b46e Mon Sep 17 00:00:00 2001 From: Shubham Agrawal Date: Thu, 12 Mar 2026 15:52:04 +0530 Subject: [PATCH] Refactor: isolate setContactMethodAsDefault from Onyx.connect ONYXKEYS.COLLECTION.POLICY --- src/libs/actions/User.ts | 10 ++-------- .../Profile/Contacts/ContactMethodDetailsPage.tsx | 5 +++-- 2 files changed, 5 insertions(+), 10 deletions(-) diff --git a/src/libs/actions/User.ts b/src/libs/actions/User.ts index 191c7e59c8dd..5d5efc456649 100644 --- a/src/libs/actions/User.ts +++ b/src/libs/actions/User.ts @@ -74,13 +74,6 @@ Onyx.connect({ }, }); -let allPolicies: OnyxCollection; -Onyx.connect({ - key: ONYXKEYS.COLLECTION.POLICY, - waitForCollectionCallback: true, - callback: (value) => (allPolicies = value), -}); - type DomainOnyxUpdate = | OnyxUpdate<`${typeof ONYXKEYS.COLLECTION.DOMAIN}${string}`> | OnyxUpdate<`${typeof ONYXKEYS.COLLECTION.DOMAIN_PENDING_ACTIONS}${string}`> @@ -1056,6 +1049,7 @@ function generateStatementPDF(period: string) { */ function setContactMethodAsDefault( currentUserPersonalDetails: OnyxEntry, + policies: OnyxCollection, newDefaultContactMethod: string, formatPhoneNumber: LocaleContextProps['formatPhoneNumber'], backTo?: string, @@ -1156,7 +1150,7 @@ function setContactMethodAsDefault( }, ]; - for (const policy of Object.values(allPolicies ?? {})) { + for (const policy of Object.values(policies ?? {})) { if (!policy) { continue; } diff --git a/src/pages/settings/Profile/Contacts/ContactMethodDetailsPage.tsx b/src/pages/settings/Profile/Contacts/ContactMethodDetailsPage.tsx index b564b9aee230..d521ff65d88f 100644 --- a/src/pages/settings/Profile/Contacts/ContactMethodDetailsPage.tsx +++ b/src/pages/settings/Profile/Contacts/ContactMethodDetailsPage.tsx @@ -58,6 +58,7 @@ function ContactMethodDetailsPage({route}: ContactMethodDetailsPageProps) { const [myDomainSecurityGroups, myDomainSecurityGroupsResult] = useOnyx(ONYXKEYS.MY_DOMAIN_SECURITY_GROUPS); const [securityGroups, securityGroupsResult] = useOnyx(ONYXKEYS.COLLECTION.SECURITY_GROUP); const [isLoadingReportData = true, isLoadingReportDataResult] = useOnyx(ONYXKEYS.IS_LOADING_REPORT_DATA); + const [allPolicies] = useOnyx(ONYXKEYS.COLLECTION.POLICY); const [isValidateCodeFormVisible, setIsValidateCodeFormVisible] = useState(true); const {isActingAsDelegate} = useDelegateNoAccessState(); const {showDelegateNoAccessModal} = useDelegateNoAccessActions(); @@ -92,8 +93,8 @@ function ContactMethodDetailsPage({route}: ContactMethodDetailsPageProps) { * Attempt to set this contact method as user's "Default contact method" */ const setAsDefault = useCallback(() => { - setContactMethodAsDefault(currentUserPersonalDetails, contactMethod, formatPhoneNumber, backTo); - }, [currentUserPersonalDetails, contactMethod, formatPhoneNumber, backTo]); + setContactMethodAsDefault(currentUserPersonalDetails, allPolicies, contactMethod, formatPhoneNumber, backTo); + }, [currentUserPersonalDetails, allPolicies, contactMethod, formatPhoneNumber, backTo]); /** * Determines whether the user's primary login switching is restricted