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 37 38 39 40 41 42 43 44 45 46 47 | 2x | import { customInstance } from "@services/api";
import { useMutation, useQueryClient } from "react-query";
import { AxiosError } from "axios";
import { buildAccountsUrl } from "@services/api/utils.api";
import { useUploadSingleImage as useUploadSingleImageNew } from "@hooks/upload-api/uploadHooks";
export const useUploadVariantImage = () => {
const { handleUpload, isLoading } = useUploadSingleImageNew();
const queryClient = useQueryClient();
const createImageMutation = useMutation((data: any) => {
return customInstance({
url: buildAccountsUrl("media-items"),
method: "POST",
data,
});
});
const handlePostImage = async (file: File) => {
const tempUrl = await handleUpload({ file, formType: "variant_avatar" });
if (!tempUrl) return "";
const promise = await createImageMutation.mutateAsync(
{
label: file?.name || "main_pic",
url: tempUrl,
},
{
onError: (error: unknown) => {
const axiosError = error as AxiosError;
console.log("errorMessage = ", axiosError);
},
},
);
await queryClient.invalidateQueries("get-all-media-items");
return promise.URL;
};
return {
handlePostImage,
isLoading: createImageMutation.isLoading || isLoading,
};
};
|