From c42ac310fc6c3d264e8298a4ce00e5d94df07a8d Mon Sep 17 00:00:00 2001 From: w3bdesign <45217974+w3bdesign@users.noreply.github.com> Date: Thu, 3 Jul 2025 20:47:35 +0200 Subject: [PATCH] Refactor cart mutations to use refetchQueries option Updated addToCart and updateCart mutations to use the refetchQueries option in useMutation, ensuring the cart is refreshed after mutations. Removed manual calls to refetchCart as they are now handled automatically. --- store/useCart.js | 13 ++++++++----- 1 file changed, 8 insertions(+), 5 deletions(-) diff --git a/store/useCart.js b/store/useCart.js index 978d6df0..e0a03d41 100644 --- a/store/useCart.js +++ b/store/useCart.js @@ -62,9 +62,15 @@ export const useCart = defineStore( }; const { mutate: addToCartMutation, loading: addToCartLoading } = - useMutation(ADD_TO_CART_MUTATION); + useMutation(ADD_TO_CART_MUTATION, { + refetchQueries: [{ query: GET_CART_QUERY }], + awaitRefetchQueries: true, + }); const { mutate: updateCartMutation, loading: updateCartLoading } = - useMutation(UPDATE_CART_MUTATION); + useMutation(UPDATE_CART_MUTATION, { + refetchQueries: [{ query: GET_CART_QUERY }], + awaitRefetchQueries: true, + }); const addToCart = async (product, quantity = 1) => { try { @@ -74,7 +80,6 @@ export const useCart = defineStore( quantity: quantity, }, }); - await refetchCart(); } catch (err) { console.error("Error adding to cart:", err); } @@ -87,10 +92,8 @@ export const useCart = defineStore( items: Array.isArray(key) ? key : [{ key, quantity }], }, }); - await refetchCart(); } catch (err) { console.error("Error updating cart item quantity:", err); - await refetchCart(); } };