diff --git a/src/components/compose.jsx b/src/components/compose.jsx index 5b64608e..e504c1bb 100644 --- a/src/components/compose.jsx +++ b/src/components/compose.jsx @@ -522,6 +522,34 @@ function Compose({ const [showEmoji2Picker, setShowEmoji2Picker] = useState(false); + const [topSupportedLanguages, restSupportedLanguages] = useMemo(() => { + const topLanguages = []; + const restLanguages = []; + const { contentTranslationHideLanguages = [] } = states.settings; + supportedLanguages.forEach((l) => { + const [code] = l; + if ( + code === language || + code === prevLanguage.current || + code === DEFAULT_LANG || + contentTranslationHideLanguages.includes(code) + ) { + topLanguages.push(l); + } else { + restLanguages.push(l); + } + }); + topLanguages.sort(([codeA, commonA], [codeB, commonB]) => { + if (codeA === language) return -1; + if (codeB === language) return 1; + return commonA.localeCompare(commonB); + }); + restLanguages.sort(([codeA, commonA], [codeB, commonB]) => + commonA.localeCompare(commonB), + ); + return [topLanguages, restLanguages]; + }, [language]); + return (