import { useState } from "react"; import AddImageModal from "./AddImageModal"; import ConfirmBuyModal from "./ConfirmBuyModal"; import ImageModal from "./ImageModal"; export default function GroceryListItem({ item, onClick, onImageAdded }) { const [showModal, setShowModal] = useState(false); const [showAddImageModal, setShowAddImageModal] = useState(false); const [showConfirmBuyModal, setShowConfirmBuyModal] = useState(false); const handleItemClick = () => { setShowConfirmBuyModal(true); }; const handleConfirmBuy = (quantity) => { if (onClick) { onClick(quantity); } setShowConfirmBuyModal(false); }; const handleCancelBuy = () => { setShowConfirmBuyModal(false); }; const handleImageClick = (e) => { e.stopPropagation(); // Prevent triggering the bought action if (item.item_image) { setShowModal(true); } else { setShowAddImageModal(true); } }; const handleAddImage = async (imageFile) => { if (onImageAdded) { await onImageAdded(item.id, item.item_name, item.quantity, imageFile); } setShowAddImageModal(false); }; const imageUrl = item.item_image && item.image_mime_type ? `data:${item.image_mime_type};base64,${item.item_image}` : null; return ( <>
  • {item.item_image ? ( {item.item_name} ) : ( 📦 )} x{item.quantity}
    {item.item_name}
    {item.added_by_users && item.added_by_users.length > 0 && (
    {item.added_by_users.join(", ")}
    )}
  • {showModal && ( setShowModal(false)} /> )} {showAddImageModal && ( setShowAddImageModal(false)} onAddImage={handleAddImage} /> )} {showConfirmBuyModal && ( )} ); }