From 578b6f83deef6ada39710966ef4e492f72533e40 Mon Sep 17 00:00:00 2001 From: zadit <75159257+insvrgent@users.noreply.github.com> Date: Tue, 11 Feb 2025 11:28:18 +0700 Subject: [PATCH] ok --- src/components/ItemConfig.js | 99 ++++++++++++++++++++++++++++++++++++ src/components/ItemLister.js | 16 +----- 2 files changed, 101 insertions(+), 14 deletions(-) create mode 100644 src/components/ItemConfig.js 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
+ +