diff --git a/src/components/Item.js b/src/components/Item.js index b15de2c..5c19fe2 100644 --- a/src/components/Item.js +++ b/src/components/Item.js @@ -265,7 +265,7 @@ const Item = ({ )} */} - {itemDescription?.length && + {itemDescription && itemDescription != 'undefined' && itemDescription?.length &&

{itemDescription}

diff --git a/src/components/ItemConfig.js b/src/components/ItemConfig.js index 4e9ac51..a246a30 100644 --- a/src/components/ItemConfig.js +++ b/src/components/ItemConfig.js @@ -78,10 +78,11 @@ const ItemConfig = ({ }, [textareaRef.current]); const handleCreate = () => { - handleCreateItem(itemName, itemPrice, selectedImage, previewUrl); + handleCreateItem(itemName, itemPrice, selectedImage, itemDescription); }; const handleUpdate = () => { - handleUpdateItem(itemName, itemPrice, selectedImage, previewUrl); + console.log(itemDescription) + handleUpdateItem(itemName, itemPrice, selectedImage, itemDescription); }; return ( @@ -189,7 +190,7 @@ const ItemConfig = ({ resize: 'none', // Prevent manual resize that could cause overflow }} placeholder="Tambah deskripsi..." - value={initialDescription} + value={itemDescription} onChange={(e)=>setItemDescription(e.target.value)} onFocus={(e) => e.target.style.borderColor = '#60d37e'} onBlur={(e) => e.target.style.borderColor = '#ccc'} diff --git a/src/components/ItemLister.js b/src/components/ItemLister.js index 219302f..a6077eb 100644 --- a/src/components/ItemLister.js +++ b/src/components/ItemLister.js @@ -166,7 +166,8 @@ const ItemLister = ({ setPreviewUrl(previewUrl); }; - const onCreateItem = async (itemName, itemPrice, selectedImage, previewUrl) => { + const onCreateItem = async (itemName, itemPrice, selectedImage, previewUrl, description) => { + console.log(description) if (isEdit) setItemsToCreate((prevItems) => [ ...prevItems, @@ -180,7 +181,7 @@ const ItemLister = ({ }, ]); else { - const newItem = await handleCreateItem(itemTypeId, itemName, itemPrice, selectedImage); + const newItem = await handleCreateItem(itemTypeId, itemName, itemPrice, selectedImage, description); console.log(newItem) if (newItem) { @@ -220,12 +221,12 @@ const ItemLister = ({ ); setisEditItem(0); }; - const onUpdateItem = (itemId, name, price, image) => { + const onUpdateItem = (itemId, name, price, image, description) => { if (isEdit) - setItemsToUpdate((prev) => [...prev, { itemId, name, price, image }]); + setItemsToUpdate((prev) => [...prev, { itemId, name, price, image, description }]); else { - console.log(itemId, name, price, image) - handleUpdateItem(itemId, name, price, image); + console.log(itemId, name, price, image, description) + handleUpdateItem(itemId, name, price, image, description); const itemIndex = items.findIndex((item) => item.itemId === itemId); if (itemIndex === -1) return; // Item not found @@ -339,12 +340,13 @@ const ItemLister = ({ const handleSaveType = async () => { try { console.log(isVisible); + console.log(typeNameInputRef) if (itemTypeId) { // Call the updateItemType function const updatedItemType = await updateItemType( shopId, itemTypeId, - typeNameInputRef.current.value, + editedTypeName, previewUrl, selectedImage, isVisible @@ -356,7 +358,7 @@ const ItemLister = ({ if (itemType.itemTypeId === itemTypeId) { return { ...itemType, - name: updatedItemType.name || typeNameInputRef.current.value, // Update name if provided + name: updatedItemType.name, // Update name if provided image: updatedItemType.image || itemType.image, // Update image if provided visibility: updatedItemType.visibility !== undefined ? updatedItemType.visibility : isVisible, // Update visibility if provided }; @@ -365,6 +367,7 @@ const ItemLister = ({ }); }); + console.log(itemsToUpdate) // Iterate through itemsToUpdate and call the API for (const { itemId, @@ -372,6 +375,7 @@ const ItemLister = ({ name, price, image, + description } of itemsToUpdate) { if (newAvailability != undefined) { await executeUpdateAvailability( @@ -405,7 +409,7 @@ const ItemLister = ({ else { // Call the handleUpdateItem function - const updatedItem = await handleUpdateItem(itemId, name, price, image); + const updatedItem = await handleUpdateItem(itemId, name, price, image, description); // Update shopItems state setShopItems((prevShopItems) => { @@ -432,8 +436,8 @@ const ItemLister = ({ } } console.log(itemsToCreate) - for (const { name, price, selectedImage } of itemsToCreate) { - const newItem = await handleCreateItem(itemTypeId, name, price, selectedImage); + for (const { name, price, selectedImage, description } of itemsToCreate) { + const newItem = await handleCreateItem(itemTypeId, name, price, selectedImage, description); console.log(newItem) if (newItem) { setShopItems((prevShopItems) => { @@ -471,10 +475,10 @@ const ItemLister = ({ ]); // Loop through itemsToCreate and create each item - for (const { name, price, selectedImage } of itemsToCreate) { + for (const { name, price, selectedImage, description } of itemsToCreate) { // Call handleCreateItem to create a new item - const newItem = await handleCreateItem(newItemType.itemTypeId, name, price, selectedImage); - + const newItem = await handleCreateItem(newItemType.itemTypeId, name, price, selectedImage, description); + // If the item was created successfully, update the shopItems state if (newItem) { setShopItems((prevShopItems) => @@ -541,7 +545,6 @@ const ItemLister = ({
{isEdit && } editItem(0)} - handleUpdateItem={(name, price, image) => { updateItemInCreate(item.itemId, name, price, image); setRandomKey(randomKey + 1); console.log(image) } + handleUpdateItem={(name, price, image, description) => { updateItemInCreate(item.itemId, name, price, image, description); setRandomKey(randomKey + 1); console.log(image) } } /> )} @@ -907,8 +910,8 @@ const ItemLister = ({ onRemoveClick={() => handleRemoveClick(item.itemId)} isBeingEdit={isEditItem == item.itemId} isAvailable={item.availability} - handleUpdateItem={(name, price, image) => - updateItemInCreate(item.itemId, name, price, image) + handleUpdateItem={(name, price, image, description) => + updateItemInCreate(item.itemId, name, price, image, description) } />
@@ -939,8 +942,9 @@ const ItemLister = ({ } cancelEdit={() => editItem(0)} handleCreateItem={onCreateItem} - handleUpdateItem={(name, price, image) => { - onUpdateItem(item.itemId, name, price, image); + handleUpdateItem={(name, price, image, description) => { + console.log(description) + onUpdateItem(item.itemId, name, price, image, description); setRandomKey(randomKey + 1); console.log(image); } } @@ -1002,6 +1006,7 @@ const ItemLister = ({ name={item.name} price={item.price} qty={item.qty} + description={item.description} imageUrl={ itemTypeId ? getImageUrl(item.image) : item.image } @@ -1010,8 +1015,8 @@ const ItemLister = ({ onRemoveClick={() => handleRemoveClick(item.itemId)} isBeingEdit={isEditItem == item.itemId} isAvailable={item.availability} - handleUpdateItem={(name, price, image) => - onUpdateItem(item.itemId, name, price, image) + handleUpdateItem={(name, price, image, description) => + onUpdateItem(item.itemId, name, price, image, description) } /> diff --git a/src/components/ItemType.js b/src/components/ItemType.js index 6ffd366..bb931f7 100644 --- a/src/components/ItemType.js +++ b/src/components/ItemType.js @@ -61,9 +61,9 @@ export default function ItemType({
- {namee} + {imageUrl != 'uploads/assets/All.png' ? + {namee} + : + + Created by potrace 1.16, written by Peter Selinger 2001-2019 + + + + + + } {blank && rectangular && (
onFilterChange(0)} - imageUrl={getImageUrl("uploads/assets/All.png")} + imageUrl={"uploads/assets/All.png"} /> )} {itemTypes && diff --git a/src/helpers/itemHelper.js b/src/helpers/itemHelper.js index 9efe006..14f0813 100644 --- a/src/helpers/itemHelper.js +++ b/src/helpers/itemHelper.js @@ -72,7 +72,8 @@ export async function createItem( name, price, selectedImage, - itemTypeId + itemTypeId, + description ) { try { console.log(selectedImage); @@ -80,6 +81,7 @@ export async function createItem( formData.append("name", name); formData.append("price", price); formData.append("image", selectedImage); + formData.append("description", description); formData.append("itemTypeId", itemTypeId); const response = await fetch(`${API_BASE_URL}/item/create/${shopId}`, { @@ -108,15 +110,20 @@ export async function updateItem( name, price, selectedImage, - isVisible + description ) { try { - console.log(selectedImage); + console.log( + itemId, + name, + price, + selectedImage, + description); const formData = new FormData(); formData.append("name", name); formData.append("price", price); formData.append("image", selectedImage); - formData.append("isVisible", isVisible); + formData.append("description", description); const response = await fetch(`${API_BASE_URL}/item/set-item/${itemId}`, { method: "PUT", diff --git a/src/pages/CafePage.js b/src/pages/CafePage.js index faf1b5e..eb6cb31 100644 --- a/src/pages/CafePage.js +++ b/src/pages/CafePage.js @@ -266,18 +266,20 @@ function CafePage({ itemTypeID, name, price, - selectedImage + selectedImage, + description ) => createItem( shopId, name, price, selectedImage, - itemTypeID + itemTypeID, + description ) } - handleUpdateItem={(itemId, name, price, selectedImage) => - updateItem(itemId, name, price, selectedImage) + handleUpdateItem={(itemId, name, price, selectedImage, description) => + updateItem(itemId, name, price, selectedImage, description) } /> ))}