Files
2024-DEV-BUT3/src/components/item/ItemBox.jsx

65 lines
2.3 KiB
React
Raw Normal View History

2024-05-13 00:33:13 +02:00
import React, { useEffect, useState } from "react";
2024-05-13 00:13:34 +02:00
import "../../assets/styles/modal.css";
import "../../assets/styles/itembox.css";
import FormUpdateItem from "../form/formUpdateItem";
import { Image } from "../parts/image";
2024-05-13 00:33:13 +02:00
import { Description } from "../parts/description";
import { Characteristic } from "../parts/characteristic";
import { deleteItem } from '../../api/item'
2024-03-27 11:47:47 +01:00
export const ItemBox = ({ model, brand, purchaseDate, price, _id }) => {
2024-05-13 00:13:34 +02:00
const [isModalOpen, setIsModalOpen] = useState(false);
2024-05-13 00:13:34 +02:00
const openModal = () => {
setIsModalOpen(true);
};
2024-05-13 00:13:34 +02:00
const closeModal = () => {
setIsModalOpen(false);
};
const onDelete = async () => {
let response = await deleteItem(_id);
if (response?.status >= 200 && response?.status < 300) {
window.location.reload();
}
}
2024-05-13 00:13:34 +02:00
let productname = brand + " " + model;
let formatedPrice = price + "€";
let formatedDate = new Date(purchaseDate).toLocaleDateString("fr-FR");
2024-05-13 00:13:34 +02:00
let request = brand + " " + model;
return (
<div className="product-details">
<Description title={productname}>
<Image request={request} alt="Product" />
<Characteristic label="Model" value={model} />
<Characteristic label="Brand" value={brand} />
<Characteristic label="Purchase Date" value={formatedDate} />
<Characteristic label="Price" value={formatedPrice} />
{/* Boutons d'édition et de suppression */}
<div className="button-group">
<button className="edit-button" onClick={openModal}>Edit</button>
<button className="delete-button" onClick={onDelete}>Delete</button>
</div>
</Description>
{/* Fenêtre modale */}
{isModalOpen && (
<div className="modal">
<div className="modal-content">
<span className="close" onClick={closeModal}>
&times;
</span>
<FormUpdateItem itemId={_id}>
{console.log("item ID :" + _id)}
</FormUpdateItem>
</div>
</div>
)}
2024-05-09 18:39:06 +02:00
</div>
);
2024-05-13 00:13:34 +02:00
};