veza/apps/web/dist_verification/assets/cartStore-CJpUIjVU.js
senke b733f47a33 chore: playwright workflow, docs, rapports audit, visual-tests, tmt unit
Co-authored-by: Cursor <cursoragent@cursor.com>
2026-02-11 22:19:34 +01:00

1 line
852 B
JavaScript

import{l as m,n as u}from"./vendor-CAoAb3tF.js";const I=m()(u((a,n)=>({items:[],addItem:(t,e)=>{a(r=>{const s=e?e.id:"standard",c=r.items.find(i=>i.product.id===t.id&&i.selectedLicense?.id===e?.id);if(c)return{items:r.items.map(i=>i.cartId===c.cartId?{...i,quantity:i.quantity+1}:i)};const d={cartId:`${t.id}-${s}-${Date.now()}`,product:t,quantity:1,selectedLicense:e};return{items:[...r.items,d]}})},removeItem:t=>{a(e=>({items:e.items.filter(r=>r.cartId!==t)}))},updateQuantity:(t,e)=>{if(e<=0){n().removeItem(t);return}a(r=>({items:r.items.map(s=>s.cartId===t?{...s,quantity:e}:s)}))},clearCart:()=>{a({items:[]})},getTotal:()=>n().items.reduce((t,e)=>{const r=e.selectedLicense?e.selectedLicense.price:e.product.price;return t+r*e.quantity},0),getItemCount:()=>n().items.reduce((t,e)=>t+e.quantity,0)}),{name:"veza-cart-storage"}));export{I as u};