diff --git a/frontend/package-lock.json b/frontend/package-lock.json index 90a310c..b9a88c4 100644 --- a/frontend/package-lock.json +++ b/frontend/package-lock.json @@ -22,6 +22,7 @@ "@types/react-router-dom": "^5.3.3", "@types/sass": "^1.43.1", "@types/web-bluetooth": "^0.0.15", + "classnames": "^2.3.2", "react": "^18.2.0", "react-dom": "^18.2.0", "react-dropzone": "^14.2.3", @@ -4970,6 +4971,11 @@ "version": "1.2.2", "license": "MIT" }, + "node_modules/classnames": { + "version": "2.3.2", + "resolved": "https://registry.npmjs.org/classnames/-/classnames-2.3.2.tgz", + "integrity": "sha512-CSbhY4cFEJRe6/GQzIk5qXZ4Jeg5pcsP7b5peFSDpffpe1cqjASH/n9UTjBwOp6XpMSTwQ8Za2K5V02ueA7Tmw==" + }, "node_modules/clean-css": { "version": "5.3.0", "license": "MIT", @@ -18264,6 +18270,11 @@ "cjs-module-lexer": { "version": "1.2.2" }, + "classnames": { + "version": "2.3.2", + "resolved": "https://registry.npmjs.org/classnames/-/classnames-2.3.2.tgz", + "integrity": "sha512-CSbhY4cFEJRe6/GQzIk5qXZ4Jeg5pcsP7b5peFSDpffpe1cqjASH/n9UTjBwOp6XpMSTwQ8Za2K5V02ueA7Tmw==" + }, "clean-css": { "version": "5.3.0", "requires": { diff --git a/frontend/package.json b/frontend/package.json index bb3945f..ef92036 100644 --- a/frontend/package.json +++ b/frontend/package.json @@ -17,6 +17,7 @@ "@types/react-router-dom": "^5.3.3", "@types/sass": "^1.43.1", "@types/web-bluetooth": "^0.0.15", + "classnames": "^2.3.2", "react": "^18.2.0", "react-dom": "^18.2.0", "react-dropzone": "^14.2.3", diff --git a/frontend/src/components/MyDropzone.tsx b/frontend/src/components/MyDropzone.tsx index 23bfff7..6fa428e 100644 --- a/frontend/src/components/MyDropzone.tsx +++ b/frontend/src/components/MyDropzone.tsx @@ -1,21 +1,26 @@ -import {useCallback} from 'react' +import classNames from 'classnames' +import {useCallback, useState} from 'react' import {useDropzone} from 'react-dropzone' +import { readFile } from '../helpers' function MyDropzone() { - const onDrop = useCallback((acceptedFiles: any) => { + const [txt, settxt] = useState('Empty!') + const onDrop = useCallback(async (acceptedFiles: any) => { // Do something with the files console.log(acceptedFiles) + settxt(await readFile(acceptedFiles[0])) }, []) const {getRootProps, getInputProps, isDragActive} = useDropzone({onDrop}) return ( -
Drop the files here ...
:Drag 'n' drop some files here, or click to select files
} + {txt}