Skip to content

Commit b1784d6

Browse files
committed
refactor: replace string literals with FORM_MODE constants in profile fields components
1 parent 1e2a01e commit b1784d6

File tree

5 files changed

+29
-20
lines changed

5 files changed

+29
-20
lines changed

src/profile/extended-profile/ExtendedProfileProvider.jsx

Lines changed: 4 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -4,9 +4,11 @@ import ExtendedProfileFieldsContext from './ExtendedProfileContext';
44
import { getExtendedProfileFields } from './data/service';
55
import { patchProfile } from '../data/services';
66

7+
import { FORM_MODE } from './constants';
8+
79
const ExtendedProfileFieldsProvider = ({ children }) => {
810
const [extendedProfileFields, setExtendedProfileFields] = useState();
9-
const [editMode, setEditMode] = useState('editable');
11+
const [editMode, setEditMode] = useState(FORM_MODE.EDITABLE);
1012
const [editingInput, setEditingInput] = useState(null);
1113
const [saveState, setSaveState] = useState('default');
1214

@@ -27,7 +29,7 @@ const ExtendedProfileFieldsProvider = ({ children }) => {
2729
};
2830

2931
const handleResetFormEdition = () => {
30-
setEditMode('editable');
32+
setEditMode(FORM_MODE.EDITABLE);
3133
setEditingInput(null);
3234
setSaveState('default');
3335
};

src/profile/extended-profile/profile-fields/elements/CheckboxField.jsx

Lines changed: 8 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -12,6 +12,8 @@ import EmptyContent from '../../../forms/elements/EmptyContent';
1212
import EditableItemHeader from '../../../forms/elements/EditableItemHeader';
1313
import messages from '../../messages';
1414

15+
import { FORM_MODE } from '../../constants';
16+
1517
const CheckboxField = (props) => {
1618
const {
1719
name: fieldName,
@@ -49,11 +51,11 @@ const CheckboxField = (props) => {
4951
}, [draftValue?.length]);
5052

5153
const handleStartEditing = () => {
52-
setFormMode('editing', fieldName);
54+
setFormMode(FORM_MODE.EDITING, fieldName);
5355
};
5456

5557
const handleCancelEditing = () => {
56-
setFormMode('editable');
58+
setFormMode(FORM_MODE.EDITABLE);
5759
setDraftValue(fieldValue);
5860
};
5961

@@ -66,17 +68,17 @@ const CheckboxField = (props) => {
6668
handleFormSubmit(fieldName, draftValue);
6769
};
6870

69-
const isFieldBeingEdited = formEditMode === 'editing' && activeFieldName === fieldName;
71+
const isFieldBeingEdited = formEditMode === FORM_MODE.EDITING && activeFieldName === fieldName;
7072
const isFieldEmpty = draftValue === '' || !draftValue;
7173

7274
const getFieldDisplayMode = () => {
7375
if (isFieldBeingEdited) {
74-
return 'editing';
76+
return FORM_MODE.EDITING;
7577
}
7678
if (isFieldEmpty) {
77-
return 'empty';
79+
return FORM_MODE.EMPTY;
7880
}
79-
return 'editable';
81+
return FORM_MODE.EDITABLE;
8082
};
8183

8284
return (

src/profile/extended-profile/profile-fields/elements/SelectField.jsx

Lines changed: 8 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -11,6 +11,8 @@ import EmptyContent from '../../../forms/elements/EmptyContent';
1111
import EditableItemHeader from '../../../forms/elements/EditableItemHeader';
1212
import messages from '../../messages';
1313

14+
import { FORM_MODE } from '../../constants';
15+
1416
const SelectField = (props) => {
1517
const {
1618
name: fieldName,
@@ -51,11 +53,11 @@ const SelectField = (props) => {
5153
}, [draftValue?.length]);
5254

5355
const handleStartEditing = () => {
54-
setFormMode('editing', fieldName);
56+
setFormMode(FORM_MODE.EDITING, fieldName);
5557
};
5658

5759
const handleCancelEditing = () => {
58-
setFormMode('editable');
60+
setFormMode(FORM_MODE.EDITABLE);
5961
setDraftValue(fieldValue);
6062
};
6163

@@ -68,17 +70,17 @@ const SelectField = (props) => {
6870
handleFormSubmit(fieldName, draftValue);
6971
};
7072

71-
const isFieldBeingEdited = formEditMode === 'editing' && activeFieldName === fieldName;
73+
const isFieldBeingEdited = formEditMode === FORM_MODE.EDITING && activeFieldName === fieldName;
7274
const isFieldEmpty = draftValue === '' || !draftValue;
7375

7476
const getFieldDisplayMode = () => {
7577
if (isFieldBeingEdited) {
76-
return 'editing';
78+
return FORM_MODE.EDITING;
7779
}
7880
if (isFieldEmpty) {
79-
return 'empty';
81+
return FORM_MODE.EMPTY;
8082
}
81-
return 'editable';
83+
return FORM_MODE.EDITABLE;
8284
};
8385

8486
return (

src/profile/extended-profile/profile-fields/elements/TextField.jsx

Lines changed: 7 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -7,6 +7,7 @@ import SwitchContent from '../../../forms/elements/SwitchContent';
77
import EmptyContent from '../../../forms/elements/EmptyContent';
88
import EditableItemHeader from '../../../forms/elements/EditableItemHeader';
99
import messages from '../../messages';
10+
import { FORM_MODE } from '../../constants';
1011

1112
const TextField = (props) => {
1213
const {
@@ -45,11 +46,11 @@ const TextField = (props) => {
4546
}, [draftValue?.length]);
4647

4748
const handleStartEditing = () => {
48-
setFormMode('editing', fieldName);
49+
setFormMode(FORM_MODE.EDITING, fieldName);
4950
};
5051

5152
const handleCancelEditing = () => {
52-
setFormMode('editable');
53+
setFormMode(FORM_MODE.EDITABLE);
5354
setDraftValue(fieldValue);
5455
};
5556

@@ -62,17 +63,17 @@ const TextField = (props) => {
6263
handleFormSubmit(fieldName, draftValue);
6364
};
6465

65-
const isFieldBeingEdited = formEditMode === 'editing' && activeFieldName === fieldName;
66+
const isFieldBeingEdited = formEditMode === FORM_MODE.EDITING && activeFieldName === fieldName;
6667
const isFieldEmpty = draftValue === '' || !draftValue;
6768

6869
const getFieldDisplayMode = () => {
6970
if (isFieldBeingEdited) {
70-
return 'editing';
71+
return FORM_MODE.EDITING;
7172
}
7273
if (isFieldEmpty) {
73-
return 'empty';
74+
return FORM_MODE.EMPTY;
7475
}
75-
return 'editable';
76+
return FORM_MODE.EDITABLE;
7677
};
7778

7879
return (

src/profile/extended-profile/profile-fields/index.jsx

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -49,6 +49,8 @@ const ProfileFields = () => {
4949
return (
5050
<div>
5151
{extendedProfileFields?.map((field) => {
52+
// extendedProfileValues comes from the user profile values
53+
// here we are looking for the field value of each extended profile field
5254
const value = extendedProfileValues.find((el) => el.fieldName === field.name)?.fieldValue;
5355

5456
const commonProps = {

0 commit comments

Comments
 (0)