{"version":3,"sources":["components/items/Product.js","pages/home/components/Banner.js","pages/home/components/Brands.js","pages/home/components/Moments.js","pages/home/components/Highlights.js","modal/general/PublicidadModal.js","pages/home/home.page.js"],"names":["Product","color","colorText","user","cart","location","product","history","useHistory","dispatch","useDispatch","setItemCart","addCart","updateCarts","carts","setCarts","useState","loader","setLoader","quantity","setQuantity","loaderadd","setLoaderadd","addToCart","client","addressId","a","httpClient","post","direccionId","usuario","doc","codigoSku","cantidad","res","carrito","id","nombre","precio","parseFloat","iva","parseInt","ico","categoria","general","precioGeneral","vineta","vinetaColor","vinetaColorTexto","vinetaTexto","data","length","cartAux","map","item","i","mensaje","response","error","Alert","show","type","title","message","icon","btnOk","fnOk","cant","fnCancel","useEffect","className","style","backgroundColor","onClick","TagManager","dataLayer","event","ecommerce","click","actionField","list","products","name","price","category","categorias","categoriaId","normalize","replace","toLowerCase","push","handelItem","width","minHeight","display","justifyContent","alignItems","agotado","opacity","src","process","trim","onError","e","target","onerror","onLoad","marginTop","fontSize","textDecoration","Intl","NumberFormat","numberingSystem","currency","format","height","then","handleRemove","minLength","maxLength","onChange","valor","value","Validate","run","resp","defaultValue","placeholder","role","viewBox","xmlns","d","fill","disabled","address","handleaddToCart","Banner","banners","setBanners","axios","get","showArrows","showThumbs","autoPlay","infiniteLoop","showStatus","onClickItem","path","exec","enlace","window","host","href","key","imagen","Brands","brands","setBrands","logo","Moments","moments","setMoments","backgroundImage","Highlights","setProducts","url","Storage","getAddress","Object","keys","departamentoId","municipioId","listProduct","Analytics","listProducts","getProducts","Fragment","alt","producto","j","PublicidadModal","visible","setVisible","popup","footer","maskClosable","onCancel","setPublish","backgroundSize","borderRadius","HomePage","useSelector","state","auth","setPopup","getPublish","setTimeout","Layout"],"mappings":"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","file":"static/js/18.5e72875f.chunk.js","sourcesContent":["import React, { useState, useEffect } from 'react'\r\nimport httpClient from '../../network/httpClient'\r\nimport { useHistory } from 'react-router-dom'\r\n\r\nimport Progress from '../util/Progress'\r\n\r\n// REDUX\r\nimport { useDispatch } from 'react-redux'\r\nimport { addCart, setCarts } from '../../redux/actions/cartActions'\r\n\r\n// ALERT\r\nimport Alert from '../../helpers/Alert'\r\nimport Storage from '../../helpers/Storage'\r\nimport Validate from '../../helpers/Validate'\r\n\r\n// GOOGLE TAG MANAGER\r\nimport TagManager from 'react-gtm-module'\r\n\r\nconst Product = ({ color, colorText, user, cart, location, product }) => {\r\n\r\n const history = useHistory();\r\n\r\n const dispatch = useDispatch();\r\n const setItemCart = (product) => dispatch( addCart(product) );\r\n const updateCarts = (carts) => dispatch( setCarts(carts) );\r\n\r\n const [loader, setLoader] = useState(true);\r\n const [quantity, setQuantity] = useState();\r\n const [loaderadd, setLoaderadd] = useState(false);\r\n\r\n const imageLoaded = () => {\r\n setLoader(false);\r\n }\r\n\r\n const handelItem = (item) => {\r\n // DATA LAYER DE GOOGLE TAG\r\n TagManager.dataLayer({\r\n dataLayer: {\r\n event: 'productClick', \r\n ecommerce: {     \r\n click: {     \r\n actionField: {\r\n list: 'Search Results'\r\n }, \r\n products: [{     \r\n name: item.nombre, \r\n id: item.id,\r\n price: item.precio,         \r\n category: item.categoria         \r\n }]  \r\n }    \r\n }\r\n }\r\n });\r\n \r\n var id = item.id;\r\n var name = item.nombre;\r\n var categorias = item.categoria;\r\n var categoriaId = item.categoriaId;\r\n var res = name.normalize(\"NFD\").replace(/[\\u0300-\\u036f]/g, \"\").toLowerCase().replace(/ /g, \"-\") + \"-\" + id;\r\n var categoria = categorias.normalize(\"NFD\").replace(/[\\u0300-\\u036f]/g, \"\").toLowerCase().replace(/ /g, \"-\") + \"-\" + categoriaId;\r\n history.push(\"/catalogo/\" + categoria +\"/\"+ res);\r\n }\r\n\r\n // AUMENTA LA CANTTIDAD\r\n const handleMore = item => { \r\n Validate.run(user, item.categoriaId, function(resp) {\r\n if(resp) {\r\n if(quantity < 99)\r\n setQuantity(quantity + 1);\r\n }\r\n }) \r\n }\r\n\r\n const handleLess = item => {\r\n Validate.run(user, item.categoria, function(resp) {\r\n if(resp) {\r\n\r\n if(quantity > 0) \r\n setQuantity(quantity - 1);\r\n }\r\n })\r\n }\r\n\r\n const addToCart = async (client, addressId) => {\r\n setLoaderadd(true);\r\n try {\r\n const res = await httpClient.post(\"Inventario/validate\", {\r\n direccionId: addressId,\r\n usuario: client.doc,\r\n codigoSku: product.codigoSku,\r\n cantidad: quantity\r\n });\r\n\r\n let carrito = cart; \r\n\r\n if(carrito[product.codigoSku]){\r\n carrito[product.codigoSku][\"cantidad\"] = quantity; \r\n }else{\r\n carrito[product.codigoSku] = {\r\n id: product.id,\r\n nombre: product.nombre,\r\n precio: parseFloat(product.precio),\r\n iva: parseInt(product.iva),\r\n ico: parseInt(product.ico),\r\n cantidad: quantity,\r\n categoria: product.categoria,\r\n general: product.precioGeneral == 0 ? product.precio : product.precioGeneral,\r\n vineta: product.vineta,\r\n vinetaColor: product.vinetaColor,\r\n vinetaColorTexto: product.vinetaColorTexto,\r\n vinetaTexto: product.vinetaTexto\r\n }\r\n }\r\n setItemCart(carrito);\r\n \r\n\r\n if(res.data.carrito.length > 0) {\r\n \r\n let cartAux = {};\r\n res.data.carrito.map((item, i) => {\r\n cartAux[item.codigoSku] = {\r\n nombre: carrito[item.codigoSku]['nombre'],\r\n precio: item.precio,\r\n cantidad: parseInt(carrito[item.codigoSku]['cantidad']),\r\n iva: parseInt(item.iva),\r\n ico: parseInt(item.ico),\r\n general: item.precioGeneral == 0 ? item.precio : item.precioGeneral,\r\n vineta: item.vineta,\r\n vinetaColor: item.vinetaColor,\r\n vinetaColorTexto: item.vinetaColorTexto,\r\n vinetaTexto: item.vinetaTexto\r\n }\r\n })\r\n updateCarts(cartAux);\r\n }\r\n\r\n setLoaderadd(false);\r\n \r\n } catch (error) {\r\n setLoaderadd(false);\r\n let mensaje = error.response.data.error || 'Error en el servidor';\r\n\r\n\r\n if(error.response && error.response.data.carrito.length > 0) {\r\n let carrito = cart; \r\n let cartAux = {};\r\n error.response.data.carrito.map((item, i) => {\r\n cartAux[item.codigoSku] = {\r\n nombre: carrito[item.codigoSku]['nombre'],\r\n precio: item.precio,\r\n cantidad: parseInt(carrito[item.codigoSku]['cantidad']),\r\n iva: parseInt(item.iva),\r\n ico: parseInt(item.ico),\r\n general: item.precioGeneral == 0 ? item.precio : item.precioGeneral,\r\n vineta: item.vineta,\r\n vinetaColor: item.vinetaColor,\r\n vinetaColorTexto: item.vinetaColorTexto,\r\n vinetaTexto: item.vinetaTexto\r\n }\r\n })\r\n updateCarts(cartAux);\r\n }\r\n\r\n Alert.show({\r\n type: \"warning\",\r\n title: \"Upsss\",\r\n message: mensaje,\r\n icon: '/assets/icon/decepcion.png',\r\n btnOk: \"Aceptar\",\r\n fnOk: function(){\r\n let cant = cart[product.codigoSku] ? cart[product.codigoSku].cantidad : 0;\r\n setQuantity(cant);\r\n\r\n\r\n },\r\n fnCancel: null \r\n })\r\n }\r\n }\r\n\r\n const handleaddToCart = () => {\r\n\r\n if(quantity < 99) {\r\n var client = user;\r\n\r\n if(client) {\r\n let address = location || {};\r\n let addressId = address && address.id \r\n \r\n addToCart(client, addressId);\r\n } else {\r\n\r\n let cart = {}; \r\n\r\n let item = product;\r\n cart[item.codigoSku] = {\r\n id: item.id,\r\n nombre: item.nombre,\r\n precio: parseFloat(item.precio),\r\n iva: parseInt(item.iva),\r\n ico: parseInt(item.ico),\r\n cantidad: quantity,\r\n categoria: item.categoria,\r\n general: item.precioGeneral == 0 ? item.precio : item.precioGeneral,\r\n vineta: item.vineta,\r\n vinetaColor: item.vinetaColor,\r\n vinetaColorTexto: item.vinetaColorTexto,\r\n vinetaTexto: item.vinetaTexto\r\n }\r\n \r\n setItemCart(cart);\r\n //setModalLogin(true);\r\n } \r\n }else{\r\n\r\n Alert.show({\r\n type: \"error\",\r\n title: \"Error.\",\r\n message: \"¿Lo sentimos, la quantity máxima por producto es 99\",\r\n btnOk: \"Aceptar\",\r\n fnOk: function(){},\r\n fnCancel: null\r\n })\r\n }\r\n\r\n \r\n }\r\n\r\n const handleChangequantity = (item, valor) => {\r\n Validate.run(null, item.categoria, function(resp) {\r\n if(resp) {\r\n\r\n if(valor<100)\r\n setQuantity(parseInt(valor));\r\n else{\r\n Alert.show({\r\n type: \"error\",\r\n title: \"Error.\",\r\n message: \"¿Lo sentimos, la quantity máxima por producto es 99\",\r\n btnOk: \"Aceptar\",\r\n fnOk: function(){},\r\n fnCancel: null\r\n })\r\n }\r\n }\r\n })\r\n \r\n }\r\n\r\n const handleRemove = () => {\r\n if(user) {\r\n httpClient.post(\"Inventario/validate\", {\r\n direccionId: location.id,\r\n usuario: user.doc,\r\n codigoSku: product.codigoSku,\r\n cantidad: 0\r\n })\r\n .then((res) => {\r\n let carrito = cart || {};\r\n delete carrito[product.codigoSku];\r\n updateCarts({});\r\n updateCarts(carrito);\r\n setQuantity(0);\r\n });\r\n }else {\r\n let carrito = cart || {};\r\n delete carrito[product.codigoSku];\r\n updateCarts({});\r\n updateCarts(carrito);\r\n setQuantity(0);\r\n }\r\n \r\n }\r\n\r\n useEffect(() => {\r\n let cant = cart[product.codigoSku] ? cart[product.codigoSku].cantidad : 0;\r\n setQuantity(cant);\r\n }, [product])\r\n\r\n return (\r\n
\r\n { product.vineta == 1 && (\r\n
\r\n { product.vinetaTexto }\r\n
\r\n ) }\r\n \r\n
\r\n
handelItem(product)}>\r\n\r\n { loader && (\r\n
\r\n \r\n
\r\n )}\r\n\r\n {e.target.onerror = null; e.target.src='/assets/img/logos_pstbn-02.png'}}\r\n onLoad={imageLoaded}>\r\n \r\n
\r\n
\r\n\r\n
\r\n

{product.nombre}

\r\n { product.precioGeneral > 0 ? (\r\n

\r\n {\" $\" + new Intl.NumberFormat(\"en\", {\r\n numberingSystem: \"latn\", \r\n style: \"decimal\",\r\n currency: \"COP\"\r\n }).format(product.precioGeneral)}\r\n

\r\n ) : (\r\n

\r\n )}\r\n \r\n

0 ? {marginTop: \"0px\"} : null}>\r\n {\" $\" + new Intl.NumberFormat(\"en\", {\r\n numberingSystem: \"latn\", \r\n style: \"decimal\",\r\n currency: \"COP\"\r\n }).format(product.precio)}\r\n

\r\n
\r\n \r\n { product.agotado == 0 ? (\r\n <>\r\n { loaderadd ? (\r\n \r\n ) : (\r\n
\r\n { cart[product.codigoSku] && (\r\n
handleRemove() }>\r\n \r\n
\r\n ) }\r\n \r\n
\r\n handleChangequantity(product, e.target.value)}\r\n defaultValue={quantity}\r\n value={quantity}\r\n placeholder=\"0\"/>\r\n
\r\n \r\n \r\n
\r\n
\r\n handleaddToCart() }\r\n >\r\n Agregar\r\n \r\n
\r\n ) }\r\n \r\n ) : (\r\n
\r\n

Agotado

\r\n
\r\n ) }\r\n \r\n
\r\n \r\n \r\n )\r\n}\r\n\r\nexport default Product;\r\n\r\n","import React, { useEffect, useState } from 'react'\r\nimport { useHistory } from 'react-router-dom'\r\nimport axios from 'axios'\r\n\r\n// CAROUSEL RESPONSIVE\r\nimport \"react-responsive-carousel/lib/styles/carousel.min.css\"\r\nimport { Carousel } from 'react-responsive-carousel'\r\n\r\nconst Banner = () => {\r\n\r\n const history = useHistory();\r\n const [banners, setBanners] = useState([])\r\n\r\n const getBanners = () => {\r\n let url = process.env.REACT_APP_URL_API + 'Publicidad/Banner';\r\n axios.get(url)\r\n .then(res => {\r\n setBanners(res.data);\r\n });\r\n };\r\n\r\n const onClickItem = (item) => {\r\n var path = /^(\\w+):\\/\\/([^\\/]+)([^]+)$/.exec(banners[item].enlace);\r\n if(path==null){\r\n history.push(banners[item].enlace ? banners[item].enlace : '')\r\n }else if(path[2]!=window.location.host){\r\n window.location.href=banners[item].enlace\r\n }else{\r\n history.push(path[3])\r\n }\r\n //window.location.href=(banners[item].enlace);\r\n //history.push(banners[item].enlace)\r\n }\r\n\r\n\r\n useEffect(() => {\r\n getBanners();\r\n }, [])\r\n\r\n return (\r\n \r\n {banners.map((item, i) => (\r\n
\r\n {e.target.onerror = null; e.target.src='/assets/img/logos_pstbn-02.png'}} />\r\n
\r\n ))}\r\n
\r\n )\r\n}\r\n\r\nexport default Banner\r\n","import React, { useState, useEffect } from 'react'\r\nimport httpClient from '../../../network/httpClient'\r\n\r\nconst Brands = () => {\r\n\r\n const [brands, setBrands] = useState();\r\n\r\n const getBrands = () => {\r\n httpClient.get('Seccion')\r\n .then(res => { \r\n setBrands(res.data);\r\n });\r\n };\r\n\r\n useEffect(() => { \r\n getBrands();\r\n }, [])\r\n\r\n return (\r\n
\r\n {brands ? (\r\n <>\r\n
\r\n

\r\n Marcas\r\n

\r\n
\r\n
\r\n\r\n {brands.map((item, i)=>(\r\n
\r\n \r\n
\r\n {\r\n e.target.onerror = null; \r\n e.target.src='/assets/img/logos_pstbn-02.png'\r\n }}>\r\n \r\n
\r\n

{item.nombre}

\r\n
\r\n
\r\n ))}\r\n \r\n
\r\n \r\n ): null}\r\n
\r\n )\r\n}\r\n\r\nexport default Brands\r\n\r\n","import React, { useEffect, useState } from 'react'\r\nimport httpClient from '../../../network/httpClient'\r\n\r\nconst Moments = () => {\r\n\r\n const [moments, setMoments] = useState();\r\n\r\n const getMoments = () => {\r\n httpClient.get('Momento')\r\n .then(res => { \r\n setMoments(res.data);\r\n });\r\n };\r\n\r\n useEffect(() => {\r\n getMoments();\r\n }, [])\r\n\r\n return (\r\n
\r\n { moments && (\r\n <>\r\n
\r\n

\r\n Momentos\r\n

\r\n
\r\n
\r\n { moments.map((item, i) => (\r\n \r\n
\r\n
\r\n

{item.nombre}

\r\n
\r\n
\r\n )) }\r\n
\r\n \r\n \r\n )}\r\n
\r\n )\r\n}\r\n\r\nexport default Moments\r\n","import React, { useEffect, useState } from 'react'\r\nimport httpClient from '../../../network/httpClient'\r\n\r\n// STORAGE\r\nimport Storage from '../../../helpers/Storage'\r\n\r\n// TAG MANAGER\r\nimport Analytics from '../../../helpers/Analytics'\r\n\r\n// COMPONENTS\r\nimport Product from '../../../components/items/Product'\r\n\r\nconst Highlights = ({ user, location, cart }) => {\r\n \r\n const [products, setProducts] = useState([]);\r\n\r\n const handleCategory = item => {}\r\n\r\n const getProducts = () => {\r\n let url = 'Producto/Home'\r\n\r\n var address = Storage.getAddress();\r\n\r\n if(Object.keys(address).length > 0) {\r\n url += \"?DepartamentoId=\"+ address.departamentoId +\r\n \"&MunicipioId=\" + address.municipioId;\r\n\r\n if(address.id)\r\n url += \"&DireccionId=\" + address.id || '';\r\n }\r\n\r\n if(user)\r\n url += \"&ClienteId=\" + user.id;\r\n\r\n httpClient.get(url)\r\n .then(res => {\r\n const listProduct = res.data;\r\n setProducts(listProduct);\r\n Analytics.listProducts(listProduct);\r\n });\r\n };\r\n\r\n useEffect(() => {\r\n getProducts();\r\n }, [])\r\n\r\n return (\r\n
\r\n { products.map((item, i) => (\r\n \r\n
\r\n

{item.nombre}

\r\n handleCategory(item)} >\r\n Ver todo\r\n \"icon\r\n \r\n
\r\n
\r\n
\r\n { item.producto.map((product, j) => (\r\n \r\n ))}\r\n
\r\n
\r\n
\r\n ))}\r\n
\r\n )\r\n}\r\n\r\nexport default Highlights\r\n","import React, { useEffect } from 'react'\r\nimport { useHistory } from 'react-router-dom'\r\n\r\nimport { Modal } from 'antd';\r\n\r\nimport Storage from '../../helpers/Storage'\r\n\r\nconst PublicidadModal = ({ visible, setVisible, popup }) => {\r\n\r\n const history = useHistory();\r\n\r\n const onClickItem = (item) => {\r\n setVisible(null);\r\n history.push(item.enlace);\r\n }\r\n\r\n const closeDialog = () => {\r\n Storage.setPublish(true);\r\n setVisible(null);\r\n }\r\n\r\n return (\r\n \r\n { popup && (\r\n
onClickItem(popup)}\r\n style={\r\n {\r\n backgroundImage: \"url(\" + process.env.REACT_APP_URL_API +'popup/'+ popup.imagen+ \")\",\r\n backgroundSize: \"100% 100%\",\r\n borderRadius: \"10px\"\r\n }\r\n }>\r\n
\r\n ) }\r\n \r\n
\r\n )\r\n}\r\n\r\nexport default PublicidadModal\r\n","import React, { useEffect, useState } from 'react'\r\nimport httpClient from '../../network/httpClient'\r\n\r\n// REDUX\r\nimport { useSelector } from 'react-redux'\r\n\r\n// COMPONENTS\r\nimport Layout from '../../components/layout/Layout'\r\nimport Banner from './components/Banner'\r\nimport Brands from './components/Brands'\r\nimport Moments from './components/Moments'\r\nimport Highlights from './components/Highlights'\r\n\r\nimport PublicidadModal from '../../modal/general/PublicidadModal'\r\n\r\nimport Storage from '../../helpers/Storage'\r\n\r\nconst HomePage = () => {\r\n\r\n const user = useSelector( state => state.auth && state.auth.user );\r\n const cart = useSelector( state => state.cart && state.cart.cart );\r\n const location = useSelector( state => state.address && state.address.address );\r\n\r\n const [ popup, setPopup ] = useState();\r\n const [ loader, setLoader ] = useState(false);\r\n\r\n const popupData = () => {\r\n const popCookie = Storage.getPublish();\r\n if(!popCookie){\r\n httpClient.get('Publicidad/PopUp')\r\n .then(res => {\r\n setPopup(res.data);\r\n });\r\n }\r\n };\r\n\r\n useEffect(() => {\r\n popupData();\r\n setLoader(true);\r\n setTimeout(() => {\r\n setLoader(false);\r\n }, 1000);\r\n }, [])\r\n\r\n return (\r\n <>\r\n \r\n \r\n
\r\n
\r\n \r\n
\r\n
\r\n \r\n \r\n
\r\n
\r\n
\r\n \r\n \r\n )\r\n}\r\n\r\nexport default HomePage\r\n"],"sourceRoot":""}