mirror of
https://github.com/emsesp/EMS-ESP32.git
synced 2025-12-06 15:59:52 +03:00
highlight upload box when dragging
This commit is contained in:
@@ -12,6 +12,7 @@ import './dragNdrop.css';
|
|||||||
|
|
||||||
const DragNdrop = ({ onFileSelected }) => {
|
const DragNdrop = ({ onFileSelected }) => {
|
||||||
const [file, setFile] = useState<File>();
|
const [file, setFile] = useState<File>();
|
||||||
|
const [dragged, setDragged] = useState(false);
|
||||||
const inputRef = useRef<HTMLInputElement | null>(null);
|
const inputRef = useRef<HTMLInputElement | null>(null);
|
||||||
const { LL } = useI18nContext();
|
const { LL } = useI18nContext();
|
||||||
|
|
||||||
@@ -45,6 +46,7 @@ const DragNdrop = ({ onFileSelected }) => {
|
|||||||
const handleRemoveFile = (event) => {
|
const handleRemoveFile = (event) => {
|
||||||
event.stopPropagation();
|
event.stopPropagation();
|
||||||
setFile(undefined);
|
setFile(undefined);
|
||||||
|
setDragged(false);
|
||||||
};
|
};
|
||||||
|
|
||||||
const handleUploadClick = (event) => {
|
const handleUploadClick = (event) => {
|
||||||
@@ -56,11 +58,17 @@ const DragNdrop = ({ onFileSelected }) => {
|
|||||||
inputRef.current?.click();
|
inputRef.current?.click();
|
||||||
};
|
};
|
||||||
|
|
||||||
|
const handleDragOver = (event) => {
|
||||||
|
event.preventDefault(); // prevent file from being opened
|
||||||
|
setDragged(true);
|
||||||
|
};
|
||||||
|
|
||||||
return (
|
return (
|
||||||
<div
|
<div
|
||||||
className={`document-uploader ${file ? 'upload-box active' : 'upload-box'}`}
|
className={`document-uploader ${file || dragged ? 'active' : ''}`}
|
||||||
onDrop={handleDrop}
|
onDrop={handleDrop}
|
||||||
onDragOver={(event) => event.preventDefault()}
|
onDragOver={handleDragOver}
|
||||||
|
onDragLeave={() => setDragged(false)}
|
||||||
onClick={handleBrowseClick}
|
onClick={handleBrowseClick}
|
||||||
>
|
>
|
||||||
<div className="upload-info">
|
<div className="upload-info">
|
||||||
|
|||||||
Reference in New Issue
Block a user