diff --git a/src/components/ItemConfig.js b/src/components/ItemConfig.js new file mode 100644 index 0000000..3a10363 --- /dev/null +++ b/src/components/ItemConfig.js @@ -0,0 +1,99 @@ +import React, { useState, useEffect, useRef } from "react"; +import styles from "./Modal.module.css"; +import { getImageUrl } from "../helpers/itemHelper.js"; + +const ItemConfig = ({ Item, cancelEdit }) => { + const [selectedImage, setSelectedImage] = useState(null); + const [previewUrl, setPreviewUrl] = useState(Item.image); + const fileInputRef = useRef(null); + + + useEffect(() => { + console.log(Item.image) + + // Prevent scrolling when modal is open + document.body.style.overflow = "hidden"; + + if (selectedImage) { + const reader = new FileReader(); + reader.onloadend = () => { + setPreviewUrl(reader.result); + }; + reader.readAsDataURL(selectedImage); + } else { + setPreviewUrl(Item.image); + } + }, [selectedImage, Item]); + + + const handleOverlayClick = (event) => { + // Prevent scrolling when modal is open + document.body.style.overflow = "auto"; + cancelEdit(); + }; + + + // Function to handle clicks on the modal content + const handleContentClick = (event) => { + // Prevent click event from propagating to the overlay + event.stopPropagation(); + }; + + + const handleChangeImage = () => { + fileInputRef.current.click(); + }; + + + const handleFileChange = (event) => { + const file = event.target.files[0]; + if (file) { + setSelectedImage(file); + } + }; + + return ( +
Nama item
+ +Harga
+ +Harga promo
+ +Deskripsi
+ +