Twan07 commited on
Commit
f5985ce
·
verified ·
1 Parent(s): 30111a8

Create src/user/UploadZone.tsx

Browse files
Files changed (1) hide show
  1. src/user/UploadZone.tsx +30 -0
src/user/UploadZone.tsx ADDED
@@ -0,0 +1,30 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ import api from "../api";
2
+ import { useState } from "react";
3
+
4
+ export default function UploadZone() {
5
+ const [progress, setProgress] = useState(0);
6
+
7
+ async function upload(file: File) {
8
+ await api.post("/upload/init", {
9
+ size: file.size,
10
+ });
11
+ await api.post("/upload/complete");
12
+ setProgress(100);
13
+ }
14
+
15
+ return (
16
+ <div
17
+ onClick={() => document.getElementById("file")?.click()}
18
+ className="border-2 border-dashed p-10 rounded-xl cursor-pointer"
19
+ >
20
+ <input
21
+ id="file"
22
+ type="file"
23
+ hidden
24
+ onChange={(e) => e.target.files && upload(e.target.files[0])}
25
+ />
26
+ <p>⬆️ Click to upload</p>
27
+ <p className="mt-2">{progress}%</p>
28
+ </div>
29
+ );
30
+ }