diff options
author | Elijah Seed-Arita <elijaharita@gmail.com> | 2025-08-15 06:16:13 -0700 |
---|---|---|
committer | GitHub <noreply@github.com> | 2025-08-15 06:16:13 -0700 |
commit | 5ca665467e9cbedd78f21df76db8cfde8eaa66b4 (patch) | |
tree | ed5ac7602b6d2904b49a22ac0d182bd7154cc756 /src/view/com/composer/select-language | |
parent | 4e0be91cffa15711eaa3116e01d761dd9a0a749b (diff) | |
download | voidsky-5ca665467e9cbedd78f21df76db8cfde8eaa66b4.tar.zst |
feat: use OP's language as recommendation when replying (#8832)
* feat: use OP's language as recommendation when replying * fix: address nits
Diffstat (limited to 'src/view/com/composer/select-language')
-rw-r--r-- | src/view/com/composer/select-language/SuggestedLanguage.tsx | 19 |
1 files changed, 16 insertions, 3 deletions
diff --git a/src/view/com/composer/select-language/SuggestedLanguage.tsx b/src/view/com/composer/select-language/SuggestedLanguage.tsx index 1e0948899..48e2187b8 100644 --- a/src/view/com/composer/select-language/SuggestedLanguage.tsx +++ b/src/view/com/composer/select-language/SuggestedLanguage.tsx @@ -19,16 +19,29 @@ import {Text} from '#/components/Typography' const onIdle = globalThis.requestIdleCallback || (cb => setTimeout(cb, 1)) const cancelIdle = globalThis.cancelIdleCallback || clearTimeout -export function SuggestedLanguage({text}: {text: string}) { +export function SuggestedLanguage({ + text, + replyToLanguage, +}: { + text: string + replyToLanguage?: string +}) { const [suggestedLanguage, setSuggestedLanguage] = useState< string | undefined - >() + >(text.length === 0 ? replyToLanguage : undefined) const langPrefs = useLanguagePrefs() const setLangPrefs = useLanguagePrefsApi() const t = useTheme() const {_} = useLingui() useEffect(() => { + // For replies, suggest the language of the post being replied to if no text + // has been typed yet + if (replyToLanguage && text.length === 0) { + setSuggestedLanguage(replyToLanguage) + return + } + const textTrimmed = text.trim() // Don't run the language model on small posts, the results are likely @@ -43,7 +56,7 @@ export function SuggestedLanguage({text}: {text: string}) { }) return () => cancelIdle(idle) - }, [text]) + }, [text, replyToLanguage]) if ( suggestedLanguage && |