1
0
mirror of https://github.com/haiwen/seahub.git synced 2025-09-11 03:41:12 +00:00

fix: metadata tags lang (#7153)

* fix: metadata tags lang

* feat: optimize code

---------

Co-authored-by: 杨国璇 <ygx@Hello-word.local>
This commit is contained in:
杨国璇
2024-12-06 18:24:02 +08:00
committed by GitHub
parent 21c9be56a8
commit b484b45f1a
2 changed files with 11 additions and 9 deletions

View File

@@ -16,7 +16,7 @@ export const MetadataStatusProvider = ({ repoID, currentRepoInfo, hideMetadataVi
const [isLoading, setLoading] = useState(true); const [isLoading, setLoading] = useState(true);
const [enableMetadata, setEnableMetadata] = useState(false); const [enableMetadata, setEnableMetadata] = useState(false);
const [enableTags, setEnableTags] = useState(false); const [enableTags, setEnableTags] = useState(false);
const [tagsLang, setTagsLang] = useState(null); const [tagsLang, setTagsLang] = useState('en');
const [isBeingBuilt, setIsBeingBuilt] = useState(false); const [isBeingBuilt, setIsBeingBuilt] = useState(false);
const cancelMetadataURL = useCallback(() => { const cancelMetadataURL = useCallback(() => {
@@ -42,7 +42,7 @@ export const MetadataStatusProvider = ({ repoID, currentRepoInfo, hideMetadataVi
cancelMetadataURL(); cancelMetadataURL();
} }
setEnableTags(enableTags); setEnableTags(enableTags);
setTagsLang(tagsLang); setTagsLang(tagsLang || 'en');
setEnableMetadata(enableMetadata); setEnableMetadata(enableMetadata);
setLoading(false); setLoading(false);
}).catch(error => { }).catch(error => {

View File

@@ -25,7 +25,7 @@ const langOptions = [
const MetadataTagsStatusDialog = ({ value: oldValue, lang: oldLang, repoID, toggleDialog: toggle, submit }) => { const MetadataTagsStatusDialog = ({ value: oldValue, lang: oldLang, repoID, toggleDialog: toggle, submit }) => {
const [value, setValue] = useState(oldValue); 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 [submitting, setSubmitting] = useState(false);
const [showTurnOffConfirmDialog, setShowTurnOffConfirmDialog] = useState(false); const [showTurnOffConfirmDialog, setShowTurnOffConfirmDialog] = useState(false);
@@ -39,8 +39,8 @@ const MetadataTagsStatusDialog = ({ value: oldValue, lang: oldLang, repoID, togg
return; return;
} }
setSubmitting(true); setSubmitting(true);
tagsAPI.openTags(repoID, lang.value).then(res => { tagsAPI.openTags(repoID, lang).then(res => {
submit(true, lang.value); submit(true, lang);
toggle(); toggle();
}).catch(error => { }).catch(error => {
const errorMsg = Utils.getErrorMsg(error); const errorMsg = Utils.getErrorMsg(error);
@@ -71,9 +71,11 @@ const MetadataTagsStatusDialog = ({ value: oldValue, lang: oldLang, repoID, togg
setValue(nextValue); setValue(nextValue);
}, [value]); }, [value]);
const onSelectChange = (option) => { const onSelectChange = useCallback((option) => {
setLang(option); const newValue = option.value;
}; if (newValue === lang) return;
setLang(newValue);
}, [lang]);
return ( return (
<> <>
@@ -97,7 +99,7 @@ const MetadataTagsStatusDialog = ({ value: oldValue, lang: oldLang, repoID, togg
<span>{gettext('Tags language:')}</span> <span>{gettext('Tags language:')}</span>
<SeahubSelect <SeahubSelect
className='tags-language-selector' className='tags-language-selector'
value={lang || { value: 'en', label: 'English' }} value={langOptions.find(o => o.value === lang) || langOptions[1]}
options={langOptions} options={langOptions}
onChange={onSelectChange} onChange={onSelectChange}
/> />