x
This commit is contained in:
@@ -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",
|
||||||
|
|||||||
18
src/App.js
18
src/App.js
@@ -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);
|
||||||
|
|||||||
@@ -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)
|
||||||
|
|||||||
@@ -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);}
|
||||||
}
|
}
|
||||||
/>
|
/>
|
||||||
)}
|
)}
|
||||||
@@ -957,24 +964,24 @@ const ItemLister = ({
|
|||||||
// batal
|
// batal
|
||||||
// </button>
|
// </button>
|
||||||
<ItemConfig
|
<ItemConfig
|
||||||
isBeingEdit={true}
|
isBeingEdit={true}
|
||||||
name={item.name}
|
name={item.name}
|
||||||
price={item.price}
|
price={item.price}
|
||||||
promoPrice={item.promoPrice}
|
promoPrice={item.promoPrice}
|
||||||
description={item.description}
|
description={item.description}
|
||||||
imageUrl={itemTypeId ? getImageUrl(item.image) : item.image}
|
imageUrl={itemTypeId ? getImageUrl(item.image) : item.image}
|
||||||
imageFile={item.selectedImage}
|
imageFile={item.selectedImage}
|
||||||
cancelEdit={() => editItem(0)}
|
cancelEdit={() => editItem(0)}
|
||||||
handleCreateItem={onCreateItem}
|
handleCreateItem={onCreateItem}
|
||||||
handleUpdateItem={async (name, price, image, description, promoPrice) => {
|
handleUpdateItem={async (name, price, image, description, promoPrice) => {
|
||||||
try {
|
try {
|
||||||
console.log(description);
|
console.log(description);
|
||||||
await onUpdateItem(item.itemId, name, price, image, description, promoPrice);
|
await onUpdateItem(item.itemId, name, price, image, description, promoPrice);
|
||||||
} catch (error) {
|
} catch (error) {
|
||||||
console.error("Error updating item:", error);
|
console.error("Error updating item:", error);
|
||||||
}
|
}
|
||||||
}}
|
}}
|
||||||
/>
|
/>
|
||||||
|
|
||||||
)}
|
)}
|
||||||
<div className={styles["itemWrapper"]}>
|
<div className={styles["itemWrapper"]}>
|
||||||
|
|||||||
@@ -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}
|
||||||
|
|||||||
@@ -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) {
|
||||||
|
|||||||
@@ -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;
|
||||||
|
|||||||
@@ -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",
|
||||||
|
|||||||
@@ -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) =>
|
||||||
|
|||||||
@@ -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);
|
||||||
|
|||||||
Reference in New Issue
Block a user