diff --git a/src/_app/modules/wrapper/Wrapper.tsx b/src/_app/modules/wrapper/Wrapper.tsx index 6f29d55036394226b11af935850e267b67e9a6c4..85e732a8676c38792e83e5b5f54067c4686fb927 100644 --- a/src/_app/modules/wrapper/Wrapper.tsx +++ b/src/_app/modules/wrapper/Wrapper.tsx @@ -10,7 +10,6 @@ import S from './Wrapper.module.css'; import type { GFCWithProp } from "../../../common/types/fc"; import type { OrderedItemModel } from "../../../pages/admin-page/config/type"; -import type { CartItemPostModel } from "../../../pages/cart-page/config/type"; import type { MenuPageModel } from "../../../pages/menu-page/config/type"; import type { ReactNode , MutableRefObject } from "react"; diff --git a/src/contexts/cart/index.tsx b/src/contexts/cart/index.tsx index bcb80dcca5e66ba5371a8ca9ed7b9f28297bfd40..7ae8a04a7af552415c85b680b724f83739bc6e9b 100644 --- a/src/contexts/cart/index.tsx +++ b/src/contexts/cart/index.tsx @@ -1,5 +1,6 @@ import { createContext, useEffect, useState } from "react"; +import { cloneDeep } from "../../common/utils/jjLodash"; import logger from "../../common/utils/logger"; import type { CartItemData } from "../../pages/cart-page/config/type"; @@ -42,11 +43,11 @@ const CartProvider: FC<Props> = ({ children }) => { const addCartItem = (cartItem: CartItemData) => { setItem((prevItem) => { - if (cartItem.shop !== prevItem?.shop) { + if (cartItem.shop._id !== prevItem?.shop._id) { return cartItem; } else { - const _prev = { ...prevItem }; + const _prev = cloneDeep(prevItem); _prev?.menus?.push(...cartItem.menus); return _prev; } diff --git a/src/pages/menu-page/modules/menu-box/MenuBox.tsx b/src/pages/menu-page/modules/menu-box/MenuBox.tsx index 83f94a4e9d63198dce3abedb9fe081ff5284ac80..6afec3ac57fa97355033afbc156906407c2e4419 100644 --- a/src/pages/menu-page/modules/menu-box/MenuBox.tsx +++ b/src/pages/menu-page/modules/menu-box/MenuBox.tsx @@ -69,8 +69,8 @@ const MenuBSEl: FC<MenuBSElProps> = ({ _id, name, price, image, shop }) => { const handleClickPutIn = () => { if (!cartItem) caseCartIsEmpty(); - if (cartItem?.shop && (cartItem?.shop !== shop)) caseCartIsNotSameShop(); - if (cartItem?.shop && (cartItem?.shop === shop)) caseCartIsSameShop(); + if (cartItem?.shop && (cartItem?.shop._id !== shop._id)) caseCartIsNotSameShop(); + if (cartItem?.shop && (cartItem?.shop._id === shop._id)) caseCartIsSameShop(); // TODO:: Needs TOAST flushBSElement();