From faec45f7a0fd9493f92b6d629037f70aed5801b5 Mon Sep 17 00:00:00 2001 From: TakahashiNg <83152264+TakahashiNguyen@users.noreply.github.com> Date: Wed, 13 May 2026 15:07:47 +0000 Subject: [PATCH] chore: update --- dockerfile | 2 +- lib/cart-context.tsx | 22 ++++++++++++++++++++-- 2 files changed, 21 insertions(+), 3 deletions(-) diff --git a/dockerfile b/dockerfile index d363d5c..1d66996 100644 --- a/dockerfile +++ b/dockerfile @@ -4,7 +4,7 @@ RUN apk add --no-cache libc6-compat WORKDIR /app # Cài đặt pnpm -RUN npm install -g pnpm +RUN npm install -g pnpm@10.9.0 # Copy file định nghĩa package để tận dụng cache của Docker COPY package.json pnpm-lock.yaml ./ diff --git a/lib/cart-context.tsx b/lib/cart-context.tsx index e75fcc4..3b101e5 100644 --- a/lib/cart-context.tsx +++ b/lib/cart-context.tsx @@ -19,7 +19,25 @@ const STORAGE_KEY = "coffee-shop-cart"; const CartContext = createContext(null); export function CartProvider({ children }: { children: React.ReactNode }) { - const [items, setItems] = useState([]); + const [cart, setCart] = useState(null!); + const [cartId, setCartId] = useState(null); + + const { data: eateryData } = useQuery(GET_EATERY, { + client: eateryClient, + }); + + const [createCart] = useMutation(CREATE_CART, { + client: cartClient, + }); + + const { data, loading, error } = useQuery(GET_CART_ITEMS, { + client: cartClient, + variables: { cartId }, + }); + + const [addMenuItem] = useMutation(ADD_ITEM, { + client: cartClient, + }); useEffect(() => { try { @@ -32,7 +50,7 @@ export function CartProvider({ children }: { children: React.ReactNode }) { } catch { localStorage.removeItem(STORAGE_KEY); } - }, []); + }, [eateryData, createCart, data, loading, error]); useEffect(() => { localStorage.setItem(STORAGE_KEY, JSON.stringify(items));