All files / src/hooks useFilters.ts

87.5% Statements 7/8
33.33% Branches 1/3
66.66% Functions 2/3
87.5% Lines 7/8

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 23 24 25 26 27 28 29 30 31 32 33 34 35 36              4x 2x   2x 2x   2x   2x       2x                                
import { useTranslation } from "react-i18next";
import { useQuery } from "@tanstack/react-query";
 
import apiManager from "@/apiManager";
import useFiltersStore from "@/store/useFiltersStore";
import useUserStore from "@/store/useUserStore";
 
export const useFilters = () => {
  const { i18n, t } = useTranslation();
 
  const { accentColor } = useUserStore();
  const { sortBy, releaseDate, selectedGenres, setSort, setStartDate, setEndDate, setGenres } = useFiltersStore();
 
  const { data: genres = [], isFetching } = useQuery({
    queryKey: [apiManager.getGenres.key, i18n.language],
    queryFn: () => apiManager.getGenres.func(i18n.language),
    select: (res) => res?.genres ?? [],
  });
 
  return {
    genres,
    isFetching,
    t,
    accentColor,
    sortBy,
    releaseDate,
    selectedGenres,
    setSort,
    setStartDate,
    setEndDate,
    setGenres,
  };
};
 
export default useFilters;