INNER CODE UNIT · TypeScript

useLanguage

CronusL-1141/AI-company · dashboard/src/i18n/index.ts:49

export function useLanguage() {
  const [cachedLang] = useState<Lang>(detectLang);
  const queryClient = useQueryClient();
  const query = useQuery({
    queryKey: languageKey,
    queryFn: ({ signal }) => fetchLanguage(undefined, signal),
    staleTime: 0,
  });
  useEffect(() => {
    if (query.data) cacheLanguage(query.data.effective);
  }, [query.data]);
  const mutation = useMutation({
    mutationFn: (mode: LanguageMode) => fetchLanguage(mode),
    // Cancel an older startup/focus read so it cannot undo a successful save.
    onMutate: () => queryClient.cancelQueries({ queryKey: languageKey }),
    onSuccess: async (result) => {
      await queryClient.cancelQueries({ queryKey: languageKey });
      cacheLanguage(result.effective);

View source record →

📰 Research Paper
Loading…
⏳ Fetching content…