File tree Expand file tree Collapse file tree
Expand file tree Collapse file tree Original file line number Diff line number Diff line change 11import { delegateEmailSelector } from '@selectors/Account' ;
2+ import { useCallback } from 'react' ;
23import ONYXKEYS from '@src/ONYXKEYS' ;
4+ import type { PersonalDetailsList } from '@src/types/onyx' ;
35import useOnyx from './useOnyx' ;
4- import usePersonalDetailsByLogin from './usePersonalDetailsByLogin' ;
56
67function useDelegateAccountID ( ) : number | undefined {
78 const [ delegateEmail ] = useOnyx ( ONYXKEYS . ACCOUNT , { selector : delegateEmailSelector } ) ;
8- const personalDetailsByLogin = usePersonalDetailsByLogin ( ) ;
9+ const normalizedEmail = delegateEmail ?. toLowerCase ( ) ;
910
10- return delegateEmail ? personalDetailsByLogin [ delegateEmail . toLowerCase ( ) ] ?. accountID : undefined ;
11+ const selector = useCallback (
12+ ( personalDetails : PersonalDetailsList | null | undefined ) : number | undefined => {
13+ if ( ! normalizedEmail || ! personalDetails ) {
14+ return undefined ;
15+ }
16+ return Object . values ( personalDetails ) . find ( ( detail ) => detail ?. login ?. toLowerCase ( ) === normalizedEmail ) ?. accountID ;
17+ } ,
18+ [ normalizedEmail ] ,
19+ ) ;
20+
21+ const [ delegateAccountID ] = useOnyx ( ONYXKEYS . PERSONAL_DETAILS_LIST , { selector} ) ;
22+
23+ return delegateAccountID ;
1124}
1225
1326export default useDelegateAccountID ;
You can’t perform that action at this time.
0 commit comments