skip loading langs if top language is 'en'
Massimo Melina committed
Mar 14, 2023 at 10:10 UTC
ba0282c75ec4bd978b323155da3e5271d83a57ce
2 files changed
+7
-6
frontend/src/api.ts
+6
-5
@@ -43,15 +43,16 @@ export class ApiError extends Error {
43
}
44
45
export function useApi(cmd: string | Falsy, params?: Dict, options: ApiCallOptions={}) : any {
46
- const [x, setX] = useState()
46
+ const [ret, setRet] = useState()
47
const loadingRef = useRef<ReturnType<typeof apiCall>>()
48
useEffect(()=>{
49
loadingRef.current?.abort()
50
- setX(undefined)
51
- if (cmd)
52
- (loadingRef.current = apiCall(cmd, params, options)).then(setX, setX)
50
+ setRet(undefined)
51
+ if (!cmd) return
52
+ const p = loadingRef.current = apiCall(cmd, params, options)
53
+ p.then(setRet, setRet)
54
}, [cmd, JSON.stringify(params)]) //eslint-disable-line
54
- return x
55
+ return ret
56
}
57
58
type EventHandler = (type:string, data?:any) => void
frontend/src/i18n.ts
+1
-1
@@ -25,8 +25,8 @@ export function tComponent(...par: Parameters<typeof t>) {
25
26
export function I18Nprovider({ embedded='en', ...props }) {
27
const langs = urlParams.lang?.split(',') || navigator.languages
28
- let all = useApi('load_lang', { lang: langs }, { noModal: true })
28
state.embedded = embedded
29
+ let all = useApi(langs[0] !== 'en' && 'load_lang', { lang: langs }, { noModal: true })
30
useEffect(() => {
31
if (all instanceof Error)
32
all = undefined