Fix KWS language picker silently resetting Arabic, Chinese, Filipino & Portuguese to English (#11082)
Co-authored-by: Claude <noreply@anthropic.com> Co-authored-by: Eric Bailey <git@esb.lol>
This commit is contained in:
@@ -1,4 +1,3 @@
|
|||||||
import {useCallback} from 'react'
|
|
||||||
import {msg} from '@lingui/core/macro'
|
import {msg} from '@lingui/core/macro'
|
||||||
import {useLingui} from '@lingui/react'
|
import {useLingui} from '@lingui/react'
|
||||||
|
|
||||||
@@ -14,26 +13,31 @@ export function LanguageSelect({
|
|||||||
value: l.code2,
|
value: l.code2,
|
||||||
})),
|
})),
|
||||||
label,
|
label,
|
||||||
|
disabledBlueskySupportedLanguageSanitization = false,
|
||||||
}: {
|
}: {
|
||||||
value?: string
|
value?: string
|
||||||
onChange: (value: string) => void
|
onChange: (value: string) => void
|
||||||
items?: {label: string; value: string}[]
|
items?: {label: string; value: string}[]
|
||||||
label?: string
|
label?: string
|
||||||
|
disabledBlueskySupportedLanguageSanitization?: boolean
|
||||||
}) {
|
}) {
|
||||||
const {_} = useLingui()
|
const {_} = useLingui()
|
||||||
|
const selectValue =
|
||||||
|
value && !disabledBlueskySupportedLanguageSanitization
|
||||||
|
? sanitizeAppLanguageSetting(value)
|
||||||
|
: value
|
||||||
|
|
||||||
const handleOnChange = useCallback(
|
const handleOnChange = (value: string) => {
|
||||||
(value: string) => {
|
if (!value) return
|
||||||
if (!value) return
|
onChange(
|
||||||
onChange(sanitizeAppLanguageSetting(value))
|
disabledBlueskySupportedLanguageSanitization
|
||||||
},
|
? value
|
||||||
[onChange],
|
: sanitizeAppLanguageSetting(value),
|
||||||
)
|
)
|
||||||
|
}
|
||||||
|
|
||||||
return (
|
return (
|
||||||
<Select.Root
|
<Select.Root value={selectValue} onValueChange={handleOnChange}>
|
||||||
value={value ? sanitizeAppLanguageSetting(value) : undefined}
|
|
||||||
onValueChange={handleOnChange}>
|
|
||||||
<Select.Trigger label={_(msg`Select language`)}>
|
<Select.Trigger label={_(msg`Select language`)}>
|
||||||
<Select.ValueText placeholder={_(msg`Select language`)} />
|
<Select.ValueText placeholder={_(msg`Select language`)} />
|
||||||
<Select.Icon />
|
<Select.Icon />
|
||||||
|
|||||||
@@ -296,6 +296,7 @@ function Inner() {
|
|||||||
setLanguageError(false)
|
setLanguageError(false)
|
||||||
}}
|
}}
|
||||||
items={KWS_SUPPORTED_LANGS}
|
items={KWS_SUPPORTED_LANGS}
|
||||||
|
disabledBlueskySupportedLanguageSanitization
|
||||||
/>
|
/>
|
||||||
|
|
||||||
{languageError && (
|
{languageError && (
|
||||||
|
|||||||
Reference in New Issue
Block a user