UNPKG

piral-translate

Version:

Plugin for providing translated messages in Piral.

27 lines 962 B
import { useEffect, useState } from 'react'; import { useActions, useGlobalState } from 'piral-core'; export function useDynamicLanguage(defaultSelected, load) { const [selected, setSelected] = useState(defaultSelected); const { selectLanguage, setTranslations, getTranslations } = useActions(); useEffect(() => { let active = true; const current = getTranslations(selected); selectLanguage(undefined); load(selected, current).then((result) => { if (active) { setTranslations(selected, result); selectLanguage(selected); } }, (err) => console.error(err)); return () => { active = false; }; }, [selected]); return [selected, setSelected]; } export function useTranslate() { const { translate } = useActions(); useGlobalState((m) => m.language.selected); return translate; } //# sourceMappingURL=hooks.js.map