All files / app/i18n useLocaleInfos.ts

0% Statements 0/10
0% Branches 0/2
0% Functions 0/3
0% Lines 0/9

Press n or j to go to the next uncovered block, b, p or k for the previous block.

1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22                                           
import { useQuery } from "@tanstack/react-query";
import { useMemo } from "react";
 
import { getLocaleInfos } from "./locales";
import { fetchWeblateLanguages } from "./weblate";
 
export function useLocaleInfos() {
  const { data: weblateLanguages, ...rest } = useQuery({
    queryKey: ["weblate-stats"],
    queryFn: () => fetchWeblateLanguages(),
    staleTime: 10 * 60 * 1000, // 10 minutes - data considered fresh
    gcTime: 10 * 60 * 1000, // 10 minutes - cache persists
    retry: 1,
    refetchOnWindowFocus: false,
    refetchOnMount: false,
  });
 
  const data = useMemo(() => getLocaleInfos(weblateLanguages ?? []), [weblateLanguages]);
 
  return { data, ...rest };
}