"use strict";(self.webpackChunk_N_E=self.webpackChunk_N_E||[]).push([[2354],{12354:function(t,e,r){r.d(e,{$g:function(){return h},Ew:function(){return v},ID:function(){return q},PG:function(){return Q},dK:function(){return w},fq:function(){return C},jD:function(){return m},qK:function(){return g},rA:function(){return E},sC:function(){return p},tI:function(){return f}});var a=r(52204),n=r(98029),o=r(36808),i=r.n(o),u=r(75324),s=r(76902),l=r(72461),d=r(58370),c=r(53130),y=r(42888);let m=()=>(0,a.a)({queryKey:["cart",i().get(s.Ud),i().get(s.QP)],queryFn:async()=>{var t,e;let r;if(i().get(s.Ud)?(null==(r=await y.M.getCart())?void 0:null===(e=r.data)||void 0===e?void 0:e.id)||console.error("Can't get cart, trying to use guest version instead"):r=await y.z.getCart(),null==r?void 0:null===(t=r.data)||void 0===t?void 0:t.id)return d.lZ.formatCart(r.data);setTimeout(()=>{c.Eh.getQueryData(["cart"])},1e3)}}),g=()=>(0,a.a)({queryKey:["cartTotals",i().get(s.Ud)],queryFn:async()=>{if(i().get(s.Ud)){let t=await y.M.getCartTotals();return d.lZ.formatCartTotal(null==t?void 0:t.data)||null}return null}}),v=()=>(0,a.a)({queryKey:["paymentMethods"],queryFn:async()=>{var t;let e=await y.M.getPaymentMethods();return(null==e?void 0:null===(t=e.data)||void 0===t?void 0:t.items)||[]}}),f=()=>{let{parseMessages:t,handleError:e,handleSuccess:r}=(0,u.f)();return(0,n.D)({mutationKey:["addToCart"],onMutate:async t=>{let{product:e,amount:r}=t;c.Eh.cancelQueries({queryKey:["cart"]});let a=c.Eh.getQueryData(["cart"]);return c.Eh.setQueryData(["cart",i().get(s.Ud),i().get(s.QP)],t=>{let a=t?{...t}:void 0;if(a){let t=e.sku;a.itemsQty+=r,a.items.find(e=>e.sku===t)?a.items=a.items.map(e=>e.sku===t?(e.qty+=r,{...e,qty:e.qty+r}):e):(a.itemsCount+=r,a.items=a.items.concat(d.lZ.formatProductToCartItem(e,r))||[])}return a}),{previousCart:a}},mutationFn:async e=>{let a,{product:n,amount:o}=e,u=n.sku;if((null==(a=i().get(s.Ud)?await y.M.addToCart(u,o):await y.z.addToCart(u,o))?void 0:a.status)===1)return r(),a;if(null!==a)throw Error(t(null==a?void 0:a.messages))},onSettled:()=>{c.Eh.invalidateQueries({queryKey:["cart"]})},onError:(t,r,a)=>{console.log(t.message),e(),(null==a?void 0:a.previousCart)&&c.Eh.setQueryData(["cart",i().get(s.Ud),i().get(s.QP)],a.previousCart)}})},h=()=>{let{parseMessages:t,handleError:e}=(0,u.f)();return(0,n.D)({mutationKey:["removeFromCart"],onMutate:async t=>{let{id:e}=t;await c.Eh.cancelQueries({queryKey:["cart"]});let r=c.Eh.getQueryData(["cart"]);return c.Eh.setQueryData(["cart",i().get(s.Ud),i().get(s.QP)],t=>{let r=t?{...t}:void 0;if(r){let t=r.items.find(t=>String(t.itemId)===e);t&&(r.itemsCount-=1,r.itemsQty-=t.qty,r.items=r.items.filter(t=>String(t.itemId)!==e))}return r}),{previousCart:r}},mutationFn:async e=>{let r,{id:a}=e;if((null==(r=i().get(s.Ud)?await y.M.removeFromCart(a):await y.z.removeFromCart(a))?void 0:r.status)===1)return r;if(null!==r)throw Error(t(null==r?void 0:r.messages))},onSettled:()=>{c.Eh.invalidateQueries({queryKey:["cart"]})},onError:(t,r,a)=>{console.log(t.message),e(),(null==a?void 0:a.previousCart)&&c.Eh.setQueryData(["cart",i().get(s.Ud),i().get(s.QP)],a.previousCart)}})},E=()=>{let{parseMessages:t,handleError:e}=(0,u.f)();return(0,n.D)({mutationKey:["updateCartItem"],onMutate:async t=>{let{id:e,quantity:r}=t;await c.Eh.cancelQueries({queryKey:["cart"]});let a=c.Eh.getQueryData(["cart"]);return c.Eh.setQueryData(["cart",i().get(s.Ud),i().get(s.QP)],t=>{let a=t?{...t}:void 0;return a&&a.items.find(t=>String(t.itemId)===e)&&(a.items=a.items.map(t=>String(t.itemId)===e?{...t,qty:r}:t),a.itemsQty=a.items.reduce((t,e)=>t+e.qty,0)),a}),{previousCart:a}},mutationFn:async e=>{let r,{id:a,quantity:n}=e;if((null==(r=i().get(s.Ud)?await y.M.updateCart(a,n):await y.z.updateCart(a,n))?void 0:r.status)===1)return r;if(null!==r)throw Error(t(null==r?void 0:r.messages))},onSettled:()=>{c.Eh.invalidateQueries({queryKey:["cart"]})},onError:(t,r,a)=>{console.log(t.message),e(),(null==a?void 0:a.previousCart)&&c.Eh.setQueryData(["cart",i().get(s.Ud),i().get(s.QP)],a.previousCart)}})},p=()=>{let{parseMessages:t,handleError:e}=(0,u.f)();return(0,n.D)({mutationKey:["applyCoupon"],mutationFn:async e=>{let{code:r}=e;if(i().get(s.Ud)){let e=await y.M.applyCoupon(r);if((null==e?void 0:e.status)===1)return e;if(null!==e)throw Error(t(null==e?void 0:e.messages))}throw Error("Not Logged In")},onSuccess:()=>{c.Eh.invalidateQueries({queryKey:["cart"]}),c.Eh.invalidateQueries({queryKey:["cartTotals"]}),c.Eh.invalidateQueries({queryKey:["shippingVendors"]})},onError:t=>{console.log(t.message),e()}})},Q=()=>{let{parseMessages:t,handleError:e}=(0,u.f)();return(0,n.D)({mutationKey:["deleteCoupon"],mutationFn:async()=>{if(i().get(s.Ud)){let e=await y.M.delCoupon();if((null==e?void 0:e.status)===1)return e;if(null!==e)throw Error(t(null==e?void 0:e.messages))}throw Error("Not Logged In")},onSuccess:()=>{c.Eh.invalidateQueries({queryKey:["cart"]}),c.Eh.invalidateQueries({queryKey:["cartTotals"]}),c.Eh.invalidateQueries({queryKey:["shippingVendors"]})},onError:t=>{console.log(t.message),e()}})},w=()=>{let{parseMessages:t,handleError:e}=(0,u.f)();return(0,n.D)({mutationKey:["removeOutOfStock"],mutationFn:async()=>{let e;if((null==(e=i().get(s.Ud)?await y.M.removeOutOfStockItems():await y.z.removeOutOfStockItems())?void 0:e.status)===1)return e;if(null!==e)throw Error(t(null==e?void 0:e.messages))},onSettled:()=>{c.Eh.invalidateQueries({queryKey:["cart"]})},onError:t=>{console.log(t.message),e()}})},C=()=>{let{parseMessages:t,handleError:e}=(0,u.f)();return(0,n.D)({mutationKey:["setShippingInformation"],mutationFn:async e=>{let{method:r="home_delivery",customerAddressId:a,shippingCarrierCode:n,shippingMethodCode:o}=e,u=await y.M.setShippingInformation(r,{customerAddressId:a,shippingCarrierCode:n,shippingMethodCode:o});if((null==u?void 0:u.status)===1){var l;let t=d.lZ.formatCartTotal(null==u?void 0:null===(l=u.data)||void 0===l?void 0:l.totals)||null;t?c.Eh.setQueryData(["cartTotals",i().get(s.Ud)],t):c.Eh.invalidateQueries({queryKey:["cartTotals"]})}else if(null!==u)throw Error(t(null==u?void 0:u.messages))},onSettled:()=>{c.Eh.invalidateQueries({queryKey:["cart"]})},onError:t=>{console.log(t.message),e()}})},q=()=>{let{handleError:t}=(0,u.f)();return(0,n.D)({mutationKey:["mergeGuestCart"],mutationFn:async t=>{let{storeId:e,customerId:r}=t;if("number"==typeof r&&"number"==typeof e&&r&&e){let t=await y.M.mergeGuestCartToMine({storeId:e||0,customerId:r||0});if((null==t?void 0:t.status)===1)return d.mA.removeCookie(s.QP,"localhost"===window.location.hostname||"127.0.0.1"===window.location.hostname?window.location.hostname:".".concat(l.domainLocales["vi-VN"]))}},onSettled:()=>{c.Eh.invalidateQueries({queryKey:["cart"]})},onError:e=>{console.log(e.message),t()}})}},75324:function(t,e,r){r.d(e,{f:function(){return n}});var a=r(58370);let n=()=>{let t=a.D1.useTranslation(),{pushNotifications:e}=a.f8.useAppContext(),r=t({id:"notify.error.message",defaultMessage:"Đ\xe3 xảy ra lỗi, vui l\xf2ng thử lại"});return{parseMessages:t=>"string"==typeof t?t:(null==t?void 0:t.join("\r\n"))||"",handleError:t=>{e({type:"danger",message:t||r})},handleSuccess:r=>{e({type:"success",message:r||t({id:"notify.success",defaultMessage:"Th\xe0nh c\xf4ng"})})}}}}}]);