import React, { useEffect, useState } from 'react'; import { searchAndResizeImage } from '../../api/image-request' import '../../assets/styles/modal.css' import '../../assets/styles/itembox.css' import FormUpdateItem from '../form/formUpdateItem'; // Composant Image const Image = ({ src, alt, request, _id }) => { const [cacheUrl, setCacheUrl] = useState(null); useEffect(() => { const fetchData = async () => { let cachedUrl = localStorage.getItem(_id); if (!cachedUrl) { try { cachedUrl = await searchAndResizeImage(request); localStorage.setItem(_id, cachedUrl); console.log("Mise en cache de l'image avec l'ID : " + _id); } catch (error) { console.error("Erreur lors de la récupération de l'image : ", error); } } setCacheUrl(cachedUrl); }; fetchData(); }, [request, _id]); if (src) { return {alt}; } else if (cacheUrl) { return {alt}; } else { return {alt}; } }; // Composant Description const Description = ({ title, children }) => { return (

{title}

{children}
); }; // Composant Caractéristique const Characteristic = ({ label, value }) => { return (
{label}: {value}
); }; // Composant Détails du Produit export const ItemBox = ({ model, brand, purchaseDate, price, _id }) => { const [isModalOpen, setIsModalOpen] = useState(false); // Fonction pour ouvrir la fenêtre modale const openModal = () => { setIsModalOpen(true); }; // Fonction pour fermer la fenêtre modale const closeModal = () => { setIsModalOpen(false); }; let productname = brand + " " + model; let formatedPrice = price + "€"; let formatedDate = new Date(purchaseDate).toLocaleDateString('fr-FR'); let request = brand + " " + model return (
Product {/* Bouton d'édition pour ouvrir la fenêtre modale */} {/* Fenêtre modale */} {isModalOpen && (
×
)}
); };