diff --git a/frontend/src/hooks/metadata-status.js b/frontend/src/hooks/metadata-status.js
index b60e63cab3..1aad544533 100644
--- a/frontend/src/hooks/metadata-status.js
+++ b/frontend/src/hooks/metadata-status.js
@@ -16,7 +16,7 @@ export const MetadataStatusProvider = ({ repoID, currentRepoInfo, hideMetadataVi
const [isLoading, setLoading] = useState(true);
const [enableMetadata, setEnableMetadata] = useState(false);
const [enableTags, setEnableTags] = useState(false);
- const [tagsLang, setTagsLang] = useState(null);
+ const [tagsLang, setTagsLang] = useState('en');
const [isBeingBuilt, setIsBeingBuilt] = useState(false);
const cancelMetadataURL = useCallback(() => {
@@ -42,7 +42,7 @@ export const MetadataStatusProvider = ({ repoID, currentRepoInfo, hideMetadataVi
cancelMetadataURL();
}
setEnableTags(enableTags);
- setTagsLang(tagsLang);
+ setTagsLang(tagsLang || 'en');
setEnableMetadata(enableMetadata);
setLoading(false);
}).catch(error => {
diff --git a/frontend/src/metadata/components/dialog/metadata-tags-status-dialog/index.js b/frontend/src/metadata/components/dialog/metadata-tags-status-dialog/index.js
index fedeb71c92..61e27546ef 100644
--- a/frontend/src/metadata/components/dialog/metadata-tags-status-dialog/index.js
+++ b/frontend/src/metadata/components/dialog/metadata-tags-status-dialog/index.js
@@ -25,7 +25,7 @@ const langOptions = [
const MetadataTagsStatusDialog = ({ value: oldValue, lang: oldLang, repoID, toggleDialog: toggle, submit }) => {
const [value, setValue] = useState(oldValue);
- const [lang, setLang] = useState({ value: oldLang || 'en', label: langOptions.find(item => item.value === oldLang).label });
+ const [lang, setLang] = useState(oldLang);
const [submitting, setSubmitting] = useState(false);
const [showTurnOffConfirmDialog, setShowTurnOffConfirmDialog] = useState(false);
@@ -39,8 +39,8 @@ const MetadataTagsStatusDialog = ({ value: oldValue, lang: oldLang, repoID, togg
return;
}
setSubmitting(true);
- tagsAPI.openTags(repoID, lang.value).then(res => {
- submit(true, lang.value);
+ tagsAPI.openTags(repoID, lang).then(res => {
+ submit(true, lang);
toggle();
}).catch(error => {
const errorMsg = Utils.getErrorMsg(error);
@@ -71,9 +71,11 @@ const MetadataTagsStatusDialog = ({ value: oldValue, lang: oldLang, repoID, togg
setValue(nextValue);
}, [value]);
- const onSelectChange = (option) => {
- setLang(option);
- };
+ const onSelectChange = useCallback((option) => {
+ const newValue = option.value;
+ if (newValue === lang) return;
+ setLang(newValue);
+ }, [lang]);
return (
<>
@@ -97,7 +99,7 @@ const MetadataTagsStatusDialog = ({ value: oldValue, lang: oldLang, repoID, togg
{gettext('Tags language:')}
o.value === lang) || langOptions[1]}
options={langOptions}
onChange={onSelectChange}
/>