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} />