@@ -13,13 +13,13 @@ import useDebouncedState from '@hooks/useDebouncedState';
13
13
import useLocalize from '@hooks/useLocalize' ;
14
14
import useNetwork from '@hooks/useNetwork' ;
15
15
import useThemeStyles from '@hooks/useThemeStyles' ;
16
- import * as CardUtils from '@libs/CardUtils' ;
16
+ import { getDefaultCardName , getFilteredCardList , hasOnlyOneCardToAssign } from '@libs/CardUtils' ;
17
17
import { formatPhoneNumber } from '@libs/LocalePhoneNumber' ;
18
- import * as OptionsListUtils from '@libs/OptionsListUtils' ;
19
- import * as PersonalDetailsUtils from '@libs/PersonalDetailsUtils' ;
20
- import * as PolicyUtils from '@libs/PolicyUtils' ;
18
+ import { getHeaderMessage , getSearchValueForPhoneOrEmail , sortAlphabetically } from '@libs/OptionsListUtils' ;
19
+ import { getPersonalDetailByEmail } from '@libs/PersonalDetailsUtils' ;
20
+ import { getWorkspaceAccountID , isDeletedPolicyEmployee } from '@libs/PolicyUtils' ;
21
21
import Navigation from '@navigation/Navigation' ;
22
- import * as CompanyCards from '@userActions/CompanyCards' ;
22
+ import { setAssignCardStepAndData } from '@userActions/CompanyCards' ;
23
23
import CONST from '@src/CONST' ;
24
24
import ONYXKEYS from '@src/ONYXKEYS' ;
25
25
import type * as OnyxTypes from '@src/types/onyx' ;
@@ -40,11 +40,11 @@ function AssigneeStep({policy, feed}: AssigneeStepProps) {
40
40
const styles = useThemeStyles ( ) ;
41
41
const { isOffline} = useNetwork ( ) ;
42
42
const [ assignCard ] = useOnyx ( ONYXKEYS . ASSIGN_CARD ) ;
43
- const workspaceAccountID = policy ?. id ? PolicyUtils . getWorkspaceAccountID ( policy . id ) : CONST . DEFAULT_NUMBER_ID ;
43
+ const workspaceAccountID = policy ?. id ? getWorkspaceAccountID ( policy . id ) : CONST . DEFAULT_NUMBER_ID ;
44
44
45
45
const [ list ] = useOnyx ( `${ ONYXKEYS . COLLECTION . WORKSPACE_CARDS_LIST } ${ workspaceAccountID } _${ feed } ` ) ;
46
46
const [ cardFeeds ] = useOnyx ( `${ ONYXKEYS . COLLECTION . SHARED_NVP_PRIVATE_DOMAIN_MEMBER } ${ workspaceAccountID } ` ) ;
47
- const filteredCardList = CardUtils . getFilteredCardList ( list , cardFeeds ?. settings ?. oAuthAccountDetails ?. [ feed ] ) ;
47
+ const filteredCardList = getFilteredCardList ( list , cardFeeds ?. settings ?. oAuthAccountDetails ?. [ feed ] ) ;
48
48
49
49
const isEditing = assignCard ?. isEditing ;
50
50
@@ -59,26 +59,34 @@ function AssigneeStep({policy, feed}: AssigneeStepProps) {
59
59
} ;
60
60
61
61
const submit = ( ) => {
62
+ let nextStep : AssignCardStep = CONST . COMPANY_CARD . STEP . CARD ;
63
+ if ( selectedMember === assignCard ?. data ?. email ) {
64
+ setAssignCardStepAndData ( {
65
+ currentStep : isEditing ? CONST . COMPANY_CARD . STEP . CONFIRMATION : nextStep ,
66
+ isEditing : false ,
67
+ } ) ;
68
+ return ;
69
+ }
70
+
62
71
if ( ! selectedMember ) {
63
72
setShouldShowError ( true ) ;
64
73
return ;
65
74
}
66
75
67
- let nextStep : AssignCardStep = CONST . COMPANY_CARD . STEP . CARD ;
68
- const personalDetail = PersonalDetailsUtils . getPersonalDetailByEmail ( selectedMember ) ;
76
+ const personalDetail = getPersonalDetailByEmail ( selectedMember ) ;
69
77
const memberName = personalDetail ?. firstName ? personalDetail . firstName : personalDetail ?. login ;
70
78
const data : Partial < AssignCardData > = {
71
79
email : selectedMember ,
72
- cardName : CardUtils . getDefaultCardName ( memberName ) ,
80
+ cardName : getDefaultCardName ( memberName ) ,
73
81
} ;
74
82
75
- if ( CardUtils . hasOnlyOneCardToAssign ( filteredCardList ) ) {
83
+ if ( hasOnlyOneCardToAssign ( filteredCardList ) ) {
76
84
nextStep = CONST . COMPANY_CARD . STEP . TRANSACTION_START_DATE ;
77
85
data . cardNumber = Object . keys ( filteredCardList ) . at ( 0 ) ;
78
86
data . encryptedCardNumber = Object . values ( filteredCardList ) . at ( 0 ) ;
79
87
}
80
88
81
- CompanyCards . setAssignCardStepAndData ( {
89
+ setAssignCardStepAndData ( {
82
90
currentStep : isEditing ? CONST . COMPANY_CARD . STEP . CONFIRMATION : nextStep ,
83
91
data,
84
92
isEditing : false ,
@@ -87,7 +95,7 @@ function AssigneeStep({policy, feed}: AssigneeStepProps) {
87
95
88
96
const handleBackButtonPress = ( ) => {
89
97
if ( isEditing ) {
90
- CompanyCards . setAssignCardStepAndData ( {
98
+ setAssignCardStepAndData ( {
91
99
currentStep : CONST . COMPANY_CARD . STEP . CONFIRMATION ,
92
100
isEditing : false ,
93
101
} ) ;
@@ -106,11 +114,11 @@ function AssigneeStep({policy, feed}: AssigneeStepProps) {
106
114
}
107
115
108
116
Object . entries ( policy . employeeList ?? { } ) . forEach ( ( [ email , policyEmployee ] ) => {
109
- if ( PolicyUtils . isDeletedPolicyEmployee ( policyEmployee , isOffline ) ) {
117
+ if ( isDeletedPolicyEmployee ( policyEmployee , isOffline ) ) {
110
118
return ;
111
119
}
112
120
113
- const personalDetail = PersonalDetailsUtils . getPersonalDetailByEmail ( email ) ;
121
+ const personalDetail = getPersonalDetailByEmail ( email ) ;
114
122
membersList . push ( {
115
123
keyForList : email ,
116
124
text : personalDetail ?. displayName ,
@@ -129,7 +137,7 @@ function AssigneeStep({policy, feed}: AssigneeStepProps) {
129
137
} ) ;
130
138
} ) ;
131
139
132
- membersList = OptionsListUtils . sortAlphabetically ( membersList , 'text' ) ;
140
+ membersList = sortAlphabetically ( membersList , 'text' ) ;
133
141
134
142
return membersList ;
135
143
} , [ isOffline , policy ?. employeeList , selectedMember ] ) ;
@@ -144,7 +152,7 @@ function AssigneeStep({policy, feed}: AssigneeStepProps) {
144
152
] ;
145
153
}
146
154
147
- const searchValue = OptionsListUtils . getSearchValueForPhoneOrEmail ( debouncedSearchTerm ) . toLowerCase ( ) ;
155
+ const searchValue = getSearchValueForPhoneOrEmail ( debouncedSearchTerm ) . toLowerCase ( ) ;
148
156
const filteredOptions = membersDetails . filter ( ( option ) => ! ! option . text ?. toLowerCase ( ) . includes ( searchValue ) || ! ! option . alternateText ?. toLowerCase ( ) . includes ( searchValue ) ) ;
149
157
150
158
return [
@@ -159,7 +167,7 @@ function AssigneeStep({policy, feed}: AssigneeStepProps) {
159
167
const headerMessage = useMemo ( ( ) => {
160
168
const searchValue = debouncedSearchTerm . trim ( ) . toLowerCase ( ) ;
161
169
162
- return OptionsListUtils . getHeaderMessage ( sections [ 0 ] . data . length !== 0 , false , searchValue ) ;
170
+ return getHeaderMessage ( sections [ 0 ] . data . length !== 0 , false , searchValue ) ;
163
171
} , [ debouncedSearchTerm , sections ] ) ;
164
172
165
173
return (
0 commit comments