{"version":3,"file":"webshopcart--xbO_oUYf.js","sources":["../../../../../graphql/queries-custom-cart.js","../../../../../store/shippingrate.ts","../../../../../store/webshopcart.ts"],"sourcesContent":["export const getProduct = /* GraphQL */ `\n query GetProduct($id: ID!) {\n getProduct(id: $id) {\n id\n type\n deleted\n ean\n name\n image\n mainImage\n author\n binding\n publicationDate\n # price\n calculatedPrices\n currency\n salePercent\n weight\n weightMetric\n sizeDimensionX\n sizeDimensionY\n sizeDimensionZ\n orderable\n orderableInfo\n orderableFlag\n productTemplate\n inventories {\n items {\n productID\n warehouseID\n inventoryAmount\n warehouse {\n id\n name\n type\n createdAt\n updatedAt\n owner\n }\n createdAt\n updatedAt\n owner\n }\n }\n owner\n }\n }\n`\n","/**\n * \n * Pinia Store: shippingrate beallitasainak allapota: \n * \n * \n*/\n\nimport { API } from 'aws-amplify'\nimport * as queries from '~/graphql/queries'\n\ninterface ShippingRate {\n price: number | null;\n callForPrice: boolean;\n}\n\ninterface ShippingRateData {\n [index: string]: ShippingRate;\n}\n\nexport const useShippingRateStore = defineStore('shippingrate', {\n state: () => ({\n shippingrate: {} as ShippingRateData,\n }),\n getters: {\n getShippingRate(): ShippingRateData {\n return this.shippingrate;\n },\n },\n actions: {\n async fetchShippingRate() {\n try {\n const shippingratesdata = await API.graphql({\n query: queries.listShippingPrices,\n authMode: 'AWS_IAM',\n });\n const shippingpricesfromdb = shippingratesdata.data.listShippingPrices.items;\n\n const shippingprices: ShippingRateData = {};\n\n for (const sp of shippingpricesfromdb) {\n // indexek:\n const shippingTypeAsKey: string = sp.shippingType;\n const currencyAsKey: string = sp.currency;\n // ha nincs ilyen index még, akkor létrehozzuk \"üresen\"\n if (!shippingprices[shippingTypeAsKey]) {\n shippingprices[shippingTypeAsKey] = {\n price: null,\n callForPrice: false,\n };\n }\n // \n shippingprices[shippingTypeAsKey][currencyAsKey] = {\n price: sp.price,\n callForPrice: sp.callForPrice,\n };\n }\n\n this.shippingrate = shippingprices;\n } catch (error) {\n console.log(error);\n }\n },\n },\n});","/**\n * \n * Pinia Store: kosar tartalom allapot\n * \n * Jelenleg csak a getCartProductsInStockUnique() azaz a \"cartproductsinstockunique\" tömböt használja,\n * mivel nem különböztetjük meg a kosárba helyezett termékeket a termék elérhetősége alapján.\n * \n * \n*/\n\nimport { API } from 'aws-amplify';\nimport * as queriesCustomCart from '~/graphql/queries-custom-cart';\n// import * as graphqlMutations from '~/graphql/mutations';\nimport { storeToRefs } from 'pinia';\nimport { useShippingRateStore } from '@/store/shippingrate';\n\nexport const useWebshopCartStore = defineStore('webshopcart', {\n state: () => ({\n // termekek csoportositva elerhetes szerint\n cartproductsinstockunique: [], // \"raktáron levő\" termékek, egyedi\n cartproductsorderable: [], // \"csak rendelhető\" termékek\n cartproductsnotorderable: [], // nem rendelhető termékek (ez nem adható hozzá a kosárhoz)\n cartproductspreorder: [], // TODO: [BESTSTOREF-85] előrendelhető termékállapot bevezetése a kosárba\n cartlastaddedproduct: null, // a legutoljára hozzáadott termék\n // termékek száma a kosárban (nem azt mutatja h hány féle termék!)\n numberofcartproducts: 0,\n // TODO: kiszervezni innen (lasd \"masik Pinia store hasznalata\" egy letezo storeban):\n // kosár modal:\n cartmodal: false, // megnyitva / bezárva\n cartmodalloading: false, // kosár modal-on belül: loading vagy sem\n // kosar gomb loading allapot:\n cartbuttonloading: false, // a kosár darabszám gobok\n pricesumofproducts: 0, // kosár termékeinek összértéke\n // pricesumofproductsbycurrency: {}, // kosár termékeinek összértéke currency szerint\n // pricesumofproducts.EUR // kell mindegyik pénznemben\n pricesumofshipping: 0, // szállítási mód ára\n pricesumofpayment: 0, // fizetési mód ára\n pricefullsumofcart: 0, // kosár összértéke\n selectedshipping: null, // kosárnál kiválasztott szállítási mód\n selectedpayment: null, // kosárnál kiválasztott fizetési mód\n }),\n getters: {\n getCartProductsInStockUnique(): Array {\n return this.cartproductsinstockunique;\n },\n getCartProductsOrderable(): Array {\n return this.cartproductsorderable;\n },\n getCartProductsNotOrderable(): Array {\n return this.cartproductsnotorderable;\n },\n getCartProductsPreorder(): Array {\n return this.cartproductspreorder;\n },\n getCartLastAddedProduct(): object | null {\n return this.cartlastaddedproduct;\n },\n getNumberOfCartProducts(): number {\n return this.numberofcartproducts;\n },\n getCartModal(): boolean {\n return this.cartmodal;\n },\n getCartModalLoading(): boolean {\n return this.cartmodalloading;\n },\n getCartButtonLoading(): boolean {\n return this.cartbuttonloading;\n },\n getPriceSumOfProducts(): number {\n return this.pricesumofproducts;\n },\n getPriceSumOfShipping(): number {\n return this.pricesumofshipping;\n },\n getPriceSumOfPayment(): number {\n return this.pricesumofpayment;\n },\n getPriceFullSumOfCart(): number {\n return this.pricefullsumofcart;\n },\n getSelectedPayment(): any {\n return this.selectedpayment;\n },\n getSelectedShipping(): any {\n return this.selectedshipping;\n },\n },\n actions: {\n // darabszamok es termekek arainak kalkulacioja\n // hasznalata: state.totalAmount = totals(payload).pricesumofpayment\n totals(\n payloadArrInStock: Array, \n payloadArrOrderable: Array, \n payloadArrPreorder: Array\n ) {\n // az osszes azonnal elerheto termek ara egyutt\n const totalAmountInStock = payloadArrInStock.map((cartArr) => {\n return (\n// TODO: cartArr.productdata.pricesByCurrency.HUF.priceCalculatedOnSale\n // ez a price a kosárban levő termék price-a NEM a Product táblából érkező price\n cartArr.productdata.price * cartArr.qty\n )\n }).reduce((a, b) => a + b, 0);\n\n // az osszes rendelheto ara egyutt\n const totalAmountOrderable = payloadArrOrderable.map((cartArr) => {\n// TODO: calculatedPrices\n return cartArr.productdata.price * cartArr.qty\n }).reduce((a, b) => a + b, 0);\n\n // az osszes elorendelheto termek ara egyutt\n const totalAmountPreorder = payloadArrPreorder.map((cartArr) => {\n// TODO: calculatedPrices\n return cartArr.productdata.price * cartArr.qty\n }).reduce((a, b) => a + b, 0);\n\n const totalAmount = totalAmountInStock + totalAmountOrderable + totalAmountPreorder\n // a termekek szama a kosarban\n // const totalQantity = payloadArr\n // .map((cartArr) => {\n // return cartArr.qty\n // })\n // .reduce((a, b) => a + b, 0)\n return { pricesumofproducts: Number.parseFloat(totalAmount) }\n },\n // Termék kosárhoz adása és a modal ablak kezelése (egyben):\n // 1. default értékek\n // 2. kosáron belüli loading\n // 3. cart modal nyitása\n // 4. egy termék lekérdezése a productid szerint\n // 5. a termék adatainak feldolgozása és map-elése a kosár store-hoz\n // 6. infó üzenetek..\n async addProductToCartByProductId(productid: string) {\n // TODO: ha még nincs kosár ID (süti/webstore), akkor generálunk egyet (UUID)\n // TODO: és ezt az UUID-t mentjük el a DB-be\n this.setCartLastAddedProduct({});\n // loading és modal ablak nyitása\n this.setCartModalLoading(true);\n this.openCartModal();\n // lekrédezzük a terméket:\n try {\n // TODO: lambda resolver-el megoldani (cart mutations)\n // Itt lekérdezzük a Product aktuális adatait\n const dataholder = await API.graphql({\n query: queriesCustomCart.getProduct,\n variables: {\n id: productid,\n },\n // authMode: 'AMAZON_COGNITO_USER_POOLS',\n authMode: 'AWS_IAM',\n })\n // TODO: ezt és az ezekhez hasonló eseteket felül kell vizsgálni:\n const productdata = dataholder.data.getProduct;\n // TODO: hibakezelés beépítése (ha az adott termék nem érhető el)\n if (!productdata) {\n console.log('A termék már nem érhető el!');\n return;\n }\n // törölt termék\n if (productdata?.deleted === true) {\n console.log('A termék már nem érhető el!');\n return;\n }\n // A lambda resolverből érkező AWSJSON objektumot parse-olni kell, mert valamiért sima string-ként érkezik\n if(productdata && productdata.calculatedPrices) {\n productdata.calculatedPrices = JSON.parse(productdata.calculatedPrices);\n }\n // FONTOS!\n // a termék árat létrehozzuk / felülírjuk a webshop default currency szerinti végleges árral\n productdata.price = productdata.calculatedPrices.pricesByCurrency.HUF.priceCalculatedOnSale;\n\n // const globaldiscountset = dataholder.data.getProduct.calculatedPrices.webshopGlobalSalePercent;\n // await globalDiscountStore.setGlobalDiscount(globaldiscountset);\n // product.value = dataholder.data.getProduct;\n\n this.addCartProduct(productdata)\n this.setCartLastAddedProduct(productdata);\n\n // refresh sum of cart:\n this.setPriceFullSumOfCart();\n\n // TODO: getInventory query!\n } catch (error) {\n // eslint-disable-next-line no-console\n console.log(error)\n // $bugsnag.notify(new Error(error))\n }\n this.setCartModalLoading(false);\n },\n\n addCartProduct(productdata: object) {\n this.openCartModal();\n // Google Analytics kosárhoz adás event:\n if(process.client && process.env.NODE_ENV === 'production') {\n // console.log('gtag: add_to_cart');\n const { gtag } = useGtag();\n gtag('event', 'add_to_cart', {\n // app_name: 'Bestsellers.hu',\n // screen_name: 'Home'\n event_category: 'ecommerce',\n event_label: 'add_to_cart',\n currency: 'HUF',\n value: productdata.price,\n items: [\n {\n item_id: productdata.ean,\n item_name: productdata.name,\n // item_category: productdata.productTemplate,\n // item_category2: ,\n // item_category3: ,\n price: productdata.price,\n quantity: 1,\n },\n ],\n });\n }\n // console.log('addCartProduct with productdata:', productdata);\n // TODO: [BESTSTOREF-84] DB warehouse item darabszám lefoglalás\n this.numberofcartproducts++\n // ha még nem tartalmazza EZT a terméket, hozzáadjuk\n let existingCartItemIndex = ''\n // console.log('this.cartproductsinstockunique', this.cartproductsinstockunique);\n // eslint-disable-next-line no-unused-vars\n for (const [key, value] of Object.entries(this.cartproductsinstockunique)) {\n if (this.cartproductsinstockunique[key].productid === productdata.id) {\n // ha a kosár már tartalmazza ezt a termék ID-t (terméket)\n existingCartItemIndex = key;\n break;\n }\n }\n // ha nincs még ilyen termék, létrehozzuk es beállítjuk h 1 darabról van szó\n if (existingCartItemIndex === '') {\n this.cartproductsinstockunique.push({ productdata, qty: 1, productid: productdata.id });\n } else {\n // ha már van ilyen termék, akkor növeljük a darabszámot:\n this.cartproductsinstockunique[existingCartItemIndex].qty += 1;\n }\n // termek osszertek frissitese\n this.pricesumofproducts = this.totals(\n this.cartproductsinstockunique,\n this.cartproductsorderable,\n this.cartproductspreorder\n ).pricesumofproducts\n\n // cartItemAdd Lambda resolver mutation:\n // try {\n // const cartId = uuid.v4()\n // const loggedIn = await isUserSignedIn()\n // // { allow: owner, identityClaim: \"username\", provider: userPools }\n // // ha még nincs bejelentkezve, akkor az alábbival megy:\n // const cartItemAddResult = await API.graphql({\n // query: graphqlMutations.cartItemAdd,\n // variables: { cartId, productId: productdata.id },\n // // authMode: 'AWS_IAM',\n // // authMode: 'AMAZON_COGNITO_USER_POOLS',\n // authMode: loggedIn === false ? 'AWS_IAM' : 'AMAZON_COGNITO_USER_POOLS',\n // })\n // // TODO:\n // const obj = JSON.parse(JSON.stringify(cartItemAddResult))\n // console.log('cartItemAddResult', obj)\n // } catch (error) {\n // // eslint-disable-next-line no-console\n // console.log('Error', error)\n // // useBugsnag().notify(new Error(error))\n // }\n\n },\n\n // a legutobb hozzaadott termek\n setCartLastAddedProduct(product: any) {\n this.cartlastaddedproduct = product;\n },\n // a kiválasztott szállítási mód\n async setSelectedShipping(shippingType: string) {\n console.log('setSelectedShipping: ', shippingType);\n // shipping rates:\n if (\n shippingType !== 'SHOP' && \n shippingType !== 'GLS' && \n shippingType !== 'POSTOUTSIDEHUN' \n && shippingType !== 'GLSPOINT' ) {\n console.error('Error: the selected shipping type is not defined. Check defined shippingrates too.', shippingType);\n }\n// TODO: ezt megvizsgálni:\n // if shipping is changed, selected payment must be reset\n if(this.selectedpayment !== shippingType){\n this.selectedpayment = null;\n }\n \n this.selectedshipping = shippingType;\n\n // shipping rate a másik store-ból:\n // (az aktuális currency-nek megfelelően)\n const shippingRateStore = useShippingRateStore();\n const { fetchShippingRate } = shippingRateStore; // all non-reactive stuff\n await fetchShippingRate();\n // const shippingrate = computed(() => shippingRateStore.shippingrate);\n const { shippingrate } = storeToRefs(shippingRateStore) // have all reactive states\n console.log('shippingrate', shippingrate.value[shippingType].HUF.price);\n const pricesumofshipping = shippingrate.value[shippingType].HUF.price;\n // const pricesumofshipping = shippingrate[payloadType].HUF;\n // const pricesumofshipping = store.getters.shippingrate.shippingrate[payloadType]['HUF'];\n // const pricesumofshipping = shippingrate.shippingrate[payloadType]['HUF'];\n this.setPriceSumOfShipping(pricesumofshipping);\n this.setPriceFullSumOfCart();\n\n // // Google Analytics: egyedi: selected payment_mode event:\n // // csak production környezetben van követőkód (lásd vue-gtag plugin config)\n // if (process.env.NODE_ENV === 'production') {\n // this._vm.$gtag.event('select_payment_mode', {\n\n // })\n // }\n },\n // a kiválasztott fizetési mód\n setSelectedPayment(payload: any) {\n console.log('setSelectedPayment: ', payload);\n this.selectedpayment = payload\n },\n // törli a kiválasztott fizetési módot\n unSelectPayment() {\n this.selectedpayment = null\n },\n // plus one\n async oneMoreProductToCart(productid) {\n if (this.cartbuttonloading) {\n return true;\n }\n this.setCartButtonLoading(true);\n // this.setCurrency();\n try {\n // TODO: lambda resolver-el megoldani (cart mutations)\n // Itt lekérdezzük a Product aktuális adatait\n const dataholder = await API.graphql({\n query: queriesCustomCart.getProduct,\n variables: {\n id: productid,\n },\n // authMode: 'AMAZON_COGNITO_USER_POOLS',\n authMode: 'AWS_IAM',\n })\n // TODO: ezt és az ezekhez hasonló eseteket felül kell vizsgálni:\n const productdata = dataholder.data.getProduct;\n // TODO: hibakezelés beépítése (ha az adott termék nem érhető el)\n if (!productdata) {\n console.log('A termék már nem érhető el!');\n return;\n }\n // A lambda resolverből érkező AWSJSON objektumot parse-olni kell, mert valamiért sima string-ként érkezik\n if(productdata && productdata.calculatedPrices) {\n productdata.calculatedPrices = JSON.parse(productdata.calculatedPrices);\n }\n // FONTOS!\n // a termék árat létrehozzuk / felülírjuk a webshop default currency szerinti végleges árral\n productdata.price = productdata.calculatedPrices.pricesByCurrency.HUF.priceCalculatedOnSale;\n\n // eslint-disable-next-line no-console\n // console.log('oneMoreProductToCart:', productdata)\n this.addCartProduct(productdata);\n this.setCartLastAddedProduct(productdata);\n // refresh all sums:\n this.setPriceFullSumOfCart();\n // TODO: getInventory query!\n } catch (error) {\n // eslint-disable-next-line no-console\n console.log(error)\n // useBugsnag().notify(new Error(error))\n }\n this.setCartButtonLoading(false);\n },\n // minus one\n async removeOneProductFromCart(productid: string) {\n if(this.cartbuttonloading) {\n return true;\n }\n this.setCartButtonLoading(true);\n try {\n // TODO: lambda resolver-el megoldani (cart mutations)\n // Itt lekérdezzük a Product aktuális adatait\n const dataholder = await API.graphql({\n query: queriesCustomCart.getProduct,\n variables: {\n id: productid,\n },\n // authMode: 'AMAZON_COGNITO_USER_POOLS',\n authMode: 'AWS_IAM',\n })\n // TODO: ezt és az ezekhez hasonló eseteket felül kell vizsgálni:\n const productdata = dataholder.data.getProduct;\n // TODO: hibakezelés beépítése (ha az adott termék nem érhető el)\n if (!productdata) {\n console.log('A termék már nem érhető el!');\n return;\n }\n // A lambda resolverből érkező AWSJSON objektumot parse-olni kell, mert valamiért sima string-ként érkezik\n if(productdata && productdata.calculatedPrices) {\n productdata.calculatedPrices = JSON.parse(productdata.calculatedPrices);\n }\n // FONTOS!\n // a termék árat létrehozzuk / felülírjuk a webshop default currency szerinti végleges árral\n productdata.price = productdata.calculatedPrices.pricesByCurrency.HUF.priceCalculatedOnSale;\n\n // eslint-disable-next-line no-console\n // console.log('removeOneProductFromCart:', productdata)\n\n // termék árának frissítése currency alapján:\n this.removeCartProduct(productdata);\n // refresh all sums:\n this.setPriceFullSumOfCart();\n // TODO: getInventory query!\n } catch (error) {\n // eslint-disable-next-line no-console\n console.log(error)\n // useBugsnag().notify(new Error(error))\n }\n this.setCartButtonLoading(false);\n },\n // beállítja hogy épp load van vagy sem (a termek hozzaadas, torles gombokhoz kell)\n setCartButtonLoading(payload: any) {\n this.cartbuttonloading = payload\n },\n // kosar modal megnyitasa\n openCartModal() {\n this.cartmodal = true\n this.cartmodalloading = true\n },\n // kosar modal bezarasa\n closeCartModal() {\n // console.log('closeCartmodal clicked');\n this.cartmodal = false\n },\n // a kosar teljes kiuritese\n clearCart() {\n // kulonbozo allapotu termekek\n this.cartproductsinstockunique = [] // \"raktáron levő\" termékek, egyedi\n this.cartproductsorderable = [] // \"csak rendelhető\" termékek\n this.cartproductsnotorderable = [] // nem rendelhető termékek (ez nem adható hozzá a kosárhoz)\n this.cartproductspreorder = [] // TODO: [BESTSTOREF-85] előrendelhető termékállapot bevezetése a kosárba\n this.cartlastaddedproduct = null // a legutoljára hozzáadott termék\n this.numberofcartproducts = 0 // termékek száma a kosárban (nem azt mutatja h hány féle termék!)\n this.cartmodal = false // kosár modal megnyitva / bezárva\n this.cartmodalloading = false // kosár modal-on belül: loading vagy sem\n this.cartbuttonloading = false // a kosár darabszám gobok\n this.pricesumofproducts = 0 // kosár termékeinek összértéke\n this.pricesumofshipping = 0 // szállítási mód ára\n this.pricesumofpayment = 0 // fizetési mód ára\n this.pricefullsumofcart = 0 // kosár összértéke\n this.selectedshipping = null // kosárnál kiválasztott szállítási mód\n this.selectedpayment = null // kosárnál kiválasztott fizetési mód\n },\n // a modal ablakban levo adatok toltesi kijelzese\n setCartModalLoading(payload: any) {\n this.cartmodalloading = payload\n },\n // szallitasi modok kultsege, kulonbozo penznemekben\n setPriceSumOfShipping(payload: any) {\n // shipping price by rate, by actual currency:\n this.pricesumofshipping = payload\n },\n setPriceFullSumOfCart() {\n // nullazas\n this.pricefullsumofcart = 0\n if (this.pricesumofproducts) {\n this.pricefullsumofcart += this.pricesumofproducts\n }\n if (this.pricesumofshipping) {\n this.pricefullsumofcart += this.pricesumofshipping\n }\n },\n // set to zero: sum of cart\n cleanPriceFullSumOfCart() {\n this.pricefullsumofcart = 0\n },\n // egy termek törlése a kosárból\n removeCartProduct(productdata: object) {\n // Google Analytics kosárból törlés event:\n if(process.client && process.env.NODE_ENV === 'production') {\n console.log('gtag: remove_from_cart');\n const { gtag } = useGtag();\n gtag('event', 'remove_from_cart', {\n // app_name: 'Bestsellers.hu',\n // screen_name: 'Home'\n event_category: 'ecommerce',\n event_label: 'remove_from_cart',\n currency: 'HUF',\n value: productdata.price,\n items: [\n {\n item_id: productdata.ean,\n item_name: productdata.name,\n // item_category: productdata.productTemplate,\n // item_category2: ,\n // item_category3: ,\n price: productdata.price,\n quantity: 1,\n },\n ],\n });\n }\n this.numberofcartproducts--\n for (const [key, value] of Object.entries(\n this.cartproductsinstockunique\n )) {\n if (this.cartproductsinstockunique[key].productid === productdata.id) {\n // ha a kosár tartalmazza ezt a terméket (azonosito alapjan):\n // ha a kosárban levő termék darabszáma > 0, akkor a darabszámot csökkentjük\n if (this.cartproductsinstockunique[key].qty > 0) {\n this.cartproductsinstockunique[key].qty--;\n }\n // ha a kosárban levő termék darabszáma 0, akkor a terméket töröljük a kosárból\n if (this.cartproductsinstockunique[key].qty === 0) {\n this.cartproductsinstockunique.splice(key, 1);\n break;\n }\n break;\n }\n }\n\n // TODO: [BESTSTOREF-83] ha nincs semmilyen más termék a kosárban, akkor töröljük a teljes kosarat\n if (\n this.cartproductsinstockunique.length === 0 &&\n this.cartproductsorderable.length === 0 &&\n this.cartproductspreorder.length === 0\n ) {\n this.cartproductsinstockunique = [] // \"raktáron levő\" termékek, egyedi\n this.cartproductsorderable = [] // \"csak rendelhető\" termékek\n this.cartproductsnotorderable = [] // nem rendelhető termékek (ez nem adható hozzá a kosárhoz)\n this.cartproductspreorder = [] // TODO: [BESTSTOREF-85] előrendelhető termékállapot bevezetése a kosárba\n this.cartlastaddedproduct = null // a legutoljára hozzáadott termék\n this.numberofcartproducts = 0 // termékek száma a kosárban (nem azt mutatja h hány féle termék!)\n this.cartmodal = false // kosár modal megnyitva / bezárva\n this.cartmodalloading = false // kosár modal-on belül: loading vagy sem\n this.cartbuttonloading = false // a kosár darabszám gobok\n // this.pricesumofonetypecartproducts: 0,\n this.pricesumofproducts = 0 // kosár termékeinek összértéke\n this.pricesumofshipping = 0 // szállítási mód ára\n this.pricesumofpayment = 0 // fizetési mód ára\n this.pricefullsumofcart = 0 // kosár összértéke\n this.selectedshipping = null // kosárnál kiválasztott szállítási mód\n this.selectedpayment = null // kosárnál kiválasztott fizetési mód\n }\n // termek osszertek frissitese\n this.pricesumofproducts = this.totals(\n this.cartproductsinstockunique,\n this.cartproductsorderable,\n this.cartproductspreorder\n ).pricesumofproducts\n // TODO: [BESTSTOREF-82] DB warehouse item darabszám felszabadítás\n },\n },\n persist: {\n // a) localStorage-ben tarolva (SSR eseten nem lesz elerheto server oldalon):\n storage: persistedState.localStorage,\n // b) cookie-ban tarolva (SSR eseten rendben lesz,):\n /*\n // A sutiben tarolando ertekek:\nTODO: Ez csak akkor lesz jó, ha a termékadatokat query adja vissza, nem pedig a cookie tárolja.\n paths: [\n 'cartproductsinstockunique', \n 'cartproductsorderable', \n 'cartproductsnotorderable', \n 'cartproductspreorder', \n // 'cartlastaddedproduct', // ez túl nagy méretű és amúgy is csak addig kell, amíg a modal ablak nyitva van.\n 'numberofcartproducts', \n 'pricesumofproducts', \n 'pricesumofshipping', \n 'pricesumofpayment', \n 'pricefullsumofcart', \n 'selectedshipping', \n 'selectedpayment', \n ],\n storage: persistedState.cookiesWithOptions({\n path: '/',\n // lejarat 30 nap:\n maxAge: 60 * 60 * 24 * 30,\n domain: process.env.APP_COOKIE_DOMAIN,\n sameSite: 'strict',\n // sameSite: 'lax',\n }),\n */ \n },\n});\n"],"names":["getProduct","useShippingRateStore","defineStore","shippingpricesfromdb","API","queries.listShippingPrices","shippingprices","sp","shippingTypeAsKey","currencyAsKey","error","useWebshopCartStore","payloadArrInStock","payloadArrOrderable","payloadArrPreorder","totalAmountInStock","cartArr","a","b","totalAmountOrderable","totalAmountPreorder","totalAmount","productid","productdata","queriesCustomCart.getProduct","gtag","useGtag","existingCartItemIndex","key","value","product","shippingType","shippingRateStore","fetchShippingRate","shippingrate","storeToRefs","pricesumofshipping","payload","persistedState"],"mappings":"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"}