diff --git a/client/src/components/UserInformationEdit/UserInformationEdit.jsx b/client/src/components/UserInformationEdit/UserInformationEdit.jsx index f580cdc8..0a740591 100644 --- a/client/src/components/UserInformationEdit/UserInformationEdit.jsx +++ b/client/src/components/UserInformationEdit/UserInformationEdit.jsx @@ -1,4 +1,5 @@ import { dequal } from 'dequal'; +import omit from 'lodash/omit'; import pickBy from 'lodash/pickBy'; import React, { useCallback, useMemo, useRef } from 'react'; import PropTypes from 'prop-types'; @@ -9,7 +10,7 @@ import { useForm } from '../../hooks'; import styles from './UserInformationEdit.module.scss'; -const UserInformationEdit = React.memo(({ defaultData, onUpdate }) => { +const UserInformationEdit = React.memo(({ defaultData, isNameEditable, onUpdate }) => { const [t] = useTranslation(); const [data, handleFieldChange] = useForm(() => ({ @@ -32,13 +33,17 @@ const UserInformationEdit = React.memo(({ defaultData, onUpdate }) => { const nameField = useRef(null); const handleSubmit = useCallback(() => { - if (!cleanData.name) { - nameField.current.select(); - return; - } + if (isNameEditable) { + if (!cleanData.name) { + nameField.current.select(); + return; + } - onUpdate(cleanData); - }, [onUpdate, cleanData]); + onUpdate(cleanData); + } else { + onUpdate(omit(cleanData, 'name')); + } + }, [isNameEditable, onUpdate, cleanData]); return (