This commit is contained in:
everythingonblack
2025-05-06 16:51:35 +07:00
parent f674b275b1
commit 97f1fd7bfc
10 changed files with 58 additions and 44 deletions

View File

@@ -2,7 +2,7 @@
"name": "groovebrew-mockup", "name": "groovebrew-mockup",
"version": "0.1.0", "version": "0.1.0",
"private": true, "private": true,
"homepage": "https://test.kedaimaster.com", "homepage": "https://dev.kedaimaster.com",
"dependencies": { "dependencies": {
"@emotion/react": "^11.13.3", "@emotion/react": "^11.13.3",
"@emotion/styled": "^11.13.0", "@emotion/styled": "^11.13.0",

View File

@@ -282,6 +282,7 @@ function App() {
setDeviceType("guestDevice"); setDeviceType("guestDevice");
} else { } else {
console.log(data) console.log(data)
if(data.data.user.cafeId != null) navigate(`/${data.data.user.cafeIdentityName}`, { replace: true });
setUser(data.data.user); setUser(data.data.user);
if (data.data.latestOpenBillTransaction != null) localStorage.setItem('lastTransaction', JSON.stringify(data.data.latestOpenBillTransaction)) if (data.data.latestOpenBillTransaction != null) localStorage.setItem('lastTransaction', JSON.stringify(data.data.latestOpenBillTransaction))
if ( if (
@@ -294,7 +295,6 @@ function App() {
setGuestSides(connectedGuestSides.sessionDatas); setGuestSides(connectedGuestSides.sessionDatas);
console.log("getting guest side"); console.log("getting guest side");
setDeviceType("clerk"); setDeviceType("clerk");
checkNotifications(); checkNotifications();
} else { } else {
setDeviceType("guestDevice"); setDeviceType("guestDevice");
@@ -394,16 +394,16 @@ function App() {
}; };
}, [socket, shopId, location]); // Ensure location is in the dependencies to respond to changes in the URL }, [socket, shopId, location]); // Ensure location is in the dependencies to respond to changes in the URL
useEffect(() => { // useEffect(() => {
if (user.cafeId != null && user.cafeId !== shopId) { // if (user.cafeId != null && user.cafeId !== shopId) {
// Preserve existing query parameters // // Preserve existing query parameters
const currentParams = new URLSearchParams(location.search).toString(); // const currentParams = new URLSearchParams(location.search).toString();
// Navigate to the new cafeId while keeping existing params // // Navigate to the new cafeId while keeping existing params
navigate(`/${user.cafeId}?${currentParams}`, { replace: true }); // navigate(`/${user.cafeId}?${currentParams}`, { replace: true });
} // }
}, [user, shopId]); // }, [user, shopId]);
function handleMoveToTransaction(direction, from) { function handleMoveToTransaction(direction, from) {
console.log(direction); console.log(direction);

View File

@@ -80,7 +80,8 @@ const ItemConfig = ({
}, [textareaRef.current]); }, [textareaRef.current]);
const handleCreate = () => { const handleCreate = () => {
handleCreateItem(itemName, itemPrice, selectedImage, itemDescription, itemPromoPrice); console.log(itemPromoPrice)
handleCreateItem(itemName, itemPrice, selectedImage, previewUrl, itemDescription, itemPromoPrice);
}; };
const handleUpdate = () => { const handleUpdate = () => {
console.log(itemName, itemPrice, selectedImage, itemDescription, itemPromoPrice) console.log(itemName, itemPrice, selectedImage, itemDescription, itemPromoPrice)

View File

@@ -167,8 +167,13 @@ const ItemLister = ({
console.log(previewUrl); console.log(previewUrl);
setPreviewUrl(previewUrl); setPreviewUrl(previewUrl);
}; };
const onEditItem = async (itemId, name, price, image, description, promoPrice) => {
const onCreateItem = async (itemName, itemPrice, selectedImage, previewUrl, description) => { await updateItemInCreate(itemId, name, price, image, description, promoPrice);
setRandomKey(randomKey + 1);
console.log(image)
editItem(0);
}
const onCreateItem = async (itemName, itemPrice, selectedImage, previewUrl, description, promoPrice) => {
console.log(description) console.log(description)
if (isEdit) if (isEdit)
setItemsToCreate((prevItems) => [ setItemsToCreate((prevItems) => [
@@ -179,11 +184,12 @@ const ItemLister = ({
price: itemPrice, price: itemPrice,
selectedImage, selectedImage,
image: previewUrl, image: previewUrl,
availability: true availability: true,
promoPrice: promoPrice
}, },
]); ]);
else { else {
const newItem = await handleCreateItem(itemTypeId, itemName, itemPrice, selectedImage, description); const newItem = await handleCreateItem(itemTypeId, itemName, itemPrice, selectedImage, description, promoPrice);
console.log(newItem) console.log(newItem)
if (newItem) { if (newItem) {
@@ -270,6 +276,7 @@ const ItemLister = ({
name, name,
price, price,
description: description, description: description,
promoPrice: promoPrice,
availability: item.availability, availability: item.availability,
image: image ? newImage : item.image, image: image ? newImage : item.image,
selectedImage: image ? newImage : null selectedImage: image ? newImage : null
@@ -866,7 +873,7 @@ const ItemLister = ({
imageUrl={item.image} imageUrl={item.image}
imageFile={item.selectedImage} imageFile={item.selectedImage}
cancelEdit={() => editItem(0)} cancelEdit={() => editItem(0)}
handleUpdateItem={(name, price, image, description, promoPrice) => { updateItemInCreate(item.itemId, name, price, image, description, promoPrice); setRandomKey(randomKey + 1); console.log(image) } handleUpdateItem={(name, price, image, description, promoPrice) => { onEditItem(item.itemId, name, price, image, description, promoPrice);}
} }
/> />
)} )}
@@ -974,7 +981,7 @@ const ItemLister = ({
console.error("Error updating item:", error); console.error("Error updating item:", error);
} }
}} }}
/> />
)} )}
<div className={styles["itemWrapper"]}> <div className={styles["itemWrapper"]}>

View File

@@ -23,7 +23,7 @@ const ItemTypeLister = ({
const [items, setItems] = useState([]); const [items, setItems] = useState([]);
const [itemTypeName, setItemTypeName] = useState(""); const [itemTypeName, setItemTypeName] = useState("");
const handleCreateItem = (name, price, selectedImage, previewUrl) => { const handleCreateItem = (name, price, selectedImage, previewUrl, description, promoPrice) => {
console.log(previewUrl); console.log(previewUrl);
const newItem = { const newItem = {
itemId: items.length + 1, itemId: items.length + 1,
@@ -32,6 +32,8 @@ const ItemTypeLister = ({
selectedImage, selectedImage,
image: previewUrl, image: previewUrl,
availability: true, availability: true,
description,
promoPrice
}; };
// Update the items state with the new item // Update the items state with the new item
@@ -120,7 +122,7 @@ const ItemTypeLister = ({
setShopItems={setShopItems} setShopItems={setShopItems}
itemList={items} itemList={items}
isEditMode={true} isEditMode={true}
handleCreateItem={(itemTypeId, name, price, selectedImage) => createItem(shopId, name, price, selectedImage,itemTypeId)} handleCreateItem={(itemTypeId, name, price, selectedImage, description, promoPrice) => createItem(shopId, name, price, selectedImage, itemTypeId, description, promoPrice)}
beingEditedType={beingEditedType} beingEditedType={beingEditedType}
setBeingEditedType={setBeingEditedType} setBeingEditedType={setBeingEditedType}
alwaysEdit={true} alwaysEdit={true}

View File

@@ -108,7 +108,7 @@ export function MusicPlayer({ socket, shopId, user, shopOwnerId, isSpotifyNeedLo
// setSubtitleColor("white"); // setSubtitleColor("white");
// setSubtitleBG("black"); // setSubtitleBG("black");
// } // }
const proxiedUrl = `https://test.api.kedaimaster.com/image?url=${encodeURIComponent(modifyUrl(imageUrl))}`; // Use your proxy to fetch the image const proxiedUrl = `https://dev.api.kedaimaster.com/image?url=${encodeURIComponent(modifyUrl(imageUrl))}`; // Use your proxy to fetch the image
setBackgroundImage(proxiedUrl); setBackgroundImage(proxiedUrl);
} catch (error) { } catch (error) {

View File

@@ -1,5 +1,5 @@
// src/config.js // src/config.js
const API_BASE_URL = 'https://test.api.kedaimaster.com'; const API_BASE_URL = 'https://dev.api.kedaimaster.com';
export default API_BASE_URL; export default API_BASE_URL;

View File

@@ -73,7 +73,8 @@ export async function createItem(
price, price,
selectedImage, selectedImage,
itemTypeId, itemTypeId,
description description,
promoPrice
) { ) {
try { try {
console.log(selectedImage); console.log(selectedImage);
@@ -81,8 +82,9 @@ export async function createItem(
formData.append("name", name); formData.append("name", name);
formData.append("price", price); formData.append("price", price);
formData.append("image", selectedImage); formData.append("image", selectedImage);
formData.append("description", description); if(description != null )formData.append("description", description);
formData.append("itemTypeId", itemTypeId); formData.append("itemTypeId", itemTypeId);
if(promoPrice != null )formData.append("promoPrice", promoPrice);
const response = await fetch(`${API_BASE_URL}/item/create/${shopId}`, { const response = await fetch(`${API_BASE_URL}/item/create/${shopId}`, {
method: "POST", method: "POST",

View File

@@ -213,7 +213,7 @@ function CafePage({
) : ( */} ) : ( */}
<div className={`Cafe ${isExceededDeadline ? 'grayscale' : ''}`}> <div className={`Cafe ${isExceededDeadline ? 'grayscale' : ''}`}>
{API_BASE_URL != 'https://api.kedaimaster.com' && {API_BASE_URL != 'https://dev.api.kedaimaster.com' &&
<div className="Watermark"></div> <div className="Watermark"></div>
} }
<div className="App-header"> <div className="App-header">
@@ -289,7 +289,8 @@ function CafePage({
name, name,
price, price,
selectedImage, selectedImage,
description description,
promoPrice,
) => ) =>
createItem( createItem(
shopId, shopId,
@@ -297,7 +298,8 @@ function CafePage({
price, price,
selectedImage, selectedImage,
itemTypeID, itemTypeID,
description description,
promoPrice,
) )
} }
handleUpdateItem={(itemId, name, price, selectedImage, description, promoPrice) => handleUpdateItem={(itemId, name, price, selectedImage, description, promoPrice) =>

View File

@@ -46,7 +46,7 @@ const CreateCouponPage = () => {
let encodedCouponCode = encodeURIComponent(encryptedCouponCode); let encodedCouponCode = encodeURIComponent(encryptedCouponCode);
// Construct the URL with the encoded coupon code as a query parameter // Construct the URL with the encoded coupon code as a query parameter
const urlWithCoupon = `https://test.coupon.kedaimaster.com/coupon?c=${encodedCouponCode}`; const urlWithCoupon = `https://coupon.kedaimaster.com/coupon?c=${encodedCouponCode}`;
// Optionally, set the URL to use with the coupon // Optionally, set the URL to use with the coupon
setCouponUrl(urlWithCoupon); setCouponUrl(urlWithCoupon);