Skip to content

Commit a3206e4

Browse files
authored
Merge pull request #56678 from cretadn22/reset-card-name-when-changing-assignee-only
Reset-card-name-when-changing-assignee-only
2 parents ead436a + 6178e06 commit a3206e4

File tree

1 file changed

+26
-18
lines changed

1 file changed

+26
-18
lines changed

src/pages/workspace/companyCards/assignCard/AssigneeStep.tsx

+26-18
Original file line numberDiff line numberDiff line change
@@ -13,13 +13,13 @@ import useDebouncedState from '@hooks/useDebouncedState';
1313
import useLocalize from '@hooks/useLocalize';
1414
import useNetwork from '@hooks/useNetwork';
1515
import useThemeStyles from '@hooks/useThemeStyles';
16-
import * as CardUtils from '@libs/CardUtils';
16+
import {getDefaultCardName, getFilteredCardList, hasOnlyOneCardToAssign} from '@libs/CardUtils';
1717
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';
2121
import Navigation from '@navigation/Navigation';
22-
import * as CompanyCards from '@userActions/CompanyCards';
22+
import {setAssignCardStepAndData} from '@userActions/CompanyCards';
2323
import CONST from '@src/CONST';
2424
import ONYXKEYS from '@src/ONYXKEYS';
2525
import type * as OnyxTypes from '@src/types/onyx';
@@ -40,11 +40,11 @@ function AssigneeStep({policy, feed}: AssigneeStepProps) {
4040
const styles = useThemeStyles();
4141
const {isOffline} = useNetwork();
4242
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;
4444

4545
const [list] = useOnyx(`${ONYXKEYS.COLLECTION.WORKSPACE_CARDS_LIST}${workspaceAccountID}_${feed}`);
4646
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]);
4848

4949
const isEditing = assignCard?.isEditing;
5050

@@ -59,26 +59,34 @@ function AssigneeStep({policy, feed}: AssigneeStepProps) {
5959
};
6060

6161
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+
6271
if (!selectedMember) {
6372
setShouldShowError(true);
6473
return;
6574
}
6675

67-
let nextStep: AssignCardStep = CONST.COMPANY_CARD.STEP.CARD;
68-
const personalDetail = PersonalDetailsUtils.getPersonalDetailByEmail(selectedMember);
76+
const personalDetail = getPersonalDetailByEmail(selectedMember);
6977
const memberName = personalDetail?.firstName ? personalDetail.firstName : personalDetail?.login;
7078
const data: Partial<AssignCardData> = {
7179
email: selectedMember,
72-
cardName: CardUtils.getDefaultCardName(memberName),
80+
cardName: getDefaultCardName(memberName),
7381
};
7482

75-
if (CardUtils.hasOnlyOneCardToAssign(filteredCardList)) {
83+
if (hasOnlyOneCardToAssign(filteredCardList)) {
7684
nextStep = CONST.COMPANY_CARD.STEP.TRANSACTION_START_DATE;
7785
data.cardNumber = Object.keys(filteredCardList).at(0);
7886
data.encryptedCardNumber = Object.values(filteredCardList).at(0);
7987
}
8088

81-
CompanyCards.setAssignCardStepAndData({
89+
setAssignCardStepAndData({
8290
currentStep: isEditing ? CONST.COMPANY_CARD.STEP.CONFIRMATION : nextStep,
8391
data,
8492
isEditing: false,
@@ -87,7 +95,7 @@ function AssigneeStep({policy, feed}: AssigneeStepProps) {
8795

8896
const handleBackButtonPress = () => {
8997
if (isEditing) {
90-
CompanyCards.setAssignCardStepAndData({
98+
setAssignCardStepAndData({
9199
currentStep: CONST.COMPANY_CARD.STEP.CONFIRMATION,
92100
isEditing: false,
93101
});
@@ -106,11 +114,11 @@ function AssigneeStep({policy, feed}: AssigneeStepProps) {
106114
}
107115

108116
Object.entries(policy.employeeList ?? {}).forEach(([email, policyEmployee]) => {
109-
if (PolicyUtils.isDeletedPolicyEmployee(policyEmployee, isOffline)) {
117+
if (isDeletedPolicyEmployee(policyEmployee, isOffline)) {
110118
return;
111119
}
112120

113-
const personalDetail = PersonalDetailsUtils.getPersonalDetailByEmail(email);
121+
const personalDetail = getPersonalDetailByEmail(email);
114122
membersList.push({
115123
keyForList: email,
116124
text: personalDetail?.displayName,
@@ -129,7 +137,7 @@ function AssigneeStep({policy, feed}: AssigneeStepProps) {
129137
});
130138
});
131139

132-
membersList = OptionsListUtils.sortAlphabetically(membersList, 'text');
140+
membersList = sortAlphabetically(membersList, 'text');
133141

134142
return membersList;
135143
}, [isOffline, policy?.employeeList, selectedMember]);
@@ -144,7 +152,7 @@ function AssigneeStep({policy, feed}: AssigneeStepProps) {
144152
];
145153
}
146154

147-
const searchValue = OptionsListUtils.getSearchValueForPhoneOrEmail(debouncedSearchTerm).toLowerCase();
155+
const searchValue = getSearchValueForPhoneOrEmail(debouncedSearchTerm).toLowerCase();
148156
const filteredOptions = membersDetails.filter((option) => !!option.text?.toLowerCase().includes(searchValue) || !!option.alternateText?.toLowerCase().includes(searchValue));
149157

150158
return [
@@ -159,7 +167,7 @@ function AssigneeStep({policy, feed}: AssigneeStepProps) {
159167
const headerMessage = useMemo(() => {
160168
const searchValue = debouncedSearchTerm.trim().toLowerCase();
161169

162-
return OptionsListUtils.getHeaderMessage(sections[0].data.length !== 0, false, searchValue);
170+
return getHeaderMessage(sections[0].data.length !== 0, false, searchValue);
163171
}, [debouncedSearchTerm, sections]);
164172

165173
return (

0 commit comments

Comments
 (0)