{"version":3,"file":"lojistas.js","mappings":";;;;AAAO;AACP;AACA;AACA;AACA;AACA;AACA,KAAK;AACL;AACA;AACA;AACA;AACA,MAAM;AACN;AACA;AACA;AACA,IAAI,gBAAgB;AACpB;AACA;AACA;AACA;AACA;AACO;AACP;AACA;AACA;AACA;AACA;AACA;AACA,2BAA2B,EAAE;AAC7B;AACA;;;AC9BwC;AACxC;AACO;AACP;AACA,YAAY;AACZ;AACA;AACA;AACA;AACA;AACA;AACA;AACA,yBAAyB,SAAS;AAClC;AACA;AACA;AACA;AACA;AACA;AACA;AACA,GAAG;AACH;AACA;AACA;AACA;AACA;AACA;AACA;AACA,QAAQ;AACR;AACA;AACA,MAAM;AACN;AACA;AACA,GAAG;AACH;AACA;AACA;AACA,qCAAqC,GAAG;AACxC;AACA;AACA,2CAA2C,GAAG;AAC9C;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,OAAO;AACP,KAAK;AACL;AACA;AACA;AACA;AACA;AACA;AACA;AACA,KAAK;AACL;AACA;AACA;AACA,GAAG;AACH;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,cAAc,oBAAoB;AAClC;AACA;AACA;AACA;AACA,4BAA4B,yBAAyB;AACrD;AACA;AACA,+BAA+B,8BAA8B;AAC7D;AACA;AACA,QAAQ;AACR;AACA,2BAA2B,yBAAyB;AACpD;AACA;AACA;AACA;AACA,KAAK;AACL,GAAG;AACH;AACA;AACA;AACA,GAAG;AACH;AACA;AACA;AACA;AACA,CAAC;;;ACpG+C;AAChD;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,KAAK;AACL,GAAG;AACH;AACA;AACA;AACA;AACA;AACA;AACA,sBAAsB,oBAAoB;AAC1C;AACA;AACA,MAAM;AACN;AACA;AACA,GAAG;AACH;AACA;AACA;AACA,GAAG;AACH;AACA;AACA;AACA,GAAG;AACH;AACA;AACA,GAAG;AACH;AACA;AACA;AACA;AACA,sBAAsB,sBAAsB;AAC5C;AACA;AACA;AACA;AACA;AACA;AACA;AACA,GAAG;AACH;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,MAAM;AACN;AACA;AACA;AACA;AACA;AACA,QAAQ;AACR;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,GAAG;AACH;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,GAAG;AACH;AACA;AACA;AACA;AACA;AACA;AACA;AACA,sBAAsB,2BAA2B;AACjD;AACA;AACA;AACA,MAAM;AACN;AACA;AACA;AACA,GAAG;AACH;AACA;AACA;AACA;AACA,GAAG;AACH;AACA;AACA;AACA;AACA,oBAAoB,8BAA8B;AAClD;AACA;AACA;AACA;AACA,GAAG;AACH;AACA;AACA;AACA,oBAAoB,uBAAuB;AAC3C;AACA;AACA;AACA;AACA;AACA;AACA,GAAG;AACH;AACA;AACA;AACA;AACA;AACA;AACA;AACA,sBAAsB,8BAA8B;AACpD;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,oBAAoB,uBAAuB;AAC3C;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,GAAG;AACH;AACA;AACA;AACA;AACA,GAAG;AACH;AACA;AACA;AACA;AACA;AACA;AACA,MAAM;AACN;AACA;AACA,GAAG;AACH;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,WAAW;AACX,SAAS;AACT;AACA;AACA;AACA;AACA;AACA,QAAQ;AACR;AACA;AACA,KAAK;AACL;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,uCAAuC,cAAc,EAAE,aAAa;AACpE;AACA;AACA;AACA,KAAK;AACL;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,eAAe;AACf,KAAK;AACL;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,eAAe;AACf,KAAK;AACL;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,eAAe;AACf,KAAK;AACL;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,WAAW;AACX,SAAS;AACT;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,8DAA8D;AAC9D;AACA;AACA;AACA,kBAAkB;AAClB;AACA;AACA;AACA,gBAAgB;AAChB;AACA;AACA;AACA;AACA,WAAW;AACX;AACA;AACA;AACA,WAAW;AACX;AACA;AACA;AACA,WAAW;AACX;AACA,KAAK;AACL;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,WAAW;AACX,SAAS;AACT,OAAO;AACP;AACA;AACA,SAAS;AACT;AACA;AACA,SAAS;AACT,KAAK;AACL;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,WAAW;AACX,SAAS;AACT;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,aAAa;AACb,WAAW;AACX;AACA;AACA,WAAW;AACX;AACA;AACA;AACA,WAAW;AACX;AACA,KAAK;AACL;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,OAAO;AACP;AACA;AACA;AACA;AACA;AACA;AACA;AACA,OAAO;AACP;AACA;AACA;AACA;AACA;AACA;AACA,oDAAoD,kBAAkB;AACtE,sDAAsD,kBAAkB;AACxE,SAAS;AACT;AACA;AACA;AACA,oDAAoD,kBAAkB;AACtE,sDAAsD,kBAAkB;AACxE,SAAS;AACT;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,YAAY;AACZ;AACA;AACA,SAAS;AACT;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,YAAY;AACZ;AACA;AACA,SAAS;AACT;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,YAAY;AACZ;AACA;AACA,SAAS;AACT,OAAO;AACP;AACA,6DAA6D,eAAe;AAC5E,KAAK;AACL,GAAG;AACH;AACA;AACA;AACA;AACA;AACA;AACA;AACA,OAAO;AACP;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,YAAY;AACZ;AACA;AACA;AACA;AACA;AACA,2BAA2B,uBAAuB;AAClD;AACA;AACA,eAAe;AACf,aAAa;AACb;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,eAAe;AACf;AACA;AACA,eAAe;AACf;AACA;AACA,eAAe;AACf;AACA;AACA,OAAO;AACP;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,QAAQ,aAAa;AACrB;AACA;AACA;AACA,SAAS;AACT,OAAO;AACP;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,OAAO;AACP;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,UAAU;AACV;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,4BAA4B,SAAS;AACrC;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,OAAO;AACP;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,WAAW;AACX,UAAU;AACV;AACA;AACA,OAAO;AACP,KAAK;AACL;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,gBAAgB;AAChB;AACA;AACA,cAAc;AACd;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,gBAAgB;AAChB;AACA;AACA,cAAc;AACd;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,YAAY;AACZ;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,eAAe;AACf;AACA;AACA;AACA;AACA,eAAe;AACf;AACA;AACA;AACA,aAAa;AACb;AACA;AACA,OAAO;AACP,KAAK;AACL;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,SAAS;AACT,qBAAqB,uBAAuB;AAC5C,OAAO;AACP;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,WAAW;AACX,SAAS;AACT;AACA;AACA;AACA;AACA;AACA,SAAS;AACT;AACA;AACA,SAAS;AACT,KAAK;AACL;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,aAAa;AACb;AACA,SAAS;AACT;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,OAAO;AACP,KAAK;AACL;AACA;AACA;AACA,sBAAsB,8BAA8B;AACpD;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,KAAK;AACL;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,OAAO;AACP,KAAK;AACL;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,QAAQ;AACR;AACA;AACA;AACA,KAAK;AACL;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,WAAW;AACX;AACA;AACA;AACA;AACA;AACA;AACA;AACA,SAAS;AACT,OAAO;AACP,KAAK;AACL;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,OAAO;AACP,KAAK;AACL;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,wCAAwC;AACxC;AACA;AACA,SAAS;AACT;AACA;AACA,OAAO;AACP,KAAK;AACL;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,OAAO;AACP;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,KAAK;AACL,GAAG;AACH;AACA;AACA;AACA;AACA;AACA,GAAG;AACH;AACA;AACA","sources":["webpack://build/../laviesports/assets/javascripts/utilities.js","webpack://build/../laviesports/assets/javascripts/loginLojistas.js","webpack://build/../laviesports/assets/javascripts/lojistas.js"],"sourcesContent":["export async function getClient() {\r\n try {\r\n let response = await fetch(`/conta/cliente`, {\r\n headers: {\r\n accept: 'application/json'\r\n }\r\n });\r\n let client = await response.json();\r\n\r\n if (Object.keys(client).length > 0) {\r\n return client\r\n } else {\r\n return {}\r\n }\r\n\r\n } catch (error) { console.error(`getClient error`, error) }\r\n}\r\n\r\n// ===============================================================\r\n// FORMAT MONEY\r\n// ===============================================================\r\nexport function formatMoney(value) {\r\n // FORMATA UM VALOR\r\n return (\r\n 'R$ ' +\r\n value\r\n .toFixed(2)\r\n .replace('.', ',')\r\n .replace(/(\\d)(?=(\\d{3})+\\,)/g, '$1.')\r\n );\r\n}\r\n","import { getClient } from \"./utilities\";\r\n\r\nexport const LoginLojistas = {\r\n isLoggedIn: false,\r\n client: {},\r\n initialProducts: [...document.querySelectorAll('.product-block-lojista')],\r\n sectionWaitingAccess: document.querySelector('[data-section=\"waiting-access\"]'),\r\n sectionLogin: document.querySelector('[data-section=\"login\"]'),\r\n sectionProducts: document.querySelector('[data-section=\"products\"]'),\r\n\r\n // Seta as informações do cliente\r\n setClient: async function () {\r\n const client = await getClient();\r\n\r\n if (Object.keys(client).length > 0) {\r\n this.isLoggedIn = true;\r\n this.client = client;\r\n }\r\n\r\n this.showSectionByClientStatus();\r\n },\r\n\r\n // Controla qual seção exibir baseado no status do cliente\r\n showSectionByClientStatus: function () {\r\n if (this.isLoggedIn) {\r\n if (this.client.tags && this.client.tags.includes('lojistas')) {\r\n this.sectionProducts.classList.add('-visible');\r\n this.updateProductsPrice(this.initialProducts);\r\n } else {\r\n this.sectionWaitingAccess.classList.add('-visible');\r\n }\r\n } else {\r\n this.sectionLogin.classList.add('-visible');\r\n }\r\n },\r\n\r\n // Busca o preço baseado nas informações do cliente\r\n fetchPrice: async function (id, sku) {\r\n let priceURL = `/produto/preco/${id}`;\r\n\r\n if (this.isLoggedIn) {\r\n priceURL = `/produto/preco/cliente/${id}`;\r\n }\r\n\r\n const priceConfig = {}\r\n const response = await fetch(priceURL, {\r\n method: \"GET\",\r\n credentials: \"include\",\r\n headers: {\r\n Accept: \"application/json\",\r\n },\r\n });\r\n\r\n const data = await response.json();\r\n data.variants.forEach((variant) => {\r\n if (sku == variant.sku) {\r\n priceConfig.price = variant.price;\r\n priceConfig.sale_price = variant.sale_price;\r\n }\r\n })\r\n priceConfig.available = data.available;\r\n\r\n return priceConfig;\r\n },\r\n\r\n // Atualiza os produtos com o preço original e o preço remarcado baseado no cliente\r\n updateProductsPrice: function (products) {\r\n products.forEach(async function (product) {\r\n const id = product.getAttribute('data-product-id');\r\n const sku = product.getAttribute('data-product-sku');\r\n const priceWrapper = product.querySelector('[data-seller-price]');\r\n\r\n const { price, sale_price } = await LoginLojistas.fetchPrice(id, sku);\r\n\r\n if (price != sale_price) {\r\n priceWrapper.innerHTML = `\r\n \r\n Varejo: ${store.formatMoney(price)}\r\n \r\n \r\n Atacado: ${store.formatMoney(sale_price)}\r\n \r\n `;\r\n } else {\r\n priceWrapper.innerHTML = `\r\n Atacado: ${store.formatMoney(price)}\r\n `;\r\n }\r\n\r\n product.setAttribute('data-was-processed', true);\r\n });\r\n },\r\n\r\n init() {\r\n this.setClient();\r\n },\r\n};\r\n\r\nwindow.addEventListener('DOMContentLoaded', () => {\r\n LoginLojistas.init();\r\n});\r\n","import { LoginLojistas } from \"./loginLojistas\";\r\n\r\nif (typeof _pagination == \"undefined\" || _pagination.pages.length <= 0) {\r\n // console.info('a variável _pagination não foi setada ou não há paginação');\r\n window._pagination = false;\r\n}\r\n\r\nwindow.lojistaCart = {\r\n items: [],\r\n clientInfos: [],\r\n getProductById: function (_productId) {\r\n return this.items.filter(function (el, i) {\r\n return el.id == _productId;\r\n });\r\n },\r\n removeProduct: function (_productId) {\r\n var product = this.getProductById(_productId);\r\n\r\n // console.info('excluindo produto', product);\r\n\r\n if (product.length > 1) {\r\n for (var i = 0; i < product.length; i++) {\r\n this.items.splice(product[i].indice, 1);\r\n }\r\n } else {\r\n this.items.splice(product[0].indice, 1);\r\n }\r\n },\r\n saveLocal: function () {\r\n // console.log('saveLocal')\r\n localStorage.lojistaCart = JSON.stringify(this.items);\r\n },\r\n saveProduct: function (_product) {\r\n _product[\"indice\"] = this.items.length;\r\n this.items.push(_product);\r\n },\r\n saveClientInfosLocal: function () {\r\n localStorage.clientInfos = JSON.stringify(this.clientInfos);\r\n },\r\n saveClientInfos: function (_$form) {\r\n //Transforma array de serializeArray em um objeto\r\n function objectifyForm(formArray) {\r\n var returnArray = {};\r\n for (var i = 0; i < formArray.length; i++) {\r\n returnArray[formArray[i][\"name\"]] = formArray[i][\"value\"];\r\n }\r\n return returnArray;\r\n }\r\n\r\n var infos = _$form.serializeArray();\r\n this.clientInfos = objectifyForm(infos);\r\n },\r\n updateProduct: function (_obj) {\r\n var product = this.getProductById(_obj.id);\r\n\r\n // console.info('updateProduct', product, _obj);\r\n\r\n if (product.length == 0) {\r\n // console.info('não tem produto');\r\n if (_obj.variants.length > 0) {\r\n this.saveProduct(_obj);\r\n }\r\n } else {\r\n // console.info('tem produto', );\r\n if (_obj.variants.length > 0) {\r\n // console.info('1');\r\n _obj[\"indice\"] = product[0].indice;\r\n this.items[product[0].indice] = _obj;\r\n } else {\r\n // console.info('2');\r\n this.removeProduct(_obj.id);\r\n }\r\n }\r\n\r\n this.saveLocal();\r\n this.buildCart();\r\n\r\n // console.info('this.items', this.items);\r\n },\r\n setCartWithoutProducts: function () {\r\n var $wrapperCart = $(\"[data-wrapper-cart-products]\");\r\n var html = \"\";\r\n\r\n html =\r\n \"\" +\r\n '
Nenhum produto adicionado
\" +\r\n \"' +\r\n \"\" +\r\n store.formatMoney(this.items[i].price) +\r\n \"\" +\r\n \"
\" +\r\n '