fix: Editing title in sidebar allows removal of title (#2364)

This commit is contained in:
Saumya Pandey
2021-07-26 00:17:39 +05:30
committed by GitHub
parent f61f9703f3
commit c9bd3bbf45

View File

@ -14,6 +14,7 @@ function EditableTitle({ title, onSubmit, canUpdate }: Props) {
const [originalValue, setOriginalValue] = React.useState(title);
const [value, setValue] = React.useState(title);
const { showToast } = useToasts();
React.useEffect(() => {
setValue(title);
}, [title]);
@ -38,17 +39,22 @@ function EditableTitle({ title, onSubmit, canUpdate }: Props) {
[originalValue]
);
const handleSave = React.useCallback(async () => {
const handleSave = React.useCallback(
async (ev) => {
ev.preventDefault();
setIsEditing(false);
if (value === originalValue) {
const trimmedValue = value.trim();
if (trimmedValue === originalValue || trimmedValue.length === 0) {
setValue(originalValue);
return;
}
if (document) {
try {
await onSubmit(value);
setOriginalValue(value);
await onSubmit(trimmedValue);
setOriginalValue(trimmedValue);
} catch (error) {
setValue(originalValue);
showToast(error.message, {
@ -57,7 +63,9 @@ function EditableTitle({ title, onSubmit, canUpdate }: Props) {
throw error;
}
}
}, [originalValue, showToast, value, onSubmit]);
},
[originalValue, showToast, value, onSubmit]
);
return (
<>