diff --git a/src/component/mymedia/MyMedia.js b/src/component/mymedia/MyMedia.js index 347aeae..a1a5ca3 100644 --- a/src/component/mymedia/MyMedia.js +++ b/src/component/mymedia/MyMedia.js @@ -1,16 +1,21 @@ import React from "react"; import BreadcrumbComBS from "../breadcrumb/BreadcrumbComBS"; import {useState, useRef} from "react"; -import {useQuery} from "@tanstack/react-query"; +import {useQuery, useMutation, useQueryClient} from "@tanstack/react-query"; import queryKeys from "../../services/queryKeys"; -import {getMediaFileList} from "../../services/services"; +import {getMediaFileList, uploadFile} from "../../services/services"; import getImage from "../../utils/getImage"; + export default function MyMedia() { + + const queryClient = useQueryClient() + const basePath = process.env.REACT_APP_MAIN_API const [selectedFile, setSelectedFile] = useState(null); const [message, setMessage] = useState(''); - + const [imageLink, setImageLink] = useState('') +console.log('imageLink', imageLink) // Function to handle file selection const handleFileChange = (event) => { setSelectedFile(event.target.files[0]); @@ -18,7 +23,7 @@ export default function MyMedia() { }; // Function to handle the upload to the API - const handleUpload = async () => { + const _handleUpload = async () => { if (!selectedFile) { setMessage('Please select a file first!'); return; @@ -55,6 +60,41 @@ export default function MyMedia() { } } + const uploadFileMutation = useMutation({ + mutationFn: (fields) => { + if(!fields.file){ + throw({message: 'Please select a file first!'}) + } + return uploadFile(fields) + }, + onSuccess: (res) => { + // console.log('res', res.data) + // if(res.data.resultCode != '0' || !res?.data?.pending_uid){ + // throw({message: res?.data?.resultDescription}) + // } + setSelectedFile(null) + queryClient.refetchQueries({ + queryKey: [...queryKeys.my_files], + // type: 'active', + // exact: true, + }) + }, + onSettled: () => { + setTimeout(()=>{ + uploadFileMutation.reset() + }, 3000) + } + }) + + const handleUpload = () => { + let reqData = { + token: localStorage.getItem("token"), // USER TOKEN + member_uid: localStorage.getItem("uid"), // USER UID + file: selectedFile + }; + // console.log(reqData) + uploadFileMutation.mutate(reqData) + } const {data, isFetching, isError, error} = useQuery({ queryKey: queryKeys.my_files, @@ -101,13 +141,14 @@ export default function MyMedia() {
{message}
} + {/* {message &&{message}
} */} +{uploadFileMutation.isPending ? 'uploading...' : uploadFileMutation.isError ? uploadFileMutation?.error?.message : uploadFileMutation.isSuccess ? 'File Uploaded' : ''}
> @@ -120,7 +161,7 @@ export default function MyMedia() {Loading...
+{error?.message}
+