import { useState } from "react"; import {Box, ButtonBase, useTheme, Typography, SxProps, Theme} from "@mui/material"; import UploadIcon from "../../assets/icons/UploadIcon"; import { SnackbarProvider, enqueueSnackbar } from 'notistack'; interface Props { text?: string; sx?: SxProps; heightImg: string; widthImg?: string } //Научи функцию принимать данные для валидации export default ({text, sx, heightImg, widthImg}: Props) => { const theme = useTheme(); const imgHC = (imgInp:any) => { const [file] = imgInp.files if (file.size < 5242880) { setData(URL.createObjectURL(file)) } else {enqueueSnackbar('Размер картинки слишком велик')} } const [data, setData] = useState("") const [ready, setReady] = useState(false); const dragenterHC = () => { // console.log("onDragEnter") setReady(true) } const dragexitHC = () => { // console.log("onDragExit") setReady(false) } const dropHC = (event: any) => { event.preventDefault() // console.log("onDrop") setReady(false) const file = event.dataTransfer.files[0] console.log(event.dataTransfer.files[0]) if (file.size < 5242880) { setData(URL.createObjectURL(file)) } else {enqueueSnackbar('Размер картинки слишком велик')} } const dragOverHC = (event: any) => { event.preventDefault() // console.log("onDragOver") } return ( imgHC(event.target)} hidden accept="image/*" multiple type="file" /> {text} {data ? : null } ) }