Newer
Older
taehui / taehui-fe / src / forum / usePostAutoEssays.ts
@Taehui Taehui on 8 Mar 1 KB 2024-03-08 오후 10:04
import { useMutation, useQueryClient } from "@tanstack/react-query";
import { wwwAXIOSNew } from "src/Www";
import { getMillis } from "taehui-ts/date";
import { useAvatarStore, useForumStore } from "src/Stores";
import { toast } from "react-toastify";
import { useTranslation } from "react-i18next";

export default function usePostAutoEssays(
  forumID: string | undefined,
  title: string,
  text: string,
) {
  const { t } = useTranslation();

  const { setAutoEssayID } = useForumStore();

  const { totem } = useAvatarStore();

  const queryClient = useQueryClient();

  return useMutation({
    mutationFn: async () => {
      const {
        data: { autoEssayID },
      } = await wwwAXIOSNew.post(
        `/autoEssay/${forumID}`,
        {
          title,
          text,
        },
        {
          headers: {
            millis: getMillis(),
            totem,
          },
        },
      );

      return autoEssayID;
    },
    onSuccess: async (data) => {
      toast.success(t("postedAutoEssay"));
      setAutoEssayID(data);
      await queryClient.invalidateQueries({ queryKey: ["autoEssays"] });
    },
  });
}