Skip to content

Commit 88e7129

Browse files
committed
ad button
1 parent b48680b commit 88e7129

File tree

5 files changed

+212
-6
lines changed

5 files changed

+212
-6
lines changed

package-lock.json

Lines changed: 106 additions & 0 deletions
Some generated files are not rendered by default. Learn more about customizing how changed files appear on GitHub.

package.json

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -4,6 +4,7 @@
44
"homepage": "https://thorpham.github.io/simple-ocr-website",
55
"private": true,
66
"dependencies": {
7+
"@dropzone-ui/react": "^6.7.1",
78
"@floating-ui/react-dom": "^0.6.1",
89
"@floating-ui/react-dom-interactions": "^0.0.15",
910
"@rpldy/upload-button": "^0.18.1",
@@ -13,6 +14,7 @@
1314
"@testing-library/react": "^12.1.4",
1415
"@testing-library/user-event": "^13.5.0",
1516
"@tippyjs/react": "^4.2.6",
17+
"axios": "^0.24.0",
1618
"buffer": "^6.0.3",
1719
"gh-pages": "^3.2.3",
1820
"point-in-polygon": "^1.1.0",

src/App.css

Lines changed: 7 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -25,4 +25,11 @@ body{
2525
}
2626
.active{
2727
display : inline-block !important;
28+
}
29+
.dz-ui-header{
30+
font-size :1.2rem !important;
31+
margin-top : 5px !important;
32+
}
33+
.dz-ui-header span svg{
34+
fill : rgba(32, 191, 107,1.0) !important;
2835
}

src/Card.js

Lines changed: 7 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -10,6 +10,7 @@ import "tippy.js/dist/tippy.css"; //
1010
import Upload from "./Upload";
1111
import Loading from "./Loading";
1212
import { v4 as uuid } from "uuid";
13+
import LoadImg from "./LoadImg"
1314
export default function Card() {
1415
// const [drawCanvas,setDrawCanvas] = useState(false)
1516

@@ -29,7 +30,6 @@ export default function Card() {
2930
const hide = () => setVisible(false);
3031
const [demo, setDemo] = useState(dataDemo[0]);
3132
const dataCanvas= convert2Polygon(demo["data"])
32-
3333

3434

3535
useEffect(() => {
@@ -38,7 +38,6 @@ export default function Card() {
3838
},[demo]);
3939

4040
const getCanvas = async () => {
41-
console.log("run again")
4241
const { metaData, polygonPoints } = dataCanvas
4342
const { width, height } = metaData;
4443
canvas.current.width = width;
@@ -111,6 +110,7 @@ export default function Card() {
111110
};
112111
return (
113112
<div className="card-container">
113+
114114
{loading && <Loading />}
115115
<div style={{ margin: "2rem auto" }}>
116116
<p>Basic model that can recognize Vietnamese and English.</p>
@@ -119,7 +119,8 @@ export default function Card() {
119119
complexity, and has excellent printing recognition.
120120
</p>
121121
</div>
122-
<div className="card-ocr">
122+
<LoadImg setDemo={setDemo} setImgCanvas={setImgCanvas}/>
123+
<div className="card-ocr" style={{marginTop:"1rem"}}>
123124
<div className="card-ocr-left" style={{ position: "relative" }}>
124125
<canvas
125126
id="canvas"
@@ -223,7 +224,7 @@ export default function Card() {
223224
height: "100%",
224225
border: "1px solid #ddd",
225226
display: "flex",
226-
justifyContent: "center",
227+
// justifyContent: "center",
227228
alignContent: "center",
228229
backgroundColor: "#2ed573",
229230
}}
@@ -248,14 +249,14 @@ export default function Card() {
248249
></i>
249250
</Tippy>
250251
</div>
251-
<div style={{ width: "20%", textAlign: "center", height: "100%" }}>
252+
{/* <div style={{ width: "20%", textAlign: "center", height: "100%" }}>
252253
<Upload
253254
loading={loading}
254255
setLoading={setLoading}
255256
setDemo={setDemo}
256257
setImgCanvas={setImgCanvas}
257258
/>
258-
</div>
259+
</div> */}
259260
</div>
260261
</div>
261262
</div>

src/LoadImg.js

Lines changed: 90 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,90 @@
1+
import * as React from "react";
2+
import ReactDOM from "react-dom";
3+
import { useState } from "react";
4+
import {
5+
Dropzone,
6+
FileItem,
7+
FullScreenPreview,
8+
InputButton,
9+
} from "@dropzone-ui/react";
10+
11+
export default function LoadImg({ setDemo, setImgCanvas }) {
12+
const [files, setFiles] = useState([]);
13+
console.log(JSON.stringify(files)[0].file);
14+
const [imageSrc, setImageSrc] = useState(undefined);
15+
16+
const handleImageSee = (src) => {
17+
setImageSrc(src);
18+
// setImgCanvas(src)
19+
};
20+
const updateFiles = (incommingFiles) => {
21+
console.log("incomming files", incommingFiles);
22+
setFiles(incommingFiles);
23+
};
24+
const onDelete = (id) => {
25+
setFiles(files.filter((x) => x.id !== id));
26+
};
27+
const handleSee = (imageSource) => {
28+
setImageSrc(imageSource);
29+
};
30+
const handleClean = (files) => {
31+
console.log("list cleaned", files);
32+
};
33+
34+
const handleUpload = (responses) => {
35+
//check the responses here
36+
console.log(responses);
37+
38+
setDemo({ data: responses[0].serverResponse.payload });
39+
};
40+
const handleStartUpload = (item) => {
41+
console.log("start upload", item);
42+
let dataUrl = URL.createObjectURL(item[0].file);
43+
setImgCanvas(dataUrl);
44+
};
45+
return (
46+
<Dropzone
47+
// clickable ={false}
48+
color={"rgba(38, 222, 129,1.0)"}
49+
behaviour={"replace"}
50+
onChange={updateFiles}
51+
value={files}
52+
accept={".png,image/*"}
53+
maxFileSize={2998000}
54+
onUploadStart={handleStartUpload}
55+
maxFiles={1}
56+
url={"http://127.0.0.1:8000/ocr"}
57+
config={{
58+
headers: {
59+
"Access-Control-Allow-Origin": "*",
60+
"Access-Control-Allow-Headers": "X-Requested-With",
61+
"Access-Control-Allow-Methods": "GET,PUT,POST,DELETE,PATCH,OPTIONS",
62+
},
63+
}}
64+
onUploadFinish={handleUpload}
65+
disabled={true}
66+
label={"Upload or Drop your files here"}
67+
68+
>
69+
{files.map((file) => (
70+
<FileItem
71+
{...file}
72+
onSee={(src) => {
73+
handleImageSee(src);
74+
}}
75+
hd={true}
76+
preview
77+
id={file.id}
78+
info={true}
79+
resultOnTooltip
80+
onDelete={onDelete}
81+
/>
82+
))}
83+
<FullScreenPreview
84+
imgSource={imageSrc}
85+
openImage={imageSrc}
86+
onClose={(e) => handleSee(undefined)}
87+
/>
88+
</Dropzone>
89+
);
90+
}

0 commit comments

Comments
 (0)