Newer
Older
taehui / qwilight-fe / src / avatar / useGetAvatarFavorites.ts
@Taehui Taehui on 16 Mar 974 bytes 2024-03-17 오전 2:53
import { formatText } from "@/Utility";

import { wwwAXIOS } from "@/Www";
import { GetAvatarFavoritesAPI } from "@/wwwAPI";
import { useQuery } from "@tanstack/react-query";
import { useTranslations } from "next-intl";
import { useIsPath } from "taehui-ts/fe-utility";

export default function useGetAvatarFavorites(
  inputMode: "6K" | "5K" | "7K" | "9K" | "10K" | "14K" | "24K" | "48K",
  avatarID?: string,
) {
  const isPath = useIsPath();

  const t = useTranslations();

  return useQuery({
    enabled: !!avatarID && isPath("/avatar"),
    queryKey: ["avatarFavorites", inputMode, avatarID],
    queryFn: async () => {
      const { data } = await wwwAXIOS.get<GetAvatarFavoritesAPI>(
        `/avatar/favorites/${inputMode}`,
        {
          params: { avatarID },
        },
      );
      return data.map((data) => ({
        ...data,
        fittedText: t("textHandled", { value: formatText(data.totalCount) }),
      }));
    },
    initialData: [],
  });
}