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 type { OnyxEntry } from 'react-native-onyx' ;
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 lowerEmail = delegateEmail ?. toLowerCase ( ) ;
910
10- return delegateEmail ? personalDetailsByLogin [ delegateEmail . toLowerCase ( ) ] ?. accountID : undefined ;
11+ const [ accountID ] = useOnyx ( ONYXKEYS . PERSONAL_DETAILS_LIST , {
12+ selector : ( personalDetails : OnyxEntry < PersonalDetailsList > ) => {
13+ if ( ! lowerEmail || ! personalDetails ) {
14+ return undefined ;
15+ }
16+ for ( const detail of Object . values ( personalDetails ) ) {
17+ if ( detail ?. login ?. toLowerCase ( ) === lowerEmail ) {
18+ return detail . accountID ;
19+ }
20+ }
21+ return undefined ;
22+ } ,
23+ } ) ;
24+
25+ return accountID ;
1126}
1227
1328export default useDelegateAccountID ;
You can’t perform that action at this time.
0 commit comments