diff --git a/src/components/CurrentUserPersonalDetailsProvider.tsx b/src/components/CurrentUserPersonalDetailsProvider.tsx index 81965c11515c4..a6ba80f4eb597 100644 --- a/src/components/CurrentUserPersonalDetailsProvider.tsx +++ b/src/components/CurrentUserPersonalDetailsProvider.tsx @@ -1,9 +1,7 @@ -import React, {createContext, useCallback} from 'react'; -import type {OnyxEntry} from 'react-native-onyx'; +import React, {createContext, useMemo} from 'react'; import useOnyx from '@hooks/useOnyx'; import CONST from '@src/CONST'; import ONYXKEYS from '@src/ONYXKEYS'; -import type {PersonalDetailsList} from '@src/types/onyx'; import type {CurrentUserPersonalDetails} from '@src/types/onyx/PersonalDetails'; import {useSession} from './OnyxListItemProvider'; @@ -15,17 +13,11 @@ const CurrentUserPersonalDetailsContext = createContext): CurrentUserPersonalDetails => { - const personalDetailsForUser = (allPersonalDetails?.[userAccountID] ?? {}) as CurrentUserPersonalDetails; - personalDetailsForUser.accountID = userAccountID; - personalDetailsForUser.email = session?.email; - return personalDetailsForUser; - }, - [session?.email, userAccountID], - ); - const [currentUserPersonalDetails = defaultCurrentUserPersonalDetails] = useOnyx(ONYXKEYS.PERSONAL_DETAILS_LIST, {selector: userAccountSelector, canBeMissing: true}); + const accountID = session?.accountID ?? CONST.DEFAULT_NUMBER_ID; + const [personalDetailsList] = useOnyx(ONYXKEYS.PERSONAL_DETAILS_LIST, {canBeMissing: true}); + const currentUserPersonalDetails = useMemo(() => { + return personalDetailsList?.[accountID] ?? defaultCurrentUserPersonalDetails; + }, [personalDetailsList, accountID]); return {children}; }