This commit is contained in:
zadit
2025-02-13 08:07:57 +07:00
parent 1c8490b9ab
commit 2ceac51de2
5 changed files with 225 additions and 193 deletions

View File

@@ -210,44 +210,45 @@ const ItemLister = ({
name,
price,
selectedImage,
previewUrl
description,
promoPrice
) => {
setItemsToCreate((prevItems) =>
prevItems.map((item) =>
item.itemId === itemId
? { ...item, name, price, selectedImage, image: previewUrl }
? { ...item, name, price, selectedImage, description, promoPrice } //image: previewUrl
: item
)
);
setisEditItem(0);
};
const onUpdateItem = (itemId, name, price, image, description) => {
const onUpdateItem = (itemId, name, price, image, description, promoPrice) => {
if (isEdit)
setItemsToUpdate((prev) => [...prev, { itemId, name, price, image, description }]);
setItemsToUpdate((prev) => [...prev, { itemId, name, price,promoPrice, image, description }]);
else {
console.log(itemId, name, price, image, description)
handleUpdateItem(itemId, name, price, image, description);
handleUpdateItem(itemId, name, price, image, description, promoPrice);
}
const itemIndex = items.findIndex((item) => item.itemId === itemId);
if (itemIndex === -1) return; // Item not found
// Create a copy of the current items array
const updatedItems = [...items];
const item = updatedItems[itemIndex];
console.log(updatedItems)
console.log(items)
// Toggle the availability locally
if(image){
const reader = new FileReader();
reader.onloadend = () => {
updatedItems[itemIndex].image = reader.result;
updatedItems[itemIndex].selectedImage = reader.result;
console.log(reader.result)
};
reader.readAsDataURL(image);
}
const newAvailability = !item.availability;
updatedItems[itemIndex] = {
itemId: item.itemId,
name,
price,
availability: item.availability
@@ -258,7 +259,7 @@ const ItemLister = ({
setItems(updatedItems);
setRandomKey(randomKey + 1);
}
console.log(itemsToUpdate);
};
@@ -375,7 +376,8 @@ const ItemLister = ({
name,
price,
image,
description
description,
promoPrice
} of itemsToUpdate) {
if (newAvailability != undefined) {
await executeUpdateAvailability(
@@ -409,7 +411,7 @@ const ItemLister = ({
else {
// Call the handleUpdateItem function
const updatedItem = await handleUpdateItem(itemId, name, price, image, description);
const updatedItem = await handleUpdateItem(itemId, name, price, image, description, promoPrice);
// Update shopItems state
setShopItems((prevShopItems) => {
@@ -842,7 +844,7 @@ const ItemLister = ({
imageUrl={item.image}
imageFile={item.selectedImage}
cancelEdit={() => editItem(0)}
handleUpdateItem={(name, price, image, description) => { updateItemInCreate(item.itemId, name, price, image, description); setRandomKey(randomKey + 1); console.log(image) }
handleUpdateItem={(name, price, image, description, promoPrice) => { updateItemInCreate(item.itemId, name, price, image, description, promoPrice); setRandomKey(randomKey + 1); console.log(image) }
}
/>
)}
@@ -902,6 +904,7 @@ const ItemLister = ({
forInvoice={forInvoice}
name={item.name}
price={item.price}
promoPrice={item.promoPrice}
qty={item.qty}
imageUrl={item.image}
imageFile={item.selectedImage}
@@ -910,8 +913,8 @@ const ItemLister = ({
onRemoveClick={() => handleRemoveClick(item.itemId)}
isBeingEdit={isEditItem == item.itemId}
isAvailable={item.availability}
handleUpdateItem={(name, price, image, description) =>
updateItemInCreate(item.itemId, name, price, image, description)
handleUpdateItem={(name, price, image, description, promoPrice) =>
updateItemInCreate(item.itemId, name, price, image, description, promoPrice)
}
/>
</div>
@@ -940,12 +943,12 @@ const ItemLister = ({
imageUrl={
itemTypeId ? getImageUrl(item.image) : item.image
}
imageFile={item.selectedImage}
cancelEdit={() => editItem(0)}
handleCreateItem={onCreateItem}
handleUpdateItem={(name, price, image, description) => {
handleUpdateItem={(name, price, image, description, promoPrice) => {
console.log(description)
onUpdateItem(item.itemId, name, price, image, description);
setRandomKey(randomKey + 1); console.log(image);
onUpdateItem(item.itemId, name, price, image, description, promoPrice);
}
}
/>
@@ -1005,18 +1008,20 @@ const ItemLister = ({
forInvoice={forInvoice}
name={item.name}
price={item.price}
promoPrice={item.promoPrice}
qty={item.qty}
description={item.description}
imageUrl={
itemTypeId ? getImageUrl(item.image) : item.image
}
imageFile={item.selectedImage}
onPlusClick={() => handlePlusClick(item.itemId)}
onNegativeClick={() => handleNegativeClick(item.itemId)}
onRemoveClick={() => handleRemoveClick(item.itemId)}
isBeingEdit={isEditItem == item.itemId}
isAvailable={item.availability}
handleUpdateItem={(name, price, image, description) =>
onUpdateItem(item.itemId, name, price, image, description)
handleUpdateItem={(name, price, image, description, promoPrice) =>
onUpdateItem(item.itemId, name, price, image, description, promoPrice)
}
/>
</div>