Skip to content
This repository was archived by the owner on Jan 11, 2024. It is now read-only.

Commit d51b83a

Browse files
committed
Refactor code to remove dependency
1 parent 54565df commit d51b83a

File tree

5 files changed

+14
-13
lines changed

5 files changed

+14
-13
lines changed

README.md

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -69,7 +69,7 @@ yarn add @canopassoftware/vue-file-upload
6969

7070
## Examples
7171

72-
We are providing some examples with design. so, you can easily take it and use into your project.
72+
We are providing some examples with design. so, you can easily use it in your project.
7373

7474
### Canvas View
7575

next.config.js

Lines changed: 1 addition & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -1,8 +1,4 @@
11
/** @type {import('next').NextConfig} */
2-
const nextConfig = {
3-
images: {
4-
domains: ["picsum.photos"],
5-
},
6-
};
2+
const nextConfig = {};
73

84
module.exports = nextConfig;

src/app/page.tsx

Lines changed: 5 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -3,12 +3,14 @@
33
import Image from "next/image";
44
import React, { useState } from "react";
55
import SingleFileUpload from "../components/singleFile";
6+
import img from "../assets/images/example-img.jpg";
7+
import { StaticImageData } from "next/image";
68

79
export default function App() {
810
const [previewFileData, setPreviewFileData] = useState(
911
{} as {
1012
previewType: string;
11-
previewUrl: string | ArrayBuffer | null;
13+
previewUrl: string | StaticImageData | ArrayBuffer | null;
1214
previewName: string;
1315
isDragging: boolean;
1416
}
@@ -18,7 +20,7 @@ export default function App() {
1820
await new Promise((resolve) => setTimeout(resolve, 2000));
1921
setPreviewFileData({
2022
previewType: "image",
21-
previewUrl: "https://picsum.photos/300/224",
23+
previewUrl: img,
2224
previewName: file.name,
2325
isDragging: false,
2426
});
@@ -27,7 +29,7 @@ export default function App() {
2729
return (
2830
<main className="min-h-screen flex flex-col justify-between p-5">
2931
<SingleFileUpload
30-
uploadedFile={setPreviewFileData}
32+
uploadedFile={[previewFileData, setPreviewFileData]}
3133
callback={handleFileUploading}
3234
uploadBtn={"Save"}
3335
progressBtn={"Saving..."}

src/assets/images/example-img.jpg

1.65 MB
Loading

src/components/singleFile.tsx

Lines changed: 7 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -24,8 +24,9 @@ export default function SingleFileUpload({
2424
filePreview = filePreviewImg,
2525
children,
2626
}: any) {
27+
const [previewFileData, setPreviewFileData] = uploadedFile;
2728
const [isUploading, setIsUploading] = useState(false);
28-
const [fileObj, setFileObj] = useState({});
29+
const [fileObj, setFileObj] = useState(null);
2930

3031
const fileData = {} as {
3132
previewType: string;
@@ -80,7 +81,7 @@ export default function SingleFileUpload({
8081
}
8182
fileData.previewName = file.name;
8283
setFileObj(file);
83-
uploadedFile(fileData);
84+
setPreviewFileData(fileData);
8485
};
8586
reader.onerror = (error) => {
8687
console.error(`Error while reading file ${file.name}: ${error}`);
@@ -89,11 +90,13 @@ export default function SingleFileUpload({
8990
};
9091

9192
const uploadingFunction = async () => {
93+
if (isUploading) {
94+
return;
95+
}
9296
setIsUploading(true);
9397

9498
await callback(fileObj);
95-
96-
console.log(uploadedFile)
99+
setFileObj(previewFileData);
97100

98101
setIsUploading(false);
99102
};

0 commit comments

Comments
 (0)