import { formatText } from "@/Utility"; import { wwwAXIOS } from "@/Www"; import { GetAvatarAbilitiesAPI } from "@/wwwAPI"; import { useQuery } from "@tanstack/react-query"; import { useTranslations } from "next-intl"; import { useIsPath } from "taehui-ts/fe-utility"; export default function useGetAvatarAbility( inputMode: "5K" | "7K" | "9K", avatarID?: string, ) { const t = useTranslations(); const isPath = useIsPath(); return useQuery({ enabled: !!avatarID && isPath("/avatar"), queryKey: ["avatarAbility", inputMode, avatarID], queryFn: async () => { const { data } = await wwwAXIOS.get<GetAvatarAbilitiesAPI>( `/avatar/ability/${inputMode}`, { params: { avatarID }, }, ); return data.map((data) => ({ ...data, fittedText: t("abilityFittedText", { stand: formatText(data.stand), ability: formatText(data.ability), }), })); }, initialData: [], }); }