import React, { useState } from "react"; import PropTypes from "prop-types"; import { Box, IconButton, Stack, TextField, Typography } from "@mui/material"; import { useTheme } from "@emotion/react"; import CloudUploadIcon from "@mui/icons-material/CloudUpload"; import "./index.css"; /** * @param {Object} props - The component props. * @param {string} props.id - The unique identifier for the input field. * @param {string} props.picture - The URL of the image to display. * @param {function} props.onChange - The function to handle file input change. * @returns {JSX.Element} The rendered component. */ const ImageField = ({ id, picture, onChange }) => { const theme = useTheme(); const [isDragging, setIsDragging] = useState(false); const handleDragEnter = () => { setIsDragging(true); }; const handleDragLeave = () => { setIsDragging(false); }; return ( <> {!picture ? ( <> Click to upload or drag and drop (maximum size: 3MB) Supported formats: JPG, PNG ) : ( )} ); }; ImageField.propTypes = { id: PropTypes.string.isRequired, picture: PropTypes.string, onChange: PropTypes.func.isRequired, }; export default ImageField;