diff --git a/src/components/Contexts/FileUploadContext.jsx b/src/components/Contexts/FileUploadContext.jsx
index 142a50a..351cde9 100644
--- a/src/components/Contexts/FileUploadContext.jsx
+++ b/src/components/Contexts/FileUploadContext.jsx
@@ -8,6 +8,7 @@ export const FileUploadProvider = ({ children }) => {
const [progress, setProgress] = useState(0);
const [status, setStatus] = useState(null);
const [cancelUpload, setCancelUpload] = useState(null);
+ const [linkURL, setLinkURL] = useState(null);
const done = () => {
setCancelUpload(null);
@@ -31,18 +32,22 @@ export const FileUploadProvider = ({ children }) => {
const filename = file.name;
setUploading(true);
+ setLinkURL(null);
setProgress(0);
setStatus(`Uploading ${filename}`);
setCancelUpload(getCancelToken());
- const result = await uploadFile(file, setProgress, cancelUpload);
- const url = ((result && result.url) ? result.url : "No URL available");
- setStatus(`Uploaded ${filename}\n${url}`);
+ const { data } = await uploadFile(file, setProgress, cancelUpload);
+ if (data.message) throw new Error(`${data.error}. ${data.message}`);
+ const url = ((data && data.link) ? data.link : "No URL available");
+ setLinkURL(url);
+ setStatus(`Uploaded ${filename}`);
setCancelUpload(null);
setProgress(100);
}
catch (e) {
setStatus(`Error occured: ${e.message}`);
+ setProgress(-1);
}
};
@@ -51,6 +56,7 @@ export const FileUploadProvider = ({ children }) => {
uploading,
progress,
status,
+ linkURL,
upload,
cancel,
}}>
diff --git a/src/components/Contexts/FileUploadContext.test.jsx b/src/components/Contexts/FileUploadContext.test.jsx
index 3e8e8ef..c79b071 100644
--- a/src/components/Contexts/FileUploadContext.test.jsx
+++ b/src/components/Contexts/FileUploadContext.test.jsx
@@ -8,12 +8,13 @@ describe("FileUploadContext", () => {
beforeEach(() => {
const TestComp = () => {
- const { progress, uploading, status, upload, cancel } = useFileUploadContext();
+ const { progress, uploading, status, linkURL, upload, cancel } = useFileUploadContext();
return (
<>
{uploading.toString()}
{progress.toString()}
{status}
+ {linkURL}