mirror of
https://github.com/AmruthPillai/Reactive-Resume.git
synced 2025-11-24 21:51:34 +10:00
refactor(v4.0.0-alpha): beginning of a new era
This commit is contained in:
1
apps/client/src/services/storage/index.ts
Normal file
1
apps/client/src/services/storage/index.ts
Normal file
@ -0,0 +1 @@
|
||||
export * from "./upload-image";
|
||||
25
apps/client/src/services/storage/upload-image.ts
Normal file
25
apps/client/src/services/storage/upload-image.ts
Normal file
@ -0,0 +1,25 @@
|
||||
import { useMutation } from "@tanstack/react-query";
|
||||
import { AxiosResponse } from "axios";
|
||||
|
||||
import { axios } from "@/client/libs/axios";
|
||||
|
||||
export const uploadImage = (file: File) => {
|
||||
const formData = new FormData();
|
||||
formData.append("file", file);
|
||||
|
||||
return axios.put<string, AxiosResponse<string>, FormData>("/storage/image", formData, {
|
||||
headers: { "Content-Type": "multipart/form-data" },
|
||||
});
|
||||
};
|
||||
|
||||
export const useUploadImage = () => {
|
||||
const {
|
||||
error,
|
||||
isPending: loading,
|
||||
mutateAsync: uploadImageFn,
|
||||
} = useMutation({
|
||||
mutationFn: uploadImage,
|
||||
});
|
||||
|
||||
return { uploadImage: uploadImageFn, loading, error };
|
||||
};
|
||||
Reference in New Issue
Block a user