Help
RSS
API
Feed
Maltego
Contact
Domain > app.hiperzoo.com.br
×
More information on this domain is in
AlienVault OTX
Is this malicious?
Yes
No
DNS Resolutions
Date
IP Address
2025-12-04
104.21.61.59
(
ClassC
)
Port 443
HTTP/1.1 200 OKDate: Thu, 04 Dec 2025 00:52:29 GMTContent-Type: text/html; charsetutf-8Transfer-Encoding: chunkedConnection: keep-aliveServer: cloudflareNel: {report_to:cf-nel,success_fraction:0.0,max_age:604800}Vary: Accept-EncodingVary: CookieX-Frame-Options: DENYX-Content-Type-Options: nosniffX-Content-Type-Options: nosniffReferrer-Policy: same-originReferrer-Policy: strict-originSet-Cookie: csrftokenx9P6Gyk463fbRg5NgTsnysW9CQzBa28RosCKCQX5peTZGDpDl67xZJN2CrGmIBw5; expiresThu, 03 Dec 2026 00:52:29 GMT; Max-Age31449600; Path/; SameSiteLaxStrict-Transport-Security: max-age31536000; includeSubdomains;Report-To: {group:cf-nel,max_age:604800,endpoints:{url:https://a.nel.cloudflare.com/report/v4?sbW2aDT%2FYrbYd8nkIThKsGLQkl3YFrsHzTBCcnvu1hHa0jSzkMJLB7fjKyIK5wYJ5Ty76aPHWzkOBa91Z8ImN2vG4Y7nLS8hvartj9ufAn3Do}}cf-cache-status: DYNAMICCF-RAY: 9a8752449ed9ef1c-PDXalt-svc: h3:443; ma86400 !DOCTYPE html>html langpt-br>head> base href./> meta charsetutf-8> meta http-equivX-UA-Compatible contentIEedge> meta nameviewport contentwidthdevice-width, initial-scale1.0> title> Pet Shop Online | Hiperzoo – Rações, Acessórios e Mais /title> meta namedescription contentA Hiperzoo é o pet shop online completo: rações, brinquedos, farmácia veterinária e acessórios para cães, gatos, pássaros, peixes e mais. Entrega rápida e preços especiais.> link relicon href/media//> meta namegoogle-site-verification contentNCDFnTy-1HQocI3aSdre1VStjyUqe5nfZEjUjSzS_IY/> !-- Google Tag Manager --> script>(function(w,d,s,l,i){wlwl||;wl.push({gtm.start: new Date().getTime(),event:gtm.js});var fd.getElementsByTagName(s)0, jd.createElement(s),dll!dataLayer?&l+l:;j.asynctrue;j.src https://www.googletagmanager.com/gtm.js?id+i+dl;f.parentNode.insertBefore(j,f); })(window,document,script,dataLayer,GTM-WQFD77T);/script> !-- End Google Tag Manager --> link hrefhttps://fonts.googleapis.com/css2?familyMontserrat:wght@400;500;600;700;800;900&displayswap relstylesheet> !-- Global site tag (gtag.js) - Google Analytics --> script async srchttps://www.googletagmanager.com/gtag/js?idUA-140616658-1>/script> script> window.dataLayer window.dataLayer || ; function gtag(){dataLayer.push(arguments);} gtag(js, new Date()); gtag(config, UA-140616658-1); /script> meta namefacebook-domain-verification content/> !-- Facebook Pixel Code --> script> !function (f, b, e, v, n, t, s) { if (f.fbq) return; n f.fbq function () { n.callMethod ? n.callMethod.apply(n, arguments) : n.queue.push(arguments) }; if (!f._fbq) f._fbq n; n.push n; n.loaded !0; n.version 2.0; n.queue ; t b.createElement(e); t.async !0; t.src v; s b.getElementsByTagName(e)0; s.parentNode.insertBefore(t, s) }(window, document, script, https://connect.facebook.net/en_US/fbevents.js); fbq(init, 2248956388706588); fbq(track, PageView); /script> noscript> img height1 width1 styledisplay:none srchttps://www.facebook.com/tr?id2248956388706588&evPageView&noscript1/> /noscript> !-- End Facebook Pixel Code --> !-- Css Font awesome --> link relstylesheet href/staticfiles/css/font-awesome/css/font-awesome.min.css> !-- Css do componente Select2 --> link relstylesheet href/staticfiles/select2/css/select2.min.css> !-- Ícones --> link relstylesheet href/staticfiles/css/fontface/icone_pin/icone_menu/icons_menu.css> link relstylesheet href/staticfiles/css/fontface/icone_pin/icons_pin.css> !-- Css Booststrap --> link relstylesheet href/staticfiles/bootstrap-4.4.1/dist/css/bootstrap.min.css> !-- Cores utilizadas no projeto --> !-- Jquery v3.5.1 versao --> script typetext/javascript src/staticfiles/js/jquery/js/jquery_3.5.1v.min.js>/script> !-- Máscaras do jquery com regexp --> script typetext/javascript src/staticfiles/js/utilitarios/mascara/mask.min.js>/script> !-- MomentJS --> script typetext/javascript src/staticfiles/js/utilitarios/moment/moment.min.js>/script> script typetext/javascript src/staticfiles/js/utilitarios/moment/moment-with-locales.min.js>/script> !-- Openstreetmap --> link relstylesheet href/staticfiles/leaflet/leaflet.css> script src/staticfiles/leaflet/leaflet.js>/script> !-- Turnstile --> script srchttps://challenges.cloudflare.com/turnstile/v0/api.js async defer>/script> script> moment ? moment.locale(pt-br) : ; /script> script>(function(w,d,t,r,u){var f,n,i;wuwu||,ffunction(){var o{ti:97033960};o.qwu,wunew UET(o),wu.push(pageLoad)},nd.createElement(t),n.srcr,n.async1,n.onloadn.onreadystatechangefunction(){var sthis.readyState;s&&s!loaded&&s!complete||(f(),n.onloadn.onreadystatechangenull)},id.getElementsByTagName(t)0,i.parentNode.insertBefore(n,i)})(window,document,script,//bat.bing.com/bat.js,uetq);/script> style> /* Feel free to change duration */ .animated { -webkit-animation-duration: 300ms; animation-duration: 300ms; -webkit-animation-fill-mode: both; animation-fill-mode: both; } .owl-animated-out { z-index: 0; } .fadeOut { z-index: 0; } .owl-item.active { z-index: 1 !important; } .owl-item.active { -webkit-animation-name: slideron; animation-name: slideron; } @-webkit-keyframes slideron { 0% { opacity: 0; } 100% { opacity: 1; } } @keyframes slideron { 0% { opacity: 0; } 100% { opacity: 1; } } :root { /* Cores padrões */ --white: #fff; --no-white: #FFF; --white-secondary: #f7f7f7; --white-secondary-hover: #e4e7ea; --global-bg-color: #FFF; --texto: #444; --ice-blue: #edeff0; --windows-blue: #3d85c6; --sunflower-yellow: #ffd200; --blue-gray: #8a9297; /* cores do padrão 1 */ --mundo-padrao1-1: #ffbf00; --mundo-padrao1-2: #d99800; /* cores padrao 2 */ --mundo-padrao2-1: #c30017; --mundo-padrao2-2: #910011; /* cores padrao 3 */ --mundo-padrao3-1: #ff00cc; --mundo-padrao3-2: #b80093; /* cores padrao 4 */ --mundo-padrao4-1: #ff3d00; --mundo-padrao4-2: #cc1d00; /* cores padrao 5 segue as mesmas cores do padrao 1 cores padrao 6 segue mesmo padrão do navy-blue */ /* cores padrao 7 */ --mundo-parao5-1: #0047cc; --mundo-parao5-2: #002e85; --mundo-parao6-1: #0047cc; --mundo-parao6-2: #002e85; --mundo-padrao7-1: #ff9650; --mundo-padrao7-2: #ff9650; --mundo-padrao8-1: #00ab4f; --mundo-padrao8-2: #00ab4f; --mundo-padrao9-1: #75f0ff; /* cores padrao marcas */ --mundo-marcas-1: var(--light-navy-blue); --mundo-marcas-2: #f6fbff; --pale-sky-blue: #d7e1e7; --pale-sky-green: #cee3bc; /* cool blue */ --primary: #004f93; --primary-hover: #397dba; /* light-navy */ --light-navy: #18537d; --light-navy-hover: #144466; /* light-navy-blue */ --light-navy-blue: #315c8e; --light-navy-blue-hover: #2b527e; --marine: #21293c; --outline-primary: #FFF; --outline-primary-hover: #E8F8FF; --secondary: #d7e1e7; --secondary-hover: #bdc6cb; --success: #94b623; --success-hover: #68b623; --info: #294d80; --info-hover: #22406a; --warning: #e9580c; --warning-hover: #e3a312; --danger: #ee3a41; --danger-hover: #d7343b; --light: #f0f3f5; --light-hover: #d9e1e6; --muted: #8a9297; --dark-80: rgba(0, 0, 0, 0.8); --dark-50: rgba(0, 0, 0, 0.5); --dark-35: rgba(0, 0, 0, 0.35); --dark-20: rgba(0, 0, 0, 0.2); --dark-10: rgba(0, 0, 0, 0.1); --dark-5: rgba(0, 0, 0, 0.05); --tabela: #EFF3F5; --tabela-hover: #dce0e2; /* Fim Cores Padrões */ /* Tamanhos de telas utilizados para @media responsive */ --breakpoint-xs: 0; --breakpoint-sm: 576px; --breakpoint-md: 768px; --breakpoint-lg: 992px; --breakpoint-xl: 1200px; /* Fim */ /* Cores personalizadas e icones do cliente */ --amarelo-cliente: #ffd200; /* N Amarelo */ --cliente-icone-warning-btn: url(/staticfiles/img/logos_e_banners/n-amarelo.png); /* Azul */ --cliente-color-primary: #18537d; --cliente-color-primary-hover: #144467; --cliente-icone-primary-btn: url(/staticfiles/img/logos_e_banners/n-azul.png); --loader-path: url(/staticfiles/loader/loader.gif); } .d-none-valor-banco { display: none } .imagem-pet-select img{ width: 100%; height: auto; display: block; } .imagem-pet-select{ background-color: #E9580C; width: 36px; height: 36px; overflow: hidden; border-radius: 50%; border: solid 2px #E9580C; box-shadow: 0px 1px 1px 1px rgba(0, 0, 0, 0.4); } .card-pet { display: block;}.card-pet>input { /* HIDE RADIO */ visibility: hidden; /* Makes input not-clickable */ position: absolute; /* Remove input from document flow */ float: left;}.card-pet>input+label { /* DIV STYLES */ cursor: pointer;}.card-pet>input+label { border: 1px solid #b0b9bf;}.card-pet>input+label:hover,.card-pet>input:checked+label { /* DIV STYLES */ cursor: pointer; /*background-color: #F8FDFF;*/ border: 1px solid var(--success) !important;} .card-pet label{ flex-direction: row ; padding: 5px 8px ; box-shadow: -3px 3px 20px rgba(0, 0, 0, 0.06); background-color:#FFFFFF; border-radius: 10px; font-weight: 500; } .caixa-pet .card-pet input:checked+label { border: 2px solid #e9580c !important; } .caixa-pet .card-pet input:checked+label p { color: #e9580c !important; font-weight: 500; } .radiobox-container{ padding: 3px 10px; border: 2px solid #e0e0e0; border-radius: 10px; } .collapse-icon { cursor: pointer; transition: transform 0.3s ease; margin-bottom: 10px; } .collapsed img { transform: rotate(180deg); } .collapse-icon:not(.collapsed) img { transform: rotate(0deg); } .collapse:not(.show) { display: none; } .collapse:not(.show) + .collapse-icon img { transform: rotate(180deg); } .collapse:not(.show) .d-flex.card-pet { display: none; } .collapse:not(.show) .d-none input { display: block; } .Ir-para-Meus-Pets { width: 115px; height: 18px; font-size: 15px; font-weight: 500; text-align: left; color: #709b1a; } .add-novo-pet { border-radius: 10px; border: solid 2px #e0e0e0; background-color: #fff; padding: 5px; } .font-icon{ border: 4px solid #e0e0e0; border-radius: 50%; padding: 5px; } .combobox-pet-carrinho{ font-size: 12px; } /style> link relstylesheet href/staticfiles/css/cores.css> !-- Css OWL Carousel --> link relstylesheet href/staticfiles/OwlCarousel2-2.3.4/dist/assets/owl.carousel.min.css> link relstylesheet href/staticfiles/OwlCarousel2-2.3.4/dist/assets/owl.theme.default.min.css> !-- Styles --> link relstylesheet href/staticfiles/css/style.css> !-- Toastr, Alerta de sucesso ou error css --> link relstylesheet href/staticfiles/toastr/css/toastr.min.css> !-- datepicker --> link relstylesheet href/staticfiles/datepicker/css/datepicker.min.css> link relstylesheet href/staticfiles/ecommerce_menu/css/style.css> link relstylesheet href/staticfiles/css/carrinho.css> !-- Jquery UI --> script typetext/javascript src/staticfiles/js/jquery/js/jquery-ui.min.js>/script> /head>!-- head -->body classapp header-fixed sidebar-minimized aside-menu-minimized sidebar-lg-show>!-- Google Tag Manager (noscript) -->noscript> iframe srchttps://www.googletagmanager.com/ns.html?idGTM-WQFD77T height0 width0 styledisplay:none;visibility:hidden>/iframe>/noscript>!-- Google Tag Manager cópia da hiperzoo -->noscript> iframe srchttps://www.googletagmanager.com/ns.html?idG-VJ9DLJFSKD height0 width0 styledisplay:none;visibility:hidden>/iframe>/noscript>!-- End Google Tag Manager (noscript) -->div classbody-disabled>/div>script> Number.prototype.toLocaleFixed function (o) { return number typeof parseFloat(this) ? parseFloat(this).toLocaleString(pt-BR, { minimumFractionDigits: o, maximumFractionDigits: o }) : this } function blackPanel(_this) { if ($(_this).hasClass(asidebar-desfoco-confirmacao)) { onToggleCarrinhoPopUp(null, $(_this).attr(data-seletor).toString()); } else if ($(_this).hasClass(asidebar-desfoco)) { onToggleCarrinho(); } } function blackPanelMobile(_this){ if($(_this).hasClass(asidebar-desfoco-confirmacao)){ abrirModalQuantidade(__esse, null, $(_this).attr(data-seletor).toString()); } else if ($(_this).hasClass(asidebar-desfoco)){ } } function load(status, elem, prop) { let loader; if (elem.length > 0) { if (elem0.tagName MAIN || elem0.tagName BODY || elem0.tagName HTML) { loader `div classload load-body styleposition:fixed !important;> div classtoriload>/div> /div>`; } else { loader `div classload styleposition:absolute !important;${prop ? prop : }>div classtoriload>/div> /div>`; } switch (status) { case off: elem.find(.load).remove(); break; case on: elem.prepend(loader); break; default: elem.prepend(loader); } } }/script>div idcarrinho_desfoco onclickblackPanel(this)>/div>style> .tab-padrao-1 .tab_submenu { left: 0 !important; } /style> div classapp-body> main classmain> div classcontainer> div classrow> div classcol-12 col-xl-12 col-lg-12 col-md-12 col-sm-12 mt-2> div classcarousel-topo owl-theme mt-2 owl-carousel w-100> div classitem cursor-pointer> a hrefhttps://www.hiperzoo.com.br/ofertas classcarrossel-imagem-desktop>img classd-block w-100 height-carousel lazyloaded srcmedia/estrutura/logo/Banner_Natal_Hz_desk.webp loadinglazy altImagem Carousel>/a> /div>div classitem cursor-pointer> a hrefhttps://www.hiperzoo.com.br/ofertas classcarrossel-imagem-mobile>img classd-block w-100 height-carousel lazyloaded srcmedia/estrutura/logo/Banner_Natal_Hz_mobile.webp loadinglazy altImagem Carousel>/a> /div>div classitem cursor-pointer> a hrefhttps://hiperzoo.com.br/regulamento2025 classcarrossel-imagem-desktop>img classd-block w-100 height-carousel lazyloaded srcmedia/estrutura/logo/Banner_Hiper_niver_Ganhadores_Desck.webp loadinglazy altImagem Carousel>/a> /div>div classitem cursor-pointer> a hrefhttps://hiperzoo.com.br/regulamento2025 classcarrossel-imagem-mobile>img classd-block w-100 height-carousel lazyloaded srcmedia/estrutura/logo/Banner_HiperNIver_Ganhadores_Mobile.webp loadinglazy altImagem Carousel>/a> /div>div classitem cursor-pointer> a href/ classcarrossel-imagem-desktop>img classd-block w-100 height-carousel lazyloaded srcmedia/estrutura/logo/Banner-Hiper10_desk.webp loadinglazy altImagem Carousel>/a> /div>div classitem cursor-pointer> a href/ classcarrossel-imagem-mobile>img classd-block w-100 height-carousel lazyloaded srcmedia/estrutura/logo/Banner-Hiper10_mobile.webp loadinglazy altImagem Carousel>/a> /div>div classitem cursor-pointer> a href/nossas-lojas classcarrossel-imagem-desktop>img classd-block w-100 height-carousel lazyloaded srcmedia/estrutura/logo/Banner-Retire-10-desk.webp loadinglazy altImagem Carousel>/a> /div>div classitem cursor-pointer> a href/nossas-lojas classcarrossel-imagem-mobile>img classd-block w-100 height-carousel lazyloaded srcmedia/estrutura/logo/Banner-Retire-10-mobile.webp loadinglazy altImagem Carousel>/a> /div>div classitem cursor-pointer> a href/blog/pet-wash-venha-dar-banho-no-seu-pet-aqui-no-hiperzoo classcarrossel-imagem-desktop>img classd-block w-100 height-carousel lazyloaded srcmedia/estrutura/logo/Banner-Estetica_pet_desk.webp loadinglazy altImagem Carousel>/a> /div>div classitem cursor-pointer> a href/blog/pet-wash-venha-dar-banho-no-seu-pet-aqui-no-hiperzoo classcarrossel-imagem-mobile>img classd-block w-100 height-carousel lazyloaded srcmedia/estrutura/logo/Banner-Estetica_pet_mobile.webp loadinglazy altImagem Carousel>/a> /div>div classitem cursor-pointer> a href/ classcarrossel-imagem-desktop>img classd-block w-100 height-carousel lazyloaded srcmedia/estrutura/logo/bannersCapaSite3.jpg loadinglazy altImagem Carousel>/a> /div>div classitem cursor-pointer> a href/ classcarrossel-imagem-mobile>img classd-block w-100 height-carousel lazyloaded srcmedia/estrutura/logo/bannersCapaSite3mobil.jpg loadinglazy altImagem Carousel>/a> /div> /div> div classmt-4> !-- Título --> div classml-2 text-center d-block mt-5> h2 classfont-weight-semibold text-warning font-3xl text-uppercase>HIPER NATAL!/h2> /div> !-- Corpo produtos --> div classprodutos owl-carousel mt-2> div classitem p-2 stylewidth:inherit> div classproduto border border-light rounded p-2 data-produto_id13263 stylewidth:inherit> a hreftapete-higienico-pet-mais-treine-pet-com-30-unidades-para-caes> div data-targetdesconto-produto> /div> div classtext-center overflow-hidden cursor-pointer> img classimagem-produto lazyloaded loadinglazy src/media/produtos/tapete-higienico-pet-mais-treine-pet-para-caes-filhotes-30unidaeds_200x200.webp altImagem do Produto> /div> /a> div stylemin-height:55px;> a hreftapete-higienico-pet-mais-treine-pet-com-30-unidades-para-caes>span data-targetnome_produto classtext-body cursor-pointer text-limit-2 stylemin-height:40px ; font-weight:100>Tapete Higiênico Pet Mais Treine Pet Com 30 Unidades Para Cães /span>/a> div classmt-3> !-- Valor ou desconto --> div data-targetpreco-produto classpreco-produto styleheight:85px;> /div> /div> /div> div class produto-footer stylewidth:100%> div classproduto-comprar px-2 border-top border-light pt-3 stylewidth:inherit> button classbtn btn-warning text-white d-block text-center mx-auto font-weight-bold data-loading-textarticle>i classfa fa-spinner fa-spin >/i> aguarde.../article> data-targetbtn-comprar data-qtd_produto1> article> Comprar /article> /button> /div> /div> /div>/div>div classitem p-2 stylewidth:inherit> div classproduto border border-light rounded p-2 data-produto_id750 stylewidth:inherit> a hrefracao-premier-ambientes-internos-caes-adultos-porte-pequeno-sabor-frango-e-salmao-12kg> div data-targetdesconto-produto> /div> div classtext-center overflow-hidden cursor-pointer> img classimagem-produto lazyloaded loadinglazy src/media/produtos/premier-salmao-e-frango-12kg-_200x200.webp altImagem do Produto> /div> /a> div stylemin-height:55px;> a hrefracao-premier-ambientes-internos-caes-adultos-porte-pequeno-sabor-frango-e-salmao-12kg>span data-targetnome_produto classtext-body cursor-pointer text-limit-2 stylemin-height:40px ; font-weight:100>Ração Premier Ambientes Internos Cães Adultos Porte Pequeno Sabor Frango E Salmão 12Kg /span>/a> div classmt-3> !-- Valor ou desconto --> div data-targetpreco-produto classpreco-produto styleheight:85px;> /div> /div> /div> div class produto-footer stylewidth:100%> div classproduto-comprar px-2 border-top border-light pt-3 stylewidth:inherit> button classbtn btn-warning text-white d-block text-center mx-auto font-weight-bold data-loading-textarticle>i classfa fa-spinner fa-spin >/i> aguarde.../article> data-targetbtn-comprar data-qtd_produto1> article> Comprar /article> /button> /div> /div> /div>/div>div classitem p-2 stylewidth:inherit> div classproduto border border-light rounded p-2 data-produto_id28164 stylewidth:inherit> a hrefracao-alinutri-nature-formula-pro-caes-adultos-racas-grandes-15kg> div data-targetdesconto-produto> /div> div classtext-center overflow-hidden cursor-pointer> img classimagem-produto lazyloaded loadinglazy src/media/produtos/nature-formula-pro-caes-adulto_200x200.webp altImagem do Produto> /div> /a> div stylemin-height:55px;> a hrefracao-alinutri-nature-formula-pro-caes-adultos-racas-grandes-15kg>span data-targetnome_produto classtext-body cursor-pointer text-limit-2 stylemin-height:40px ; font-weight:100>Ração Alinutri Nature Fórmula Pro Cães Adultos Raças Grandes 15Kg/span>/a> div classmt-3> !-- Valor ou desconto --> div data-targetpreco-produto classpreco-produto styleheight:85px;> /div> /div> /div> div class produto-footer stylewidth:100%> div classproduto-comprar px-2 border-top border-light pt-3 stylewidth:inherit> button classbtn btn-warning text-white d-block text-center mx-auto font-weight-bold data-loading-textarticle>i classfa fa-spinner fa-spin >/i> aguarde.../article> data-targetbtn-comprar data-qtd_produto1> article> Comprar /article> /button> /div> /div> /div>/div>div classitem p-2 stylewidth:inherit> div classproduto border border-light rounded p-2 data-produto_id31078 stylewidth:inherit> a hrefracao-formula-natural-super-premium-fresh-meat-sensitive-caes-adultos-portes-mini-e-pequeno-cordeiro-mandioca-e-aloe-vera-25kg> div data-targetdesconto-produto> /div> div classtext-center overflow-hidden cursor-pointer> img classimagem-produto lazyloaded loadinglazy src/media/produtos/formula-natural-fresh-meat-sensitive-caes-adultos-portes-mini-e-pequeno_200x200.webp altImagem do Produto> /div> /a> div stylemin-height:55px;> a hrefracao-formula-natural-super-premium-fresh-meat-sensitive-caes-adultos-portes-mini-e-pequeno-cordeiro-mandioca-e-aloe-vera-25kg>span data-targetnome_produto classtext-body cursor-pointer text-limit-2 stylemin-height:40px ; font-weight:100>Ração Fórmula Natural Super Premium Fresh Meat Sensitive Cães Adultos Portes Mini E Pequeno Cordeiro, Mandioca E Aloe Vera 2,5Kg/span>/a> div classmt-3> !-- Valor ou desconto --> div data-targetpreco-produto classpreco-produto styleheight:85px;> /div> /div> /div> div class produto-footer stylewidth:100%> div classproduto-comprar px-2 border-top border-light pt-3 stylewidth:inherit> button classbtn btn-warning text-white d-block text-center mx-auto font-weight-bold data-loading-textarticle>i classfa fa-spinner fa-spin >/i> aguarde.../article> data-targetbtn-comprar data-qtd_produto1> article> Comprar /article> /button> /div> /div> /div>/div>div classitem p-2 stylewidth:inherit> div classproduto border border-light rounded p-2 data-produto_id19433 stylewidth:inherit> a hrefracao-golden-selecao-natural-para-caes-adultos-porte-pequeno-sabor-frango-abobora-e-alecrim-101kg> div data-targetdesconto-produto> /div> div classtext-center overflow-hidden cursor-pointer> img classimagem-produto lazyloaded loadinglazy src/media/produtos/racas-pequenas-selecao-natural-abobora-10kg_200x200.webp altImagem do Produto> /div> /a> div stylemin-height:55px;> a hrefracao-golden-selecao-natural-para-caes-adultos-porte-pequeno-sabor-frango-abobora-e-alecrim-101kg>span data-targetnome_produto classtext-body cursor-pointer text-limit-2 stylemin-height:40px ; font-weight:100>Ração Golden Seleção Natural Para Cães Adultos Porte Pequeno Sabor Frango, Abóbora E Alecrim 10,1Kg/span>/a> div classmt-3> !-- Valor ou desconto --> div data-targetpreco-produto classpreco-produto styleheight:85px;> /div> /div> /div> div class produto-footer stylewidth:100%> div classproduto-comprar px-2 border-top border-light pt-3 stylewidth:inherit> button classbtn btn-warning text-white d-block text-center mx-auto font-weight-bold data-loading-textarticle>i classfa fa-spinner fa-spin >/i> aguarde.../article> data-targetbtn-comprar data-qtd_produto1> article> Comprar /article> /button> /div> /div> /div>/div>div classitem p-2 stylewidth:inherit> div classproduto border border-light rounded p-2 data-produto_id27241 stylewidth:inherit> a hrefracao-gran-plus-choice-caes-adultos-frango-e-carne-101kg> div data-targetdesconto-produto> /div> div classtext-center overflow-hidden cursor-pointer> img classimagem-produto lazyloaded loadinglazy src/media/produtos/7896048918536_200x200.webp altImagem do Produto> /div> /a> div stylemin-height:55px;> a hrefracao-gran-plus-choice-caes-adultos-frango-e-carne-101kg>span data-targetnome_produto classtext-body cursor-pointer text-limit-2 stylemin-height:40px ; font-weight:100>Ração Gran Plus Choice Cães Adultos Frango E Carne 10,1Kg/span>/a> div classmt-3> !-- Valor ou desconto --> div data-targetpreco-produto classpreco-produto styleheight:85px;> /div> /div> /div> div class produto-footer stylewidth:100%> div classproduto-comprar px-2 border-top border-light pt-3 stylewidth:inherit> button classbtn btn-warning text-white d-block text-center mx-auto font-weight-bold data-loading-textarticle>i classfa fa-spinner fa-spin >/i> aguarde.../article> data-targetbtn-comprar data-qtd_produto1> article> Comprar /article> /button> /div> /div> /div>/div>div classitem p-2 stylewidth:inherit> div classproduto border border-light rounded p-2 data-produto_id27719 stylewidth:inherit> a hrefracao-origens-premium-especial-class-caes-adultos-sabor-carne-e-frango-15kg> div data-targetdesconto-produto> /div> div classtext-center overflow-hidden cursor-pointer> img classimagem-produto lazyloaded loadinglazy src/media/produtos/ORIGENS_CLASS_CAES_ADULTOS_CARNE_FRANGO_200x200.webp altImagem do Produto> /div> /a> div stylemin-height:55px;> a hrefracao-origens-premium-especial-class-caes-adultos-sabor-carne-e-frango-15kg>span data-targetnome_produto classtext-body cursor-pointer text-limit-2 stylemin-height:40px ; font-weight:100>Ração Origens Premium Especial Class Cães Adultos Sabor Carne E Frango 15Kg /span>/a> div classmt-3> !-- Valor ou desconto --> div data-targetpreco-produto classpreco-produto styleheight:85px;> /div> /div> /div> div class produto-footer stylewidth:100%> div classproduto-comprar px-2 border-top border-light pt-3 stylewidth:inherit> button classbtn btn-warning text-white d-block text-center mx-auto font-weight-bold data-loading-textarticle>i classfa fa-spinner fa-spin >/i> aguarde.../article> data-targetbtn-comprar data-qtd_produto1> article> Comprar /article> /button> /div> /div> /div>/div>div classitem p-2 stylewidth:inherit> div classproduto border border-light rounded p-2 data-produto_id10350 stylewidth:inherit> a hrefbiscoito-pedigree-biscrok-multi-para-caes-adultos-1kg> div data-targetdesconto-produto> /div> div classtext-center overflow-hidden cursor-pointer> img classimagem-produto lazyloaded loadinglazy src/media/produtos/7896029041956_200x200.webp altImagem do Produto> /div> /a> div stylemin-height:55px;> a hrefbiscoito-pedigree-biscrok-multi-para-caes-adultos-1kg>span data-targetnome_produto classtext-body cursor-pointer text-limit-2 stylemin-height:40px ; font-weight:100>Biscoito Pedigree Biscrok Multi Para Cães Adultos 1Kg/span>/a> div classmt-3> !-- Valor ou desconto --> div data-targetpreco-produto classpreco-produto styleheight:85px;> /div> /div> /div> div class produto-footer stylewidth:100%> div classproduto-comprar px-2 border-top border-light pt-3 stylewidth:inherit> button classbtn btn-warning text-white d-block text-center mx-auto font-weight-bold data-loading-textarticle>i classfa fa-spinner fa-spin >/i> aguarde.../article> data-targetbtn-comprar data-qtd_produto1> article> Comprar /article> /button> /div> /div> /div>/div>div classitem p-2 stylewidth:inherit> div classproduto border border-light rounded p-2 data-produto_id31018 stylewidth:inherit> a hrefpetisco-just-para-gatos-sabor-frango-55g> div data-targetdesconto-produto> /div> div classtext-center overflow-hidden cursor-pointer> img classimagem-produto lazyloaded loadinglazy src/media/produtos/7898641317365 hiperzo_200x200.webp altImagem do Produto> /div> /a> div stylemin-height:55px;> a hrefpetisco-just-para-gatos-sabor-frango-55g>span data-targetnome_produto classtext-body cursor-pointer text-limit-2 stylemin-height:40px ; font-weight:100>Petisco Just Para Gatos Sabor Frango 55G/span>/a> div classmt-3> !-- Valor ou desconto --> div data-targetpreco-produto classpreco-produto styleheight:85px;> /div> /div> /div> div class produto-footer stylewidth:100%> div classproduto-comprar px-2 border-top border-light pt-3 stylewidth:inherit> button classbtn btn-warning text-white d-block text-center mx-auto font-weight-bold data-loading-textarticle>i classfa fa-spinner fa-spin >/i> aguarde.../article> data-targetbtn-comprar data-qtd_produto1> article> Comprar /article> /button> /div> /div> /div>/div>div classitem p-2 stylewidth:inherit> div classproduto border border-light rounded p-2 data-produto_id31027 stylewidth:inherit> a hrefpetisco-just-para-gatos-sabor-pato-55g> div data-targetdesconto-produto> /div> div classtext-center overflow-hidden cursor-pointer> img classimagem-produto lazyloaded loadinglazy src/media/produtos/7898641317372_200x200.webp altImagem do Produto> /div> /a> div stylemin-height:55px;> a hrefpetisco-just-para-gatos-sabor-pato-55g>span data-targetnome_produto classtext-body cursor-pointer text-limit-2 stylemin-height:40px ; font-weight:100>Petisco Just Para Gatos Sabor Pato 55G/span>/a> div classmt-3> !-- Valor ou desconto --> div data-targetpreco-produto classpreco-produto styleheight:85px;> /div> /div> /div> div class produto-footer stylewidth:100%> div classproduto-comprar px-2 border-top border-light pt-3 stylewidth:inherit> button classbtn btn-warning text-white d-block text-center mx-auto font-weight-bold data-loading-textarticle>i classfa fa-spinner fa-spin >/i> aguarde.../article> data-targetbtn-comprar data-qtd_produto1> article> Comprar /article> /button> /div> /div> /div>/div>div classitem p-2 stylewidth:inherit> div classproduto border border-light rounded p-2 data-produto_id36369 stylewidth:inherit> a hrefpetisco-lupe-traqueia-bovina-com-3-unidades-70g> div data-targetdesconto-produto> /div> div classtext-center overflow-hidden cursor-pointer> img classimagem-produto lazyloaded loadinglazy src/media/produtos/traqueia-bovina_200x200.webp altImagem do Produto> /div> /a> div stylemin-height:55px;> a hrefpetisco-lupe-traqueia-bovina-com-3-unidades-70g>span data-targetnome_produto classtext-body cursor-pointer text-limit-2 stylemin-height:40px ; font-weight:100>Petisco Lupe Traqueia Bovina Com 3 Unidades 70G/span>/a> div classmt-3> !-- Valor ou desconto --> div data-targetpreco-produto classpreco-produto styleheight:85px;> /div> /div> /div> div class produto-footer stylewidth:100%> div classproduto-comprar px-2 border-top border-light pt-3 stylewidth:inherit> button classbtn btn-warning text-white d-block text-center mx-auto font-weight-bold data-loading-textarticle>i classfa fa-spinner fa-spin >/i> aguarde.../article> data-targetbtn-comprar data-qtd_produto1> article> Comprar /article> /button> /div> /div> /div>/div>div classitem p-2 stylewidth:inherit> div classproduto border border-light rounded p-2 data-produto_id25190 stylewidth:inherit> a hrefantipulgas-e-carrapatos-nexgard-spectra-para-caes-de-76-a-15kg-com-1-tablete> div data-targetdesconto-produto> /div> div classtext-center overflow-hidden cursor-pointer> img classimagem-produto lazyloaded loadinglazy src/media/produtos/7898659784081-1tablete_200x200.webp altImagem do Produto> /div> /a> div stylemin-height:55px;> a hrefantipulgas-e-carrapatos-nexgard-spectra-para-caes-de-76-a-15kg-com-1-tablete>span data-targetnome_produto classtext-body cursor-pointer text-limit-2 stylemin-height:40px ; font-weight:100>Antipulgas E Carrapatos Nexgard Spectra Para Cães De 7,6 A 15Kg Com 1 Tablete/span>/a> div classmt-3> !-- Valor ou desconto --> div data-targetpreco-produto classpreco-produto styleheight:85px;> /div> /div> /div> div class produto-footer stylewidth:100%> div classproduto-comprar px-2 border-top border-light pt-3 stylewidth:inherit> button classbtn btn-warning text-white d-block text-center mx-auto font-weight-bold data-loading-textarticle>i classfa fa-spinner fa-spin >/i> aguarde.../article> data-targetbtn-comprar data-qtd_produto1> article> Comprar /article> /button> /div> /div> /div>/div>div classitem p-2 stylewidth:inherit> div classproduto border border-light rounded p-2 data-produto_id6432 stylewidth:inherit> a hrefantipulgas-e-carrapatos-frontline-plus-para-caes-de-10-a-20kg> div data-targetdesconto-produto> /div> div classtext-center overflow-hidden cursor-pointer> img classimagem-produto lazyloaded loadinglazy src/media/produtos/antipulgas-e-carrapatos-frontline-plus-para-caes-de-10-a-20kg-hiperzoo_200x200.webp altImagem do Produto> /div> /a> div stylemin-height:55px;> a hrefantipulgas-e-carrapatos-frontline-plus-para-caes-de-10-a-20kg>span data-targetnome_produto classtext-body cursor-pointer text-limit-2 stylemin-height:40px ; font-weight:100>Antipulgas E Carrapatos Frontline Plus Para Cães De 10 A 20Kg/span>/a> div classmt-3> !-- Valor ou desconto --> div data-targetpreco-produto classpreco-produto styleheight:85px;> /div> /div> /div> div class produto-footer stylewidth:100%> div classproduto-comprar px-2 border-top border-light pt-3 stylewidth:inherit> button classbtn btn-warning text-white d-block text-center mx-auto font-weight-bold data-loading-textarticle>i classfa fa-spinner fa-spin >/i> aguarde.../article> data-targetbtn-comprar data-qtd_produto1> article> Comprar /article> /button> /div> /div> /div>/div>div classitem p-2 stylewidth:inherit> div classproduto border border-light rounded p-2 data-produto_id9981 stylewidth:inherit> a hrefalimento-umido-optimum-sache-para-gatos-filhotes-sabor-frango-85g> div data-targetdesconto-produto> /div> div classtext-center overflow-hidden cursor-pointer> img classimagem-produto lazyloaded loadinglazy src/media/produtos/alimento-umido-optimum-sache-gatos-filhotes-sabor-frango_200x200.webp altImagem do Produto> /div> /a> div stylemin-height:55px;> a hrefalimento-umido-optimum-sache-para-gatos-filhotes-sabor-frango-85g>span data-targetnome_produto classtext-body cursor-pointer text-limit-2 stylemin-height:40px ; font-weight:100>Alimento Úmido Optimum Sachê Para Gatos Filhotes Sabor Frango 85G/span>/a> div classmt-3> !-- Valor ou desconto --> div data-targetpreco-produto classpreco-produto styleheight:85px;> /div> /div> /div> div class produto-footer stylewidth:100%> div classproduto-comprar px-2 border-top border-light pt-3 stylewidth:inherit> button classbtn btn-warning text-white d-block text-center mx-auto font-weight-bold data-loading-textarticle>i classfa fa-spinner fa-spin >/i> aguarde.../article> data-targetbtn-comprar data-qtd_produto1> article> Comprar /article> /button> /div> /div> /div>/div> /div> div classfloat-right> a href/ofertas classtext-primary>Todos dessa categoria/a> /div>/div> div classmt-4> !-- Título --> div classml-2 text-center d-block mt-5> h2 classfont-weight-semibold text-warning font-3xl text-uppercase>Destaques Cães/h2> /div> !-- Corpo produtos --> div classprodutos owl-carousel mt-2> div classitem p-2 stylewidth:inherit> div classproduto border border-light rounded p-2 data-produto_id30441 stylewidth:inherit> a hrefbiscoito-premier-cookie-caes-adulto-natal-edicao-limitada-250g> div data-targetdesconto-produto> /div> div classtext-center overflow-hidden cursor-pointer> img classimagem-produto lazyloaded loadinglazy src/media/produtos/premier-cookie-caes-adulto-natal-edicao-limitada_200x200.webp altImagem do Produto> /div> /a> div stylemin-height:55px;> a hrefbiscoito-premier-cookie-caes-adulto-natal-edicao-limitada-250g>span data-targetnome_produto classtext-body cursor-pointer text-limit-2 stylemin-height:40px ; font-weight:100>Biscoito Premier Cookie Cães Adulto Natal Edição Limitada 250G/span>/a> div classmt-3> !-- Valor ou desconto --> div data-targetpreco-produto classpreco-produto styleheight:85px;> /div> /div> /div> div class produto-footer stylewidth:100%> div classproduto-comprar px-2 border-top border-light pt-3 stylewidth:inherit> button classbtn btn-warning text-white d-block text-center mx-auto font-weight-bold data-loading-textarticle>i classfa fa-spinner fa-spin >/i> aguarde.../article> data-targetbtn-comprar data-qtd_produto1> article> Comprar /article> /button> /div> /div> /div>/div>div classitem p-2 stylewidth:inherit> div classproduto border border-light rounded p-2 data-produto_id36396 stylewidth:inherit> a hrefpate-special-dog-ultralife-edicao-especial-natal-para-caes-sabor-peru-150g> div data-targetdesconto-produto> /div> div classtext-center overflow-hidden cursor-pointer> img classimagem-produto lazyloaded loadinglazy src/media/produtos/special ultra life ed natal peru caes_200x200.webp altImagem do Produto> /div> /a> div stylemin-height:55px;> a hrefpate-special-dog-ultralife-edicao-especial-natal-para-caes-sabor-peru-150g>span data-targetnome_produto classtext-body cursor-pointer text-limit-2 stylemin-height:40px ; font-weight:100>Patê Special Dog Ultralife Edição Especial Natal Para Cães Sabor Peru 150G /span>/a> div classmt-3> !-- Valor ou desconto --> div data-targetpreco-produto classpreco-produto styleheight:85px;> /div> /div> /div> div class produto-footer stylewidth:100%> div classproduto-comprar px-2 border-top border-light pt-3 stylewidth:inherit> button classbtn btn-warning text-white d-block text-center mx-auto font-weight-bold data-loading-textarticle>i classfa fa-spinner fa-spin >/i> aguarde.../article> data-targetbtn-comprar data-qtd_produto1> article> Comprar /article> /button> /div> /div> /div>/div>div classitem p-2 stylewidth:inherit> div classproduto border border-light rounded p-2 data-produto_id36157 stylewidth:inherit> a hrefpanettone-pet-dog-para-caes-com-flocos-de-carne-80g> div data-targetdesconto-produto> /div> div classtext-center overflow-hidden cursor-pointer> img classimagem-produto lazyloaded loadinglazy src/media/produtos/petdog-natal-_1__200x200.webp altImagem do Produto> /div> /a> div stylemin-height:55px;> a hrefpanettone-pet-dog-para-caes-com-flocos-de-carne-80g>span data-targetnome_produto classtext-body cursor-pointer text-limit-2 stylemin-height:40px ; font-weight:100>Panettone Pet Dog Para Cães Com Flocos De Carne 80G/span>/a> div classmt-3> !-- Valor ou desconto --> div data-targetpreco-produto classpreco-produto styleheight:85px;> /div> /div> /div> div class produto-footer stylewidth:100%> div classproduto-comprar px-2 border-top border-light pt-3 stylewidth:inherit> button classbtn btn-warning text-white d-block text-center mx-auto font-weight-bold data-loading-textarticle>i classfa fa-spinner fa-spin >/i> aguarde.../article> data-targetbtn-comprar data-qtd_produto1> article> Comprar /article> /button> /div> /div> /div>/div>div classitem p-2 stylewidth:inherit> div classproduto border border-light rounded p-2 data-produto_id30394 stylewidth:inherit> a hrefprotetor-solar-make-me-yellow-30g> div data-targetdesconto-produto> /div> div classtext-center overflow-hidden cursor-pointer> img classimagem-produto lazyloaded loadinglazy src/media/produtos/dogcgyellow_200x200.webp altImagem do Produto> /div> /a> div stylemin-height:55px;> a hrefprotetor-solar-make-me-yellow-30g>span data-targetnome_produto classtext-body cursor-pointer text-limit-2 stylemin-height:40px ; font-weight:100>Protetor Solar Make Me Yellow 30G/span>/a> div classmt-3> !-- Valor ou desconto --> div data-targetpreco-produto classpreco-produto styleheight:85px;> /div> /div> /div> div class produto-footer stylewidth:100%> div classproduto-comprar px-2 border-top border-light pt-3 stylewidth:inherit> button classbtn btn-warning text-white d-block text-center mx-auto font-weight-bold data-loading-textarticle>i classfa fa-spinner fa-spin >/i> aguarde.../article> data-targetbtn-comprar data-qtd_produto1> article> Comprar /article> /button> /div> /div> /div>/div>div classitem p-2 stylewidth:inherit> div classproduto border border-light rounded p-2 data-produto_id34968 stylewidth:inherit> a hrefvestido-pet-arts-floral-vermelho-para-pets-tamanho-3> div data-targetdesconto-produto> /div> div classtext-center overflow-hidden cursor-pointer> img classimagem-produto lazyloaded loadinglazy src/media/produtos/roupa-pet-vestido-floral-vermelho_11zon_11zon_200x200_PCx8P4z.webp altImagem do Produto> /div> /a> div stylemin-height:55px;> a hrefvestido-pet-arts-floral-vermelho-para-pets-tamanho-3>span data-targetnome_produto classtext-body cursor-pointer text-limit-2 stylemin-height:40px ; font-weight:100>Vestido PetArts Floral Vermelho Para Pets Tamanho 3/span>/a> div classmt-3> !-- Valor ou desconto --> div data-targetpreco-produto classpreco-produto styleheight:85px;> /div> /div> /div> div class produto-footer stylewidth:100%> div classproduto-comprar px-2 border-top border-light pt-3 stylewidth:inherit> button classbtn btn-warning text-white d-block text-center mx-auto font-weight-bold data-loading-textarticle>i classfa fa-spinner fa-spin >/i> aguarde.../article> data-targetbtn-comprar data-qtd_produto1> article> Comprar /article> /button> /div> /div> /div>/div>div classitem p-2 stylewidth:inherit> div classproduto border border-light rounded p-2 data-produto_id25167 stylewidth:inherit> a hrefbolo-de-anivesario-para-cachorros-sabor-chocolate-70g> div data-targetdesconto-produto> /div> div classtext-center overflow-hidden cursor-pointer> img classimagem-produto lazyloaded loadinglazy src/media/produtos/BolodeAniversário_200x200.jpg altImagem do Produto> /div> /a> div stylemin-height:55px;> a hrefbolo-de-anivesario-para-cachorros-sabor-chocolate-70g>span data-targetnome_produto classtext-body cursor-pointer text-limit-2 stylemin-height:40px ; font-weight:100>Bolo De Anivesário Para Cachorros Sabor Chocolate 70G/span>/a> div classmt-3> !-- Valor ou desconto --> div data-targetpreco-produto classpreco-produto styleheight:85px;> /div> /div> /div> div class produto-footer stylewidth:100%> div classproduto-comprar px-2 border-top border-light pt-3 stylewidth:inherit> button classbtn btn-warning text-white d-block text-center mx-auto font-weight-bold data-loading-textarticle>i classfa fa-spinner fa-spin >/i> aguarde.../article> data-targetbtn-comprar data-qtd_produto1> article> Comprar /article> /button> /div> /div> /div>/div>div classitem p-2 stylewidth:inherit> div classproduto border border-light rounded p-2 data-produto_id34604 stylewidth:inherit> a hrefplaca-identificacao-my-family-basic-coracao-em-latao-cromado-tamanho-grande> div data-targetdesconto-produto> /div> div classtext-center overflow-hidden cursor-pointer> img classimagem-produto lazyloaded loadinglazy src/media/produtos/placa-identificacao-my-family-basic-coracao-em-latao-cromado-_200x200.webp altImagem do Produto> /div> /a> div stylemin-height:55px;> a hrefplaca-identificacao-my-family-basic-coracao-em-latao-cromado-tamanho-grande>span data-targetnome_produto classtext-body cursor-pointer text-limit-2 stylemin-height:40px ; font-weight:100>Placa Identificação My Family Basic Coração Em Latão Cromado Tamanho Grande /span>/a> div classmt-3> !-- Valor ou desconto --> div data-targetpreco-produto classpreco-produto styleheight:85px;> /div> /div> /div> div class produto-footer stylewidth:100%> div classproduto-comprar px-2 border-top border-light pt-3 stylewidth:inherit> button classbtn btn-warning text-white d-block text-center mx-auto font-weight-bold data-loading-textarticle>i classfa fa-spinner fa-spin >/i> aguarde.../article> data-targetbtn-comprar data-qtd_produto1> article> Comprar /article> /button> /div> /div> /div>/div>div classitem p-2 stylewidth:inherit> div classproduto border border-light rounded p-2 data-produto_id6441 stylewidth:inherit> a hrefantipulgas-e-carrapatos-frontline-spray-250ml> div data-targetdesconto-produto> /div> div classtext-center overflow-hidden cursor-pointer> img classimagem-produto lazyloaded loadinglazy src/media/produtos/6441-antipulgas-frontline-spray-250ml_200x200.jpg altImagem do Produto> /div> /a> div stylemin-height:55px;> a hrefantipulgas-e-carrapatos-frontline-spray-250ml>span data-targetnome_produto classtext-body cursor-pointer text-limit-2 stylemin-height:40px ; font-weight:100>Antipulgas E Carrapatos Frontline Spray 250Ml/span>/a> div classmt-3> !-- Valor ou desconto --> div data-targetpreco-produto classpreco-produto styleheight:85px;> /div> /div> /div> div class produto-footer stylewidth:100%> div classproduto-comprar px-2 border-top border-light pt-3 stylewidth:inherit> button classbtn btn-warning text-white d-block text-center mx-auto font-weight-bold data-loading-textarticle>i classfa fa-spinner fa-spin >/i> aguarde.../article> data-targetbtn-comprar data-qtd_produto1> article> Comprar /article> /button> /div> /div> /div>/div>div classitem p-2 stylewidth:inherit> div classproduto border border-light rounded p-2 data-produto_id32846 stylewidth:inherit> a hrefracao-farmina-n-d-tropical-selection-para-caes-adultos-de-porte-medio-e-grande-sabor-suino-cereais-e-frutas-tropicais-2kg-500g-gratis> div data-targetdesconto-produto> /div> div classtext-center overflow-hidden cursor-pointer> img classimagem-produto lazyloaded loadinglazy src/media/produtos/nd-tropical-sel-can-ad-md-gr-suin-hiperzoo_200x200.webp altImagem do Produto> /div> /a> div stylemin-height:55px;> a hrefracao-farmina-n-d-tropical-selection-para-caes-adultos-de-porte-medio-e-grande-sabor-suino-cereais-e-frutas-tropicais-2kg-500g-gratis>span data-targetnome_produto classtext-body cursor-pointer text-limit-2 stylemin-height:40px ; font-weight:100>Ração Farmina N&D Tropical Selection Para Cães Adultos De Porte Médio E Grande Sabor Suíno, Cereais E Frutas Tropicais 2Kg + 500G Grátis/span>/a> div classmt-3> !-- Valor ou desconto --> div data-targetpreco-produto classpreco-produto styleheight:85px;> /div> /div> /div> div class produto-footer stylewidth:100%> div classproduto-comprar px-2 border-top border-light pt-3 stylewidth:inherit> button classbtn btn-warning text-white d-block text-center mx-auto font-weight-bold data-loading-textarticle>i classfa fa-spinner fa-spin >/i> aguarde.../article> data-targetbtn-comprar data-qtd_produto1> article> Comprar /article> /button> /div> /div> /div>/div>div classitem p-2 stylewidth:inherit> div classproduto border border-light rounded p-2 data-produto_id9475 stylewidth:inherit> a hrefbrinquedo-mordedor-durabone-22kg> div data-targetdesconto-produto> /div> div classtext-center overflow-hidden cursor-pointer> img classimagem-produto lazyloaded loadinglazy src/media/produtos/durabone nylon 22kg_200x200.webp altImagem do Produto> /div> /a> div stylemin-height:55px;> a hrefbrinquedo-mordedor-durabone-22kg>span data-targetnome_produto classtext-body cursor-pointer text-limit-2 stylemin-height:40px ; font-weight:100>Brinquedo Mordedor Durabone 22Kg/span>/a> div classmt-3> !-- Valor ou desconto --> div data-targetpreco-produto classpreco-produto styleheight:85px;> /div> /div> /div> div class produto-footer stylewidth:100%> div classproduto-comprar px-2 border-top border-light pt-3 stylewidth:inherit> button classbtn btn-warning text-white d-block text-center mx-auto font-weight-bold data-loading-textarticle>i classfa fa-spinner fa-spin >/i> aguarde.../article> data-targetbtn-comprar data-qtd_produto1> article> Comprar /article> /button> /div> /div> /div>/div>div classitem p-2 stylewidth:inherit> div classproduto border border-light rounded p-2 data-produto_id36038 stylewidth:inherit> a hrefespuma-spray-blindagem-de-tecidos-pipi-shielding-300ml> div data-targetdesconto-produto> /div> div classtext-center overflow-hidden cursor-pointer> img classimagem-produto lazyloaded loadinglazy src/media/produtos/pipi-shield_200x200.webp altImagem do Produto> /div> /a> div stylemin-height:55px;> a hrefespuma-spray-blindagem-de-tecidos-pipi-shielding-300ml>span data-targetnome_produto classtext-body cursor-pointer text-limit-2 stylemin-height:40px ; font-weight:100>Espuma Spray Blindagem De Tecidos Pipi Shielding 300Ml/span>/a> div classmt-3> !-- Valor ou desconto --> div data-targetpreco-produto classpreco-produto styleheight:85px;> /div> /div> /div> div class produto-footer stylewidth:100%> div classproduto-comprar px-2 border-top border-light pt-3 stylewidth:inherit> button classbtn btn-warning text-white d-block text-center mx-auto font-weight-bold data-loading-textarticle>i classfa fa-spinner fa-spin >/i> aguarde.../article> data-targetbtn-comprar data-qtd_produto1> article> Comprar /article> /button> /div> /div> /div>/div>div classitem p-2 stylewidth:inherit> div classproduto border border-light rounded p-2 data-produto_id18220 stylewidth:inherit> a hrefadestrador-petmais-anti-roer-para-caes-e-gatos-300ml> div data-targetdesconto-produto> /div> div classtext-center overflow-hidden cursor-pointer> img classimagem-produto lazyloaded loadinglazy src/media/produtos/7898917919507_200x200.webp altImagem do Produto> /div> /a> div stylemin-height:55px;> a hrefadestrador-petmais-anti-roer-para-caes-e-gatos-300ml>span data-targetnome_produto classtext-body cursor-pointer text-limit-2 stylemin-height:40px ; font-weight:100>Adestrador Petmais Anti-Roer Para Cães E Gatos 300Ml/span>/a> div classmt-3> !-- Valor ou desconto --> div data-targetpreco-produto classpreco-produto styleheight:85px;> /div> /div> /div> div class produto-footer stylewidth:100%> div classproduto-comprar px-2 border-top border-light pt-3 stylewidth:inherit> button classbtn btn-warning text-white d-block text-center mx-auto font-weight-bold data-loading-textarticle>i classfa fa-spinner fa-spin >/i> aguarde.../article> data-targetbtn-comprar data-qtd_produto1> article> Comprar /article> /button> /div> /div> /div>/div> /div> div classfloat-right> a hrefhttps://hiperzoo.com.br/categorias/cachorros classtext-primary>Todos dessa categoria/a> /div>/div> div classmt-4> !-- Título --> div classml-2 text-center d-block mt-5> h2 classfont-weight-semibold text-warning font-3xl text-uppercase>Destaques Gatos/h2> /div> !-- Corpo produtos --> div classprodutos owl-carousel mt-2> div classitem p-2 stylewidth:inherit> div classproduto border border-light rounded p-2 data-produto_id35839 stylewidth:inherit> a hrefarranhador-meu-pet-para-gatos> div data-targetdesconto-produto> /div> div classtext-center overflow-hidden cursor-pointer> img classimagem-produto lazyloaded loadinglazy src/media/produtos/ARRANHADOR-_200x200.webp altImagem do Produto> /div> /a> div stylemin-height:55px;> a hrefarranhador-meu-pet-para-gatos>span data-targetnome_produto classtext-body cursor-pointer text-limit-2 stylemin-height:40px ; font-weight:100>Arranhador Meu Pet Para Gatos /span>/a> div classmt-3> !-- Valor ou desconto --> div data-targetpreco-produto classpreco-produto styleheight:85px;> /div> /div> /div> div class produto-footer stylewidth:100%> div classproduto-comprar px-2 border-top border-light pt-3 stylewidth:inherit> button classbtn btn-warning text-white d-block text-center mx-auto font-weight-bold data-loading-textarticle>i classfa fa-spinner fa-spin >/i> aguarde.../article> data-targetbtn-comprar data-qtd_produto1> article> Comprar /article> /button> /div> /div> /div>/div>div classitem p-2 stylewidth:inherit> div classproduto border border-light rounded p-2 data-produto_id28572 stylewidth:inherit> a hrefbrinquedo-plankton-para-gatos-amarelo> div data-targetdesconto-produto> /div> div classtext-center overflow-hidden cursor-pointer> img classimagem-produto lazyloaded loadinglazy src/media/produtos/planktonamarelo_200x200.webp altImagem do Produto> /div> /a> div stylemin-height:55px;> a hrefbrinquedo-plankton-para-gatos-amarelo>span data-targetnome_produto classtext-body cursor-pointer text-limit-2 stylemin-height:40px ; font-weight:100>Brinquedo Plankton Para Gatos Amarelo/span>/a> div classmt-3> !-- Valor ou desconto --> div data-targetpreco-produto classpreco-produto styleheight:85px;> /div> /div> /div> div class produto-footer stylewidth:100%> div classproduto-comprar px-2 border-top border-light pt-3 stylewidth:inherit> button classbtn btn-warning text-white d-block text-center mx-auto font-weight-bold data-loading-textarticle>i classfa fa-spinner fa-spin >/i> aguarde.../article> data-targetbtn-comprar data-qtd_produto1> article> Comprar /article> /button> /div> /div> /div>/div>div classitem p-2 stylewidth:inherit> div classproduto border border-light rounded p-2 data-produto_id32566 stylewidth:inherit> a hrefcatnip-jambo-power-gatos-30g> div data-targetdesconto-produto> /div> div classtext-center overflow-hidden cursor-pointer> img classimagem-produto lazyloaded loadinglazy src/media/produtos/catnip-powder-para-gatos-30gr_200x200.webp altImagem do Produto> /div> /a> div stylemin-height:55px;> a hrefcatnip-jambo-power-gatos-30g>span data-targetnome_produto classtext-body cursor-pointer text-limit-2 stylemin-height:40px ; font-weight:100>Catnip Jambo Power Gatos 30G/span>/a> div classmt-3> !-- Valor ou desconto --> div data-targetpreco-produto classpreco-produto styleheight:85px;> /div> /div> /div> div class produto-footer stylewidth:100%> div classproduto-comprar px-2 border-top border-light pt-3 stylewidth:inherit> button classbtn btn-warning text-white d-block text-center mx-auto font-weight-bold data-loading-textarticle>i classfa fa-spinner fa-spin >/i> aguarde.../article> data-targetbtn-comprar data-qtd_produto1> article> Comprar /article> /button> /div> /div> /div>/div>div classitem p-2 stylewidth:inherit> div classproduto border border-light rounded p-2 data-produto_id36397 stylewidth:inherit> a hrefpate-special-cat-ultralife-edicao-especial-para-gatos-sabor-bacalhau-100g> div data-targetdesconto-produto> /div> div classtext-center overflow-hidden cursor-pointer> img classimagem-produto lazyloaded loadinglazy src/media/produtos/pate special dog natalino bacalhau_200x200.webp altImagem do Produto> /div> /a> div stylemin-height:55px;> a hrefpate-special-cat-ultralife-edicao-especial-para-gatos-sabor-bacalhau-100g>span data-targetnome_produto classtext-body cursor-pointer text-limit-2 stylemin-height:40px ; font-weight:100>Patê Special Cat Ultralife Edição Especial Para Gatos Sabor Bacalhau 100G/span>/a> div classmt-3> !-- Valor ou desconto --> div data-targetpreco-produto classpreco-produto styleheight:85px;> /div> /div> /div> div class produto-footer stylewidth:100%> div classproduto-comprar px-2 border-top border-light pt-3 stylewidth:inherit> button classbtn btn-warning text-white d-block text-center mx-auto font-weight-bold data-loading-textarticle>i classfa fa-spinner fa-spin >/i> aguarde.../article> data-targetbtn-comprar data-qtd_produto1> article> Comprar /article> /button> /div> /div> /div>/div>div classitem p-2 stylewidth:inherit> div classproduto border border-light rounded p-2 data-produto_id6504 stylewidth:inherit> a hrefrasqueadeira-furminator-para-gatos-com-pelo-curto> div data-targetdesconto-produto> /div> div classtext-center overflow-hidden cursor-pointer> img classimagem-produto lazyloaded loadinglazy src/media/produtos/6504_200x200.jpg altImagem do Produto> /div> /a> div stylemin-height:55px;> a hrefrasqueadeira-furminator-para-gatos-com-pelo-curto>span data-targetnome_produto classtext-body cursor-pointer text-limit-2 stylemin-height:40px ; font-weight:100>Rasqueadeira Furminator Para Gatos Com Pelo Curto/span>/a> div classmt-3> !-- Valor ou desconto --> div data-targetpreco-produto classpreco-produto styleheight:85px;> /div> /div> /div> div class produto-footer stylewidth:100%> div classproduto-comprar px-2 border-top border-light pt-3 stylewidth:inherit> button classbtn btn-warning text-white d-block text-center mx-auto font-weight-bold data-loading-textarticle>i classfa fa-spinner fa-spin >/i> aguarde.../article> data-targetbtn-comprar data-qtd_produto1> article> Comprar /article> /button> /div> /div> /div>/div>div classitem p-2 stylewidth:inherit> div classproduto border border-light rounded p-2 data-produto_id31085 stylewidth:inherit> a hrefpetisco-pure-churu-atum-com-frango-para-gatos-56g> div data-targetdesconto-produto> /div> div classtext-center overflow-hidden cursor-pointer> img classimagem-produto lazyloaded loadinglazy src/media/produtos/petisco-churu-atum-com-frango-para-gatos-56g_200x200.webp altImagem do Produto> /div> /a> div stylemin-height:55px;> a hrefpetisco-pure-churu-atum-com-frango-para-gatos-56g>span data-targetnome_produto classtext-body cursor-pointer text-limit-2 stylemin-height:40px ; font-weight:100>Petisco Purê Churu Atum Com Frango Para Gatos 56G/span>/a> div classmt-3> !-- Valor ou desconto --> div data-targetpreco-produto classpreco-produto styleheight:85px;> /div> /div> /div> div class produto-footer stylewidth:100%> div classproduto-comprar px-2 border-top border-light pt-3 stylewidth:inherit> button classbtn btn-warning text-white d-block text-center mx-auto font-weight-bold data-loading-textarticle>i classfa fa-spinner fa-spin >/i> aguarde.../article> data-targetbtn-comprar data-qtd_produto1> article> Comprar /article> /button> /div> /div> /div>/div>div classitem p-2 stylewidth:inherit> div classproduto border border-light rounded p-2 data-produto_id35578 stylewidth:inherit> a hrefmochila-bom-amigo-de-passeio-executive-para-caes-e-gatos> div data-targetdesconto-produto> /div> div classtext-center overflow-hidden cursor-pointer> img classimagem-produto lazyloaded loadinglazy src/media/produtos/mochila-bom-amigo-de-passeio-executive-para-caes-e-gatos_11zon (1)_200x200.webp altImagem do Produto> /div> /a> div stylemin-height:55px;> a hrefmochila-bom-amigo-de-passeio-executive-para-caes-e-gatos>span data-targetnome_produto classtext-body cursor-pointer text-limit-2 stylemin-height:40px ; font-weight:100>Mochila Bom Amigo De Passeio Executive Para Cães E Gatos/span>/a> div classmt-3> !-- Valor ou desconto --> div data-targetpreco-produto classpreco-produto styleheight:85px;> /div> /div> /div> div class produto-footer stylewidth:100%> div classproduto-comprar px-2 border-top border-light pt-3 stylewidth:inherit> button classbtn btn-warning text-white d-block text-center mx-auto font-weight-bold data-loading-textarticle>i classfa fa-spinner fa-spin >/i> aguarde.../article> data-targetbtn-comprar data-qtd_produto1> article> Comprar /article> /button> /div> /div> /div>/div>div classitem p-2 stylewidth:inherit> div classproduto border border-light rounded p-2 data-produto_id32116 stylewidth:inherit> a hrefpeitoral-com-guia-freefaro-scooby-doo-para-gatos-tamanho-m> div data-targetdesconto-produto> /div> div classtext-center overflow-hidden cursor-pointer> img classimagem-produto lazyloaded loadinglazy src/media/produtos/peitoral-com-guia-scooby-doo-para-gatos-hiperzoo_200x200.webp altImagem do Produto> /div> /a> div stylemin-height:55px;> a hrefpeitoral-com-guia-freefaro-scooby-doo-para-gatos-tamanho-m>span data-targetnome_produto classtext-body cursor-pointer text-limit-2 stylemin-height:40px ; font-weight:100>Peitoral Com Guia Freefaro Scooby-Doo Para Gatos Tamanho M/span>/a> div classmt-3> !-- Valor ou desconto --> div data-targetpreco-produto classpreco-produto styleheight:85px;> /div> /div> /div> div class produto-footer stylewidth:100%> div classproduto-comprar px-2 border-top border-light pt-3 stylewidth:inherit> button classbtn btn-warning text-white d-block text-center mx-auto font-weight-bold data-loading-textarticle>i classfa fa-spinner fa-spin >/i> aguarde.../article> data-targetbtn-comprar data-qtd_produto1> article> Comprar /article> /button> /div> /div> /div>/div>div classitem p-2 stylewidth:inherit> div classproduto border border-light rounded p-2 data-produto_id6215 stylewidth:inherit> a hreffiprolex-drop-spot-antipulgas-para-gatos-05ml> div data-targetdesconto-produto> /div> div classtext-center overflow-hidden cursor-pointer> img classimagem-produto lazyloaded loadinglazy src/media/produtos/antipulgas-fiprolex-drop-spot-ceva-para-gatos-hiperzoo_200x200.webp altImagem do Produto> /div> /a> div stylemin-height:55px;> a hreffiprolex-drop-spot-antipulgas-para-gatos-05ml>span data-targetnome_produto classtext-body cursor-pointer text-limit-2 stylemin-height:40px ; font-weight:100> Fiprolex Drop Spot Antipulgas Para Gatos 0,5Ml/span>/a> div classmt-3> !-- Valor ou desconto --> div data-targetpreco-produto classpreco-produto styleheight:85px;> /div> /div> /div> div class produto-footer stylewidth:100%> div classproduto-comprar px-2 border-top border-light pt-3 stylewidth:inherit> button classbtn btn-warning text-white d-block text-center mx-auto font-weight-bold data-loading-textarticle>i classfa fa-spinner fa-spin >/i> aguarde.../article> data-targetbtn-comprar data-qtd_produto1> article> Comprar /article> /button> /div> /div> /div>/div>div classitem p-2 stylewidth:inherit> div classproduto border border-light rounded p-2 data-produto_id34494 stylewidth:inherit> a hrefareia-higienica-carecat-tradicional-para-gatos-10kg> div data-targetdesconto-produto> /div> div classtext-center overflow-hidden cursor-pointer> img classimagem-produto lazyloaded loadinglazy src/media/produtos/areia-higienica-carecat-tradicional-10kg_200x200.webp altImagem do Produto> /div> /a> div stylemin-height:55px;> a hrefareia-higienica-carecat-tradicional-para-gatos-10kg>span data-targetnome_produto classtext-body cursor-pointer text-limit-2 stylemin-height:40px ; font-weight:100>Areia Higiênica Carecat Tradicional Para Gatos 10Kg/span>/a> div classmt-3> !-- Valor ou desconto --> div data-targetpreco-produto classpreco-produto styleheight:85px;> /div> /div> /div> div class produto-footer stylewidth:100%> div classproduto-comprar px-2 border-top border-light pt-3 stylewidth:inherit> button classbtn btn-warning text-white d-block text-center mx-auto font-weight-bold data-loading-textarticle>i classfa fa-spinner fa-spin >/i> aguarde.../article> data-targetbtn-comprar data-qtd_produto1> article> Comprar /article> /button> /div> /div> /div>/div>div classitem p-2 stylewidth:inherit> div classproduto border border-light rounded p-2 data-produto_id31857 stylewidth:inherit> a hrefcomedouro-gatos-elevado-ergonomico-individual-verde> div data-targetdesconto-produto> /div> div classtext-center overflow-hidden cursor-pointer> img classimagem-produto lazyloaded loadinglazy src/media/produtos/comedouro-gatos-elevado-ergonomico-individual-verde_200x200.webp altImagem do Produto> /div> /a> div stylemin-height:55px;> a hrefcomedouro-gatos-elevado-ergonomico-individual-verde>span data-targetnome_produto classtext-body cursor-pointer text-limit-2 stylemin-height:40px ; font-weight:100>Comedouro Gatos Elevado Ergonômico Individual Verde/span>/a> div classmt-3> !-- Valor ou desconto --> div data-targetpreco-produto classpreco-produto styleheight:85px;> /div> /div> /div> div class produto-footer stylewidth:100%> div classproduto-comprar px-2 border-top border-light pt-3 stylewidth:inherit> button classbtn btn-warning text-white d-block text-center mx-auto font-weight-bold data-loading-textarticle>i classfa fa-spinner fa-spin >/i> aguarde.../article> data-targetbtn-comprar data-qtd_produto1> article> Comprar /article> /button> /div> /div> /div>/div> /div> div classfloat-right> a hrefdestaques-gatos classtext-primary>Todos dessa categoria/a> /div>/div> div classmt-4> !-- Título --> div classml-2 text-center d-block mt-5> h2 classfont-weight-semibold text-warning font-3xl text-uppercase>Alimento Terapêutico/h2> /div> !-- Corpo produtos --> div classprodutos owl-carousel mt-2> div classitem p-2 stylewidth:inherit> div classproduto border border-light rounded p-2 data-produto_id33104 stylewidth:inherit> a hrefracao-pro-plan-veterinary-diets-ur-urinary-st-ox-trato-urinario-para-caes-2kg> div data-targetdesconto-produto> /div> div classtext-center overflow-hidden cursor-pointer> img classimagem-produto lazyloaded loadinglazy src/media/produtos/veterinary-diet-urinary-canine_200x200.webp altImagem do Produto> /div> /a> div stylemin-height:55px;> a hrefracao-pro-plan-veterinary-diets-ur-urinary-st-ox-trato-urinario-para-caes-2kg>span data-targetnome_produto classtext-body cursor-pointer text-limit-2 stylemin-height:40px ; font-weight:100>Ração Pro Plan Veterinary Diets Ur Urinary St/Ox Trato Urinário Para Cães 2Kg/span>/a> div classmt-3> !-- Valor ou desconto --> div data-targetpreco-produto classpreco-produto styleheight:85px;> /div> /div> /div> div class produto-footer stylewidth:100%> div classproduto-comprar px-2 border-top border-light pt-3 stylewidth:inherit> button classbtn btn-warning text-white d-block text-center mx-auto font-weight-bold data-loading-textarticle>i classfa fa-spinner fa-spin >/i> aguarde.../article> data-targetbtn-comprar data-qtd_produto1> article> Comprar /article> /button> /div> /div> /div>/div>div classitem p-2 stylewidth:inherit> div classproduto border border-light rounded p-2 data-produto_id7752 stylewidth:inherit> a hrefalimento-umido-hills-prescription-diet-a-d-cuidados-criticos-para-caes-e-gatos-156g> div data-targetdesconto-produto> /div> div classtext-center overflow-hidden cursor-pointer> img classimagem-produto lazyloaded loadinglazy src/media/produtos/7752_200x200.jpg altImagem do Produto> /div> /a> div stylemin-height:55px;> a hrefalimento-umido-hills-prescription-diet-a-d-cuidados-criticos-para-caes-e-gatos-156g>span data-targetnome_produto classtext-body cursor-pointer text-limit-2 stylemin-height:40px ; font-weight:100>Alimento Úmido Hills Prescription Diet A/D Cuidados Críticos Para Cães E Gatos 156G/span>/a> div classmt-3> !-- Valor ou desconto --> div data-targetpreco-produto classpreco-produto styleheight:85px;> /div> /div> /div> div class produto-footer stylewidth:100%> div classproduto-comprar px-2 border-top border-light pt-3 stylewidth:inherit> button classbtn btn-warning text-white d-block text-center mx-auto font-weight-bold data-loading-textarticle>i classfa fa-spinner fa-spin >/i> aguarde.../article> data-targetbtn-comprar data-qtd_produto1> article> Comprar /article> /button> /div> /div> /div>/div>div classitem p-2 stylewidth:inherit> div classproduto border border-light rounded p-2 data-produto_id6779 stylewidth:inherit> a hrefracao-guabi-natural-obesos-para-caes-de-porte-medio-e-grande-101kg> div data-targetdesconto-produto> /div> div classtext-center overflow-hidden cursor-pointer> img classimagem-produto lazyloaded loadinglazy src/media/produtos/guabi-natural-obesos-medio-grande-porte-10,1kg_200x200.webp altImagem do Produto> /div> /a> div stylemin-height:55px;> a hrefracao-guabi-natural-obesos-para-caes-de-porte-medio-e-grande-101kg>span data-targetnome_produto classtext-body cursor-pointer text-limit-2 stylemin-height:40px ; font-weight:100>Ração Guabi Natural Obesos Para Cães De Porte Médio E Grande 10,1Kg/span>/a> div classmt-3> !-- Valor ou desconto --> div data-targetpreco-produto classpreco-produto styleheight:85px;> /div> /div> /div> div class produto-footer stylewidth:100%> div classproduto-comprar px-2 border-top border-light pt-3 stylewidth:inherit> button classbtn btn-warning text-white d-block text-center mx-auto font-weight-bold data-loading-textarticle>i classfa fa-spinner fa-spin >/i> aguarde.../article> data-targetbtn-comprar data-qtd_produto1> article> Comprar /article> /button> /div> /div> /div>/div>div classitem p-2 stylewidth:inherit> div classproduto border border-light rounded p-2 data-produto_id14043 stylewidth:inherit> a hrefracao-vet-life-natural-urinary-struvite-para-gatos-adultos-2kg> div data-targetdesconto-produto> /div> div classtext-center overflow-hidden cursor-pointer> img classimagem-produto lazyloaded loadinglazy src/media/produtos/14043_200x200.jpg altImagem do Produto> /div> /a> div stylemin-height:55px;> a hrefracao-vet-life-natural-urinary-struvite-para-gatos-adultos-2kg>span data-targetnome_produto classtext-body cursor-pointer text-limit-2 stylemin-height:40px ; font-weight:100>Ração Vet Life Natural Urinary Struvite Para Gatos Adultos 2Kg/span>/a> div classmt-3> !-- Valor ou desconto --> div data-targetpreco-produto classpreco-produto styleheight:85px;> /div> /div> /div> div class produto-footer stylewidth:100%> div classproduto-comprar px-2 border-top border-light pt-3 stylewidth:inherit> button classbtn btn-warning text-white d-block text-center mx-auto font-weight-bold data-loading-textarticle>i classfa fa-spinner fa-spin >/i> aguarde.../article> data-targetbtn-comprar data-qtd_produto1> article> Comprar /article> /button> /div> /div> /div>/div>div classitem p-2 stylewidth:inherit> div classproduto border border-light rounded p-2 data-produto_id322 stylewidth:inherit> a hrefalimento-umido-royal-canin-veterinary-diet-renal-so-sache-para-gatos-adultos-85g> div data-targetdesconto-produto> /div> div classtext-center overflow-hidden cursor-pointer> img classimagem-produto lazyloaded loadinglazy src/media/produtos/322_200x200.jpg altImagem do Produto> /div> /a> div stylemin-height:55px;> a hrefalimento-umido-royal-canin-veterinary-diet-renal-so-sache-para-gatos-adultos-85g>span data-targetnome_produto classtext-body cursor-pointer text-limit-2 stylemin-height:40px ; font-weight:100>Alimento Úmido Royal Canin Veterinary Diet Renal So Sachê Para Gatos Adultos 85G/span>/a> div classmt-3> !-- Valor ou desconto --> div data-targetpreco-produto classpreco-produto styleheight:85px;> /div> /div> /div> div class produto-footer stylewidth:100%> div classproduto-comprar px-2 border-top border-light pt-3 stylewidth:inherit> button classbtn btn-warning text-white d-block text-center mx-auto font-weight-bold data-loading-textarticle>i classfa fa-spinner fa-spin >/i> aguarde.../article> data-targetbtn-comprar data-qtd_produto1> article> Comprar /article> /button> /div> /div> /div>/div>div classitem p-2 stylewidth:inherit> div classproduto border border-light rounded p-2 data-produto_id188 stylewidth:inherit> a hrefracao-royal-canin-veterinary-diet-hypoallergenic-small-para-caes-adultos-racas-pequenas-2kg> div data-targetdesconto-produto> /div> div classtext-center overflow-hidden cursor-pointer> img classimagem-produto lazyloaded loadinglazy src/media/produtos/188_200x200.jpg altImagem do Produto> /div> /a> div stylemin-height:55px;> a hrefracao-royal-canin-veterinary-diet-hypoallergenic-small-para-caes-adultos-racas-pequenas-2kg>span data-targetnome_produto classtext-body cursor-pointer text-limit-2 stylemin-height:40px ; font-weight:100>Ração Royal Canin Veterinary Diet Hypoallergenic Small Para Cães Adultos Raças Pequenas 2Kg/span>/a> div classmt-3> !-- Valor ou desconto --> div data-targetpreco-produto classpreco-produto styleheight:85px;> /div> /div> /div> div class produto-footer stylewidth:100%> div classproduto-comprar px-2 border-top border-light pt-3 stylewidth:inherit> button classbtn btn-warning text-white d-block text-center mx-auto font-weight-bold data-loading-textarticle>i classfa fa-spinner fa-spin >/i> aguarde.../article> data-targetbtn-comprar data-qtd_produto1> article> Comprar /article> /button> /div> /div> /div>/div>div classitem p-2 stylewidth:inherit> div classproduto border border-light rounded p-2 data-produto_id7741 stylewidth:inherit> a hrefalimento-umido-hills-prescription-diet-w-d-controle-de-peso-e-glicemico-para-caes-adultos-370g> div data-targetdesconto-produto> /div> div classtext-center overflow-hidden cursor-pointer> img classimagem-produto lazyloaded loadinglazy src/media/produtos/7741_200x200.jpg altImagem do Produto> /div> /a> div stylemin-height:55px;> a hrefalimento-umido-hills-prescription-diet-w-d-controle-de-peso-e-glicemico-para-caes-adultos-370g>span data-targetnome_produto classtext-body cursor-pointer text-limit-2 stylemin-height:40px ; font-weight:100>Alimento Úmido Hills Prescription Diet W/D Controle De Peso E Glicêmico Para Cães Adultos 370G/span>/a> div classmt-3> !-- Valor ou desconto --> div data-targetpreco-produto classpreco-produto styleheight:85px;> /div> /div> /div> div class produto-footer stylewidth:100%> div classproduto-comprar px-2 border-top border-light pt-3 stylewidth:inherit> button classbtn btn-warning text-white d-block text-center mx-auto font-weight-bold data-loading-textarticle>i classfa fa-spinner fa-spin >/i> aguarde.../article> data-targetbtn-comprar data-qtd_produto1> article> Comprar /article> /button> /div> /div> /div>/div>div classitem p-2 stylewidth:inherit> div classproduto border border-light rounded p-2 data-produto_id7726 stylewidth:inherit> a hrefracao-hills-prescription-diet-c-d-multicare-cuidado-urinario-para-caes-adultos-38kg> div data-targetdesconto-produto> /div> div classtext-center overflow-hidden cursor-pointer> img classimagem-produto lazyloaded loadinglazy src/media/produtos/7726_200x200.jpg altImagem do Produto> /div> /a> div stylemin-height:55px;> a hrefracao-hills-prescription-diet-c-d-multicare-cuidado-urinario-para-caes-adultos-38kg>span data-targetnome_produto classtext-body cursor-pointer text-limit-2 stylemin-height:40px ; font-weight:100>Ração Hills Prescription Diet C/D Multicare Cuidado Urinário Para Cães Adultos 3,8Kg/span>/a> div classmt-3> !-- Valor ou desconto --> div data-targetpreco-produto classpreco-produto styleheight:85px;> /div> /div> /div> div class produto-footer stylewidth:100%> div classproduto-comprar px-2 border-top border-light pt-3 stylewidth:inherit> button classbtn btn-warning text-white d-block text-center mx-auto font-weight-bold data-loading-textarticle>i classfa fa-spinner fa-spin >/i> aguarde.../article> data-targetbtn-comprar data-qtd_produto1> article> Comprar /article> /button> /div> /div> /div>/div>div classitem p-2 stylewidth:inherit> div classproduto border border-light rounded p-2 data-produto_id14035 stylewidth:inherit> a hrefracao-vet-life-natural-urinary-ossalati-para-caes-adultos-101kg> div data-targetdesconto-produto> /div> div classtext-center overflow-hidden cursor-pointer> img classimagem-produto lazyloaded loadinglazy src/media/produtos/7898604431084_200x200.webp altImagem do Produto> /div> /a> div stylemin-height:55px;> a hrefracao-vet-life-natural-urinary-ossalati-para-caes-adultos-101kg>span data-targetnome_produto classtext-body cursor-pointer text-limit-2 stylemin-height:40px ; font-weight:100>Ração Vet Life Natural Urinary Ossalati Para Cães Adultos 10,1Kg /span>/a> div classmt-3> !-- Valor ou desconto --> div data-targetpreco-produto classpreco-produto styleheight:85px;> /div> /div> /div> div class produto-footer stylewidth:100%> div classproduto-comprar px-2 border-top border-light pt-3 stylewidth:inherit> button classbtn btn-warning text-white d-block text-center mx-auto font-weight-bold data-loading-textarticle>i classfa fa-spinner fa-spin >/i> aguarde.../article> data-targetbtn-comprar data-qtd_produto1> article> Comprar /article> /button> /div> /div> /div>/div>div classitem p-2 stylewidth:inherit> div classproduto border border-light rounded p-2 data-produto_id20981 stylewidth:inherit> a hrefracao-premier-nutricao-clinica-gastrointestinal-para-caes-racas-pequenas-2kg> div data-targetdesconto-produto> /div> div classtext-center overflow-hidden cursor-pointer> img classimagem-produto lazyloaded loadinglazy src/media/produtos/premier-nutricao-clinica-gastrointestinal-caes-pequeno-porte-2kg_200x200.webp altImagem do Produto> /div> /a> div stylemin-height:55px;> a hrefracao-premier-nutricao-clinica-gastrointestinal-para-caes-racas-pequenas-2kg>span data-targetnome_produto classtext-body cursor-pointer text-limit-2 stylemin-height:40px ; font-weight:100>Ração Premier Nutrição Clínica Gastrointestinal Para Cães Raças Pequenas 2Kg/span>/a> div classmt-3> !-- Valor ou desconto --> div data-targetpreco-produto classpreco-produto styleheight:85px;> /div> /div> /div> div class produto-footer stylewidth:100%> div classproduto-comprar px-2 border-top border-light pt-3 stylewidth:inherit> button classbtn btn-warning text-white d-block text-center mx-auto font-weight-bold data-loading-textarticle>i classfa fa-spinner fa-spin >/i> aguarde.../article> data-targetbtn-comprar data-qtd_produto1> article> Comprar /article> /button> /div> /div> /div>/div>div classitem p-2 stylewidth:inherit> div classproduto border border-light rounded p-2 data-produto_id323 stylewidth:inherit> a hrefracao-royal-canin-veterinary-diet-renal-special-para-gatos-adultos-15kg> div data-targetdesconto-produto> /div> div classtext-center overflow-hidden cursor-pointer> img classimagem-produto lazyloaded loadinglazy src/media/produtos/323_200x200.jpg altImagem do Produto> /div> /a> div stylemin-height:55px;> a hrefracao-royal-canin-veterinary-diet-renal-special-para-gatos-adultos-15kg>span data-targetnome_produto classtext-body cursor-pointer text-limit-2 stylemin-height:40px ; font-weight:100>Ração Royal Canin Veterinary Diet Renal Special Para Gatos Adultos 1,5Kg/span>/a> div classmt-3> !-- Valor ou desconto --> div data-targetpreco-produto classpreco-produto styleheight:85px;> /div> /div> /div> div class produto-footer stylewidth:100%> div classproduto-comprar px-2 border-top border-light pt-3 stylewidth:inherit> button classbtn btn-warning text-white d-block text-center mx-auto font-weight-bold data-loading-textarticle>i classfa fa-spinner fa-spin >/i> aguarde.../article> data-targetbtn-comprar data-qtd_produto1> article> Comprar /article> /button> /div> /div> /div>/div>div classitem p-2 stylewidth:inherit> div classproduto border border-light rounded p-2 data-produto_id7739 stylewidth:inherit> a hrefracao-hills-prescription-diet-w-d-controle-do-peso-e-glicemico-para-gatos-adultos-15kg> div data-targetdesconto-produto> /div> div classtext-center overflow-hidden cursor-pointer> img classimagem-produto lazyloaded loadinglazy src/media/produtos/7739_200x200.jpg altImagem do Produto> /div> /a> div stylemin-height:55px;> a hrefracao-hills-prescription-diet-w-d-controle-do-peso-e-glicemico-para-gatos-adultos-15kg>span data-targetnome_produto classtext-body cursor-pointer text-limit-2 stylemin-height:40px ; font-weight:100>Ração Hills Prescription Diet W/D Controle Do Peso E Glicêmico Para Gatos Adultos 1,5Kg/span>/a> div classmt-3> !-- Valor ou desconto --> div data-targetpreco-produto classpreco-produto styleheight:85px;> /div> /div> /div> div class produto-footer stylewidth:100%> div classproduto-comprar px-2 border-top border-light pt-3 stylewidth:inherit> button classbtn btn-warning text-white d-block text-center mx-auto font-weight-bold data-loading-textarticle>i classfa fa-spinner fa-spin >/i> aguarde.../article> data-targetbtn-comprar data-qtd_produto1> article> Comprar /article> /button> /div> /div> /div>/div> /div> div classfloat-right> a hrefracao-terapeutica classtext-primary>Todos dessa categoria/a> /div>/div> div classmt-4> !-- Título --> div classml-2 text-center d-block mt-5> h2 classfont-weight-semibold text-warning font-3xl text-uppercase>Tudo para o seu Pássaro!/h2> /div> !-- Corpo produtos --> div classprodutos owl-carousel mt-2> div classitem p-2 stylewidth:inherit> div classproduto border border-light rounded p-2 data-produto_id34643 stylewidth:inherit> a hrefalimento-nutropica-extrusado-natural-para-calopsita-600g> div data-targetdesconto-produto> /div> div classtext-center overflow-hidden cursor-pointer> img classimagem-produto lazyloaded loadinglazy src/media/produtos/Alimento Nutrópica Extrusado Natural para Calopsita_200x200.webp altImagem do Produto> /div> /a> div stylemin-height:55px;> a hrefalimento-nutropica-extrusado-natural-para-calopsita-600g>span data-targetnome_produto classtext-body cursor-pointer text-limit-2 stylemin-height:40px ; font-weight:100>Alimento Nutrópica Extrusado Natural Para Calopsita 600G/span>/a> div classmt-3> !-- Valor ou desconto --> div data-targetpreco-produto classpreco-produto styleheight:85px;> /div> /div> /div> div class produto-footer stylewidth:100%> div classproduto-comprar px-2 border-top border-light pt-3 stylewidth:inherit> button classbtn btn-warning text-white d-block text-center mx-auto font-weight-bold data-loading-textarticle>i classfa fa-spinner fa-spin >/i> aguarde.../article> data-targetbtn-comprar data-qtd_produto1> article> Comprar /article> /button> /div> /div> /div>/div>div classitem p-2 stylewidth:inherit> div classproduto border border-light rounded p-2 data-produto_id1854 stylewidth:inherit> a hrefbrinquedo-passaros-escada-espelhada> div data-targetdesconto-produto> /div> div classtext-center overflow-hidden cursor-pointer> img classimagem-produto lazyloaded loadinglazy src/media/produtos/1854_1_200x200.jpg altImagem do Produto> /div> /a> div stylemin-height:55px;> a hrefbrinquedo-passaros-escada-espelhada>span data-targetnome_produto classtext-body cursor-pointer text-limit-2 stylemin-height:40px ; font-weight:100>Brinquedo Pássaros Escada Espelhada/span>/a> div classmt-3> !-- Valor ou desconto --> div data-targetpreco-produto classpreco-produto styleheight:85px;> /div> /div> /div> div class produto-footer stylewidth:100%> div classproduto-comprar px-2 border-top border-light pt-3 stylewidth:inherit> button classbtn btn-warning text-white d-block text-center mx-auto font-weight-bold data-loading-textarticle>i classfa fa-spinner fa-spin >/i> aguarde.../article> data-targetbtn-comprar data-qtd_produto1> article> Comprar /article> /button> /div> /div> /div>/div>div classitem p-2 stylewidth:inherit> div classproduto border border-light rounded p-2 data-produto_id6656 stylewidth:inherit> a hrefgaiola-rubi-epoxi> div data-targetdesconto-produto> /div> div classtext-center overflow-hidden cursor-pointer> img classimagem-produto lazyloaded loadinglazy src/media/produtos/GaiolaVermelhoas_200x200.jpg altImagem do Produto> /div> /a> div stylemin-height:55px;> a hrefgaiola-rubi-epoxi>span data-targetnome_produto classtext-body cursor-pointer text-limit-2 stylemin-height:40px ; font-weight:100>Gaiola Rubi Epoxi/span>/a> div classmt-3> !-- Valor ou desconto --> div data-targetpreco-produto classpreco-produto styleheight:85px;> /div> /div> /div> div class produto-footer stylewidth:100%> div classproduto-comprar px-2 border-top border-light pt-3 stylewidth:inherit> button classbtn btn-warning text-white d-block text-center mx-auto font-weight-bold data-loading-textarticle>i classfa fa-spinner fa-spin >/i> aguarde.../article> data-targetbtn-comprar data-qtd_produto1> article> Comprar /article> /button> /div> /div> /div>/div>div classitem p-2 stylewidth:inherit> div classproduto border border-light rounded p-2 data-produto_id25314 stylewidth:inherit> a hrefbrinquedo-de-passaros-poleiro-colorido> div data-targetdesconto-produto> /div> div classtext-center overflow-hidden cursor-pointer> img classimagem-produto lazyloaded loadinglazy src/media/produtos/BalancinhoCapivara_200x200.jpg altImagem do Produto> /div> /a> div stylemin-height:55px;> a hrefbrinquedo-de-passaros-poleiro-colorido>span data-targetnome_produto classtext-body cursor-pointer text-limit-2 stylemin-height:40px ; font-weight:100>Brinquedo De Pássaros Poleiro Colorido/span>/a> div classmt-3> !-- Valor ou desconto --> div data-targetpreco-produto classpreco-produto styleheight:85px;> /div> /div> /div> div class produto-footer stylewidth:100%> div classproduto-comprar px-2 border-top border-light pt-3 stylewidth:inherit> button classbtn btn-warning text-white d-block text-center mx-auto font-weight-bold data-loading-textarticle>i classfa fa-spinner fa-spin >/i> aguarde.../article> data-targetbtn-comprar data-qtd_produto1> article> Comprar /article> /button> /div> /div> /div>/div>div classitem p-2 stylewidth:inherit> div classproduto border border-light rounded p-2 data-produto_id26834 stylewidth:inherit> a hrefbarritas-zootekna-periquito-70g> div data-targetdesconto-produto> /div> div classtext-center overflow-hidden cursor-pointer> img classimagem-produto lazyloaded loadinglazy src/media/produtos/bastao-de-sementes-barritas-periquito-zootekna-70g_200x200.webp altImagem do Produto> /div> /a> div stylemin-height:55px;> a hrefbarritas-zootekna-periquito-70g>span data-targetnome_produto classtext-body cursor-pointer text-limit-2 stylemin-height:40px ; font-weight:100>Barritas Zootekna Periquito 70G/span>/a> div classmt-3> !-- Valor ou desconto --> div data-targetpreco-produto classpreco-produto styleheight:85px;> /div> /div> /div> div class produto-footer stylewidth:100%> div classproduto-comprar px-2 border-top border-light pt-3 stylewidth:inherit> button classbtn btn-warning text-white d-block text-center mx-auto font-weight-bold data-loading-textarticle>i classfa fa-spinner fa-spin >/i> aguarde.../article> data-targetbtn-comprar data-qtd_produto1> article> Comprar /article> /button> /div> /div> /div>/div>div classitem p-2 stylewidth:inherit> div classproduto border border-light rounded p-2 data-produto_id7689 stylewidth:inherit> a hrefhidrovit-vetnil-50ml> div data-targetdesconto-produto> /div> div classtext-center overflow-hidden cursor-pointer> img classimagem-produto lazyloaded loadinglazy src/media/produtos/7898053581286_200x200.webp altImagem do Produto> /div> /a> div stylemin-height:55px;> a hrefhidrovit-vetnil-50ml>span data-targetnome_produto classtext-body cursor-pointer text-limit-2 stylemin-height:40px ; font-weight:100>Hidrovit Vetnil 50Ml/span>/a> div classmt-3> !-- Valor ou desconto --> div data-targetpreco-produto classpreco-produto styleheight:85px;> /div> /div> /div> div class produto-footer stylewidth:100%> div classproduto-comprar px-2 border-top border-light pt-3 stylewidth:inherit> button classbtn btn-warning text-white d-block text-center mx-auto font-weight-bold data-loading-textarticle>i classfa fa-spinner fa-spin >/i> aguarde.../article> data-targetbtn-comprar data-qtd_produto1> article> Comprar /article> /button> /div> /div> /div>/div>div classitem p-2 stylewidth:inherit> div classproduto border border-light rounded p-2 data-produto_id590 stylewidth:inherit> a hrefalimento-prefere-mix-papagaio-e-maritaca-com-frutas-900g> div data-targetdesconto-produto> /div> div classtext-center overflow-hidden cursor-pointer> img classimagem-produto lazyloaded loadinglazy src/media/produtos/590_1_200x200.jpg altImagem do Produto> /div> /a> div stylemin-height:55px;> a hrefalimento-prefere-mix-papagaio-e-maritaca-com-frutas-900g>span data-targetnome_produto classtext-body cursor-pointer text-limit-2 stylemin-height:40px ; font-weight:100>Alimento Prefere Mix Papagaio E Maritaca Com Frutas 900G /span>/a> div classmt-3> !-- Valor ou desconto --> div data-targetpreco-produto classpreco-produto styleheight:85px;> /div> /div> /div> div class produto-footer stylewidth:100%> div classproduto-comprar px-2 border-top border-light pt-3 stylewidth:inherit> button classbtn btn-warning text-white d-block text-center mx-auto font-weight-bold data-loading-textarticle>i classfa fa-spinner fa-spin >/i> aguarde.../article> data-targetbtn-comprar data-qtd_produto1> article> Comprar /article> /button> /div> /div> /div>/div>div classitem p-2 stylewidth:inherit> div classproduto border border-light rounded p-2 data-produto_id32923 stylewidth:inherit> a hrefpapa-long-life-revitalizante-para-passaros-filhote-450g> div data-targetdesconto-produto> /div> div classtext-center overflow-hidden cursor-pointer> img classimagem-produto lazyloaded loadinglazy src/media/produtos/long-life-pp-papa-450g_200x200.webp altImagem do Produto> /div> /a> div stylemin-height:55px;> a hrefpapa-long-life-revitalizante-para-passaros-filhote-450g>span data-targetnome_produto classtext-body cursor-pointer text-limit-2 stylemin-height:40px ; font-weight:100>Papa Long Life Revitalizante Para Pássaros Filhote 450G /span>/a> div classmt-3> !-- Valor ou desconto --> div data-targetpreco-produto classpreco-produto styleheight:85px;> /div> /div> /div> div class produto-footer stylewidth:100%> div classproduto-comprar px-2 border-top border-light pt-3 stylewidth:inherit> button classbtn btn-warning text-white d-block text-center mx-auto font-weight-bold data-loading-textarticle>i classfa fa-spinner fa-spin >/i> aguarde.../article> data-targetbtn-comprar data-qtd_produto1> article> Comprar /article> /button> /div> /div> /div>/div>div classitem p-2 stylewidth:inherit> div classproduto border border-light rounded p-2 data-produto_id33034 stylewidth:inherit> a hrefbanheira-jel-plast-pet-piu-oval-cristal-para-passaros-700ml> div data-targetdesconto-produto> /div> div classtext-center overflow-hidden cursor-pointer> img classimagem-produto lazyloaded loadinglazy src/media/produtos/banheira-cristal-oval-jelplast_200x200.webp altImagem do Produto> /div> /a> div stylemin-height:55px;> a hrefbanheira-jel-plast-pet-piu-oval-cristal-para-passaros-700ml>span data-targetnome_produto classtext-body cursor-pointer text-limit-2 stylemin-height:40px ; font-weight:100>Banheira Jel Plast Pet Piu Oval Cristal Para Pássaros 700Ml/span>/a> div classmt-3> !-- Valor ou desconto --> div data-targetpreco-produto classpreco-produto styleheight:85px;> /div> /div> /div> div class produto-footer stylewidth:100%> div classproduto-comprar px-2 border-top border-light pt-3 stylewidth:inherit> button classbtn btn-warning text-white d-block text-center mx-auto font-weight-bold data-loading-textarticle>i classfa fa-spinner fa-spin >/i> aguarde.../article> data-targetbtn-comprar data-qtd_produto1> article> Comprar /article> /button> /div> /div> /div>/div>div classitem p-2 stylewidth:inherit> div classproduto border border-light rounded p-2 data-produto_id25997 stylewidth:inherit> a hrefbloco-de-osso-de-siba-para-passaros-animalissimo-g> div data-targetdesconto-produto> /div> div classtext-center overflow-hidden cursor-pointer> img classimagem-produto lazyloaded loadinglazy src/media/produtos/Bloco-com-Osso-Tº-P_200x200_5GRZofF.webp altImagem do Produto> /div> /a> div stylemin-height:55px;> a hrefbloco-de-osso-de-siba-para-passaros-animalissimo-g>span data-targetnome_produto classtext-body cursor-pointer text-limit-2 stylemin-height:40px ; font-weight:100>Bloco De Osso De Siba Para Pássaros Animalíssimo G/span>/a> div classmt-3> !-- Valor ou desconto --> div data-targetpreco-produto classpreco-produto styleheight:85px;> /div> /div> /div> div class produto-footer stylewidth:100%> div classproduto-comprar px-2 border-top border-light pt-3 stylewidth:inherit> button classbtn btn-warning text-white d-block text-center mx-auto font-weight-bold data-loading-textarticle>i classfa fa-spinner fa-spin >/i> aguarde.../article> data-targetbtn-comprar data-qtd_produto1> article> Comprar /article> /button> /div> /div> /div>/div>div classitem p-2 stylewidth:inherit> div classproduto border border-light rounded p-2 data-produto_id1244 stylewidth:inherit> a hrefbastao-de-sementes-prefere-com-pera-para-calopsitas-agapornis-e-periquitos> div data-targetdesconto-produto> /div> div classtext-center overflow-hidden cursor-pointer> img classimagem-produto lazyloaded loadinglazy src/media/produtos/7898555411098-png_200x200_EIPXXYL.webp altImagem do Produto> /div> /a> div stylemin-height:55px;> a hrefbastao-de-sementes-prefere-com-pera-para-calopsitas-agapornis-e-periquitos>span data-targetnome_produto classtext-body cursor-pointer text-limit-2 stylemin-height:40px ; font-weight:100>Bastão De Sementes Prefere Com Pera Para Calopsitas, Agapornis E Periquitos/span>/a> div classmt-3> !-- Valor ou desconto --> div data-targetpreco-produto classpreco-produto styleheight:85px;> /div> /div> /div> div class produto-footer stylewidth:100%> div classproduto-comprar px-2 border-top border-light pt-3 stylewidth:inherit> button classbtn btn-warning text-white d-block text-center mx-auto font-weight-bold data-loading-textarticle>i classfa fa-spinner fa-spin >/i> aguarde.../article> data-targetbtn-comprar data-qtd_produto1> article> Comprar /article> /button> /div> /div> /div>/div>div classitem p-2 stylewidth:inherit> div classproduto border border-light rounded p-2 data-produto_id1123 stylewidth:inherit> a hrefsuplemento-vitaminico-coveli-avitrin-ferro-para-passaros-15ml> div data-targetdesconto-produto> /div> div classtext-center overflow-hidden cursor-pointer> img classimagem-produto lazyloaded loadinglazy src/media/produtos/1123-suplemento-vitaminico-avitrin-ferro-15ml_200x200.jpg altImagem do Produto> /div> /a> div stylemin-height:55px;> a hrefsuplemento-vitaminico-coveli-avitrin-ferro-para-passaros-15ml>span data-targetnome_produto classtext-body cursor-pointer text-limit-2 stylemin-height:40px ; font-weight:100>Suplemento Vitamínico Coveli Avitrin Ferro Para Pássaros 15Ml/span>/a> div classmt-3> !-- Valor ou desconto --> div data-targetpreco-produto classpreco-produto styleheight:85px;> /div> /div> /div> div class produto-footer stylewidth:100%> div classproduto-comprar px-2 border-top border-light pt-3 stylewidth:inherit> button classbtn btn-warning text-white d-block text-center mx-auto font-weight-bold data-loading-textarticle>i classfa fa-spinner fa-spin >/i> aguarde.../article> data-targetbtn-comprar data-qtd_produto1> article> Comprar /article> /button> /div> /div> /div>/div>div classitem p-2 stylewidth:inherit> div classproduto border border-light rounded p-2 data-produto_id33045 stylewidth:inherit> a hrefbebedouro-jel-plast-pet-piu-similar-reto-branco-para-passaros-30ml> div data-targetdesconto-produto> /div> div classtext-center overflow-hidden cursor-pointer> img classimagem-produto lazyloaded loadinglazy src/media/produtos/bebedouro-similar-reto-_200x200.webp altImagem do Produto> /div> /a> div stylemin-height:55px;> a hrefbebedouro-jel-plast-pet-piu-similar-reto-branco-para-passaros-30ml>span data-targetnome_produto classtext-body cursor-pointer text-limit-2 stylemin-height:40px ; font-weight:100>Bebedouro Jel Plast Pet Piu Similar Reto Branco Para Pássaros 30Ml/span>/a> div classmt-3> !-- Valor ou desconto --> div data-targetpreco-produto classpreco-produto styleheight:85px;> /div> /div> /div> div class produto-footer stylewidth:100%> div classproduto-comprar px-2 border-top border-light pt-3 stylewidth:inherit> button classbtn btn-warning text-white d-block text-center mx-auto font-weight-bold data-loading-textarticle>i classfa fa-spinner fa-spin >/i> aguarde.../article> data-targetbtn-comprar data-qtd_produto1> article> Comprar /article> /button> /div> /div> /div>/div>div classitem p-2 stylewidth:inherit> div classproduto border border-light rounded p-2 data-produto_id6630 stylewidth:inherit> a hrefgaiola-nova-periquito-italiana-epoxi> div data-targetdesconto-produto> /div> div classtext-center overflow-hidden cursor-pointer> img classimagem-produto lazyloaded loadinglazy src/media/produtos/GaiolaItaliana_200x200.jpg altImagem do Produto> /div> /a> div stylemin-height:55px;> a hrefgaiola-nova-periquito-italiana-epoxi>span data-targetnome_produto classtext-body cursor-pointer text-limit-2 stylemin-height:40px ; font-weight:100>Gaiola Nova Periquito Italiana Epoxi/span>/a> div classmt-3> !-- Valor ou desconto --> div data-targetpreco-produto classpreco-produto styleheight:85px;> /div> /div> /div> div class produto-footer stylewidth:100%> div classproduto-comprar px-2 border-top border-light pt-3 stylewidth:inherit> button classbtn btn-warning text-white d-block text-center mx-auto font-weight-bold data-loading-textarticle>i classfa fa-spinner fa-spin >/i> aguarde.../article> data-targetbtn-comprar data-qtd_produto1> article> Comprar /article> /button> /div> /div> /div>/div>div classitem p-2 stylewidth:inherit> div classproduto border border-light rounded p-2 data-produto_id10171 stylewidth:inherit> a hrefpoleiro-de-corda-medio> div data-targetdesconto-produto> /div> div classtext-center overflow-hidden cursor-pointer> img classimagem-produto lazyloaded loadinglazy src/media/produtos/CordaPulero.jpg altImagem do Produto> /div> /a> div stylemin-height:55px;> a hrefpoleiro-de-corda-medio>span data-targetnome_produto classtext-body cursor-pointer text-limit-2 stylemin-height:40px ; font-weight:100>Poleiro De Corda Médio/span>/a> div classmt-3> !-- Valor ou desconto --> div data-targetpreco-produto classpreco-produto styleheight:85px;> /div> /div> /div> div class produto-footer stylewidth:100%> div classproduto-comprar px-2 border-top border-light pt-3 stylewidth:inherit> button classbtn btn-warning text-white d-block text-center mx-auto font-weight-bold data-loading-textarticle>i classfa fa-spinner fa-spin >/i> aguarde.../article> data-targetbtn-comprar data-qtd_produto1> article> Comprar /article> /button> /div> /div> /div>/div>div classitem p-2 stylewidth:inherit> div classproduto border border-light rounded p-2 data-produto_id21856 stylewidth:inherit> a hrefbalanco-papagaio-ms-pet> div data-targetdesconto-produto> /div> div classtext-center overflow-hidden cursor-pointer> img classimagem-produto lazyloaded loadinglazy src/media/produtos/BalançoPapagaio_200x200.jpg altImagem do Produto> /div> /a> div stylemin-height:55px;> a hrefbalanco-papagaio-ms-pet>span data-targetnome_produto classtext-body cursor-pointer text-limit-2 stylemin-height:40px ; font-weight:100>Balanço Papagaio Ms Pet/span>/a> div classmt-3> !-- Valor ou desconto --> div data-targetpreco-produto classpreco-produto styleheight:85px;> /div> /div> /div> div class produto-footer stylewidth:100%> div classproduto-comprar px-2 border-top border-light pt-3 stylewidth:inherit> button classbtn btn-warning text-white d-block text-center mx-auto font-weight-bold data-loading-textarticle>i classfa fa-spinner fa-spin >/i> aguarde.../article> data-targetbtn-comprar data-qtd_produto1> article> Comprar /article> /button> /div> /div> /div>/div>div classitem p-2 stylewidth:inherit> div classproduto border border-light rounded p-2 data-produto_id9686 stylewidth:inherit> a hrefalimento-para-passaros-prefere-nectar-beija-flor-150g> div data-targetdesconto-produto> /div> div classtext-center overflow-hidden cursor-pointer> img classimagem-produto lazyloaded loadinglazy src/media/produtos/alimento-para-passaros-prefere-nectar-beija-flor-150g_200x200.webp altImagem do Produto> /div> /a> div stylemin-height:55px;> a hrefalimento-para-passaros-prefere-nectar-beija-flor-150g>span data-targetnome_produto classtext-body cursor-pointer text-limit-2 stylemin-height:40px ; font-weight:100>Alimento Para Pássaros Prefere Néctar Beija-Flor 150G/span>/a> div classmt-3> !-- Valor ou desconto --> div data-targetpreco-produto classpreco-produto styleheight:85px;> /div> /div> /div> div class produto-footer stylewidth:100%> div classproduto-comprar px-2 border-top border-light pt-3 stylewidth:inherit> button classbtn btn-warning text-white d-block text-center mx-auto font-weight-bold data-loading-textarticle>i classfa fa-spinner fa-spin >/i> aguarde.../article> data-targetbtn-comprar data-qtd_produto1> article> Comprar /article> /button> /div> /div> /div>/div> /div> div classfloat-right> a href/categorias/passaros classtext-primary>Todos dessa categoria/a> /div>/div> div classrow mt-5>div classcol-12 col-xl-6 col-lg-6 col-md-12 col-sm-12 mt-2> a href/pesquisa/formula-natural target_blank> img classw-100 h-${tamanho}vh rounded lazyloaded loadinglazy srcmedia/estrutura/logo/Racao_Formula_Natural_Caes_Gatos.webp altbanner> /a>/div>div classcol-12 col-xl-6 col-lg-6 col-md-12 col-sm-12 mt-2> a href/pesquisa/nexgard-ofertas target_blank> img classw-100 h-${tamanho}vh rounded lazyloaded loadinglazy srcmedia/estrutura/logo/Nexgard_Anti_Pulgas_Carrapato_Caes.webp altbanner> /a>/div>/div> /div> /div> /div> div classd-none md-none idpalavras-chaves>pet shop online, rações, brinquedos, farmácia veterinária, acessórios para pets, hiperzoo/div> /main> /div> !-- CARRINHO --> div idasidebar> div classasidebar asidebar-closed> !-- Header do carrinho --> div classborder-orange idcarrinho-header> div classpx-3 d-flex justify-content-between align-items-center> div classd-flex py-2> span classfont-weight-bold icon_arrow-back02 mr-2 cursor-pointer idcarrinho-voltar-entrega>/span> img src/staticfiles/img/icons/icon_carrinho-orange.svg width22 height22 classmr-2>/span> span classfont-weight-bold text-marine font-xl>span class>Carrinho/span> span idcarrinho-itens classml-1 small> (0 itens)/span>/span> /div> a classicon_close02 cursor-pointer onclickonToggleCarrinho()>/a> /div> /div> div classcol-12 px-0 stylebackground-color:#fff; border-bottom-left-radius: 30px;border-bottom-right-radius: 30px;> div classtext-center stylepadding: 15px 20px 15px 20px;> span classmb-1 idcarrinho-frete-gratis>/span> div classcarrinho-progress> div classcarrinho-progress-bar d-flex justify-content-end data-targetcarrinho-restante_frete_bar roleprogressbar aria-valuenow0 aria-valuemin0 stylewidth:50%;background-color: #94b623; aria-valuemax100> img src/staticfiles/img/icons/osso_carrinho.svg altImagem de Progresso styletop: 50%; transform: translate3d(11px, -6px, 10px); height: 20px; width: 20px;> /div> /div> /div> /div> !-- Body Carrinho --> div classpt-2 idcarrinho-body style max-height: calc( 100vh - 15.25rem) !important; height: 100% !important; display: inline-block; width: 100%; position: relative; overflow-y: auto; overflow-x: hidden; padding-bottom: 8.5rem;> /div> !-- Footer Carrinho --> div idcarrinho-footer classpb-3 px-2 styleposition:fixed; bottom:0; width:inherit; background-color:#fff;> div classrow mx-2> div classcol-12> div classcarrinho-progress2> div classcarrinho-progress-bar2 data-targetcarrinho-progresso roleprogressbar aria-valuenow0 aria-valuemin0 stylewidth:50%; aria-valuemax100> /div> /div> /div> div classcol-12 d-flex align-items-center justify-content-between font-xl font-weight-bold pb-2 stylecolor: #444444;> span>Total:/span> span data-targetcarrinho-vlr_total>R$ 0,00/span> /div> div classcol-12 mt-2> !-- Botão de confirmação --> a classbtn text-white py-2 w-100 stylebackground-color: #94b623; idcarrinho-botao-finalizar> article> span classfont-weight-bold text-nowrap font-xl>Escolher Entrega/span> /article> /a> /div> !-- Fim footer do carrinho --> /div> /div> /div> !-- Localizações --> div classmodal fade modal-carrinho idmodal_localizacao_mapa stylez-index: 12000 tabindex-1 roledialog aria-labelledbymodal_localizacao_mapa aria-hiddentrue data-backdropfalse> div classmodal-dialog modal-xl roledocument> div classmodal-content> div classmodal-header> p classfont-weight-bold>Localização mapa/p> a classicon_close02 cursor-pointer data-dismissmodal>/a> /div> div classmodal-body> div classrow> div classcol-12 col-xl-4 col-lg-4 col-md-12 col-sm-12 bg-light p-3> p classfont-weight-bold font-xl> span data-targetmap-nmloja>/span> /p> p classfont-weight-bold mt-2> Endereço: /p> div classd-flex align-items-center> img src alt> div> span data-targetmap-endereço>/span> span data-targetmap-numero>/span>, span data-targetmap-bairro>/span> - span data-targetmap-cidade>/span>/span data-targetmap-estado>/span> p classtext-nowrap>span>CEP:/span>span data-targetmap-cep>/span>/p> /div> /div> p classfont-weight-bold mt-2> Horário de funcionamento: /p> div classd-flex align-items-center> img src alt> div> p>Seg a Sex: span data-targetmap-hr-segasex>/span>/p> p>Sáb: span data-targetmap-hr-sab>/span>/p> p>Dom: span data-targetmap-hr-dom>/span>/p> /div> /div> p classfont-weight-bold mt-2> Telefone: /p> div classd-flex align-items-center> img src alt> div> span data-targetmap-telefone>/span> /div> /div> p classfont-weight-bold mt-2> Serviços: /p> div data-targetmap-lista_servicos> /div> /div> div classcol col-xl col-lg col-md-12 col-sm-12 bg-light> div idmap styleheight:100%; min-height:640px;>/div> /div> /div> /div> /div> /div> /div>!-- Fecha modal --> !-- Popup Agendada --> div classasidebar-confirmacao asidebar-closed modal-carrinho p-3 idpopupAgendada data-zindex12001 stylez-index: 12001; max-height: 80%; height: 100%; border-top-left-radius: 30px;border-top-right-radius: 30px;> p classfont-weight-black mt-1 mb-3 text-center font-xl pb-1>Selecione o horário que deseja receber/p> div idcarrinho-horarios-agendada styleheight:85%; overflow:auto;>/div> /div> !-- Informacao pacotes --> div classasidebar-confirmacao asidebar-closed modal-carrinho p-3 idpopupInformacaoPacote data-zindex12001 stylez-index: 12001; max-height: 80%; border-top-left-radius: 30px;border-top-right-radius: 30px;> p classfont-weight-black mt-1 mb-3 text-center font-xl pb-1>Sua entrega/p> div styleheight:100%;overflow:auto;> div classd-flex justify-content-center mt-5> img src/media/outros/informacao/pacote.png height111 width111 altFOTO> /div> p classtext-muted font-weight-semibold mt-5> Você pode selecionar a forma de entrega de cada pacote e dar andamento ao seu pedido clicando na seta.br> No momento a HiperZoo oferece duas formas para que você receba suas compras feitas em nosso site:br> - Retire em nossas lojas: nesta opção você pode retirar seu pedido em qualquer uma de nossas lojas (conferir a disponibilidade dos produtos em cada loja), sua compra ficará pronta em no máximo 1h, sem contar que você ganha 10% de desconto usando o código RETIRE10br> - Entrega em até 48hrs: Após a confirmação do seu pagamento, sua compra será entregue no conforto da sua casa em até 48hrs. (Obs: Também entregamos para a região metropolitana de Curitiba).br> /p> /div> /div> !-- Informacao loja --> div classasidebar-confirmacao asidebar-closed modal-carrinho p-3 idpopupInformacaoLojas data-zindex12001 stylez-index: 12001; max-height: 80%; border-top-left-radius: 30px;border-top-right-radius: 30px;> p classfont-weight-black mt-1 mb-3 text-center font-xl pb-1>Retirada em Loja/p> div styleheight:100%;overflow:auto;> div classd-flex justify-content-center mt-5> img src/outros/carrinho/informacao/retirada.png height111 width111 altFOTO> /div> p classtext-muted font-weight-semibold mt-5> O serviço Retirada está disponível para 100% da Rede Farmácias Nissei. Consulte através do CEP a disponibilidade de estoque do produto selecionado;br> br> - Selecione a modalidade de entrega RETIRADA, escolha a loja mais conveniente, e retire a patir de 1 hora após aprovação do pedido.br> br> - Frete Grátis sem mínimo de compra.br> br> Qual o horário para retirada?br> br> O horário de retirada varia de acordo com o horário de funcionamento da loja. Os horários são informados na Cesta de compras ao finalizar o pedido;br> br> Posso pedir para alguém retirar no meu lugar?br> br> Sim, ao selecionar a opção RETIRADA você terá opção de retirar por terceiros, onde deverá informar o CPF e Nome da pessoa autorizada a retirar o pedido;br> br> Onde retiro o pedido ao chegar na loja ?br> br> Chegando na loja, dirija-se ao balcão conforme sinalização da loja. Nossa equipe estará preparada para melhor atendê-lo.br> /p> /div> /div> !-- Popup Lojas --> div classasidebar-confirmacao asidebar-closed modal-carrinho p-3 idpopupLojas data-zindex12001 stylez-index: 12001; max-height: 80%; height: 100%; border-top-left-radius: 30px;border-top-right-radius: 30px;> p classfont-weight-black mt-1 mb-3 text-center font-xl>Selecione a loja para retirar/p> div idcarrinho-lojas-pesquisa> /div> div idcarrinho-lojas styleheight:85%; overflow:auto;> /div> /div> !-- Modal Quantidade Mobile--> div classmodal fade p-3 data-backdroptrue idmodalQuantidade tabindex-1 roledialog aria-hiddentrue stylez-index: 15000;> div classmodal-dialog modal-dialog-centered modal-sm stylemargin-top: 8rem> div classmodal-content styleborder-radius: 1rem;> div classmodal-header text-white modalQuantidade d-flex justify-content-center align-items-center font-weight-bold styleborder-top-left-radius: 1rem; border-top-right-radius: 1rem;> QUANTIDADE DE PRODUTOS /div> div classmodal-body> div classcontainerScroll> div classscrollport idcorpoModalQuantidade stylewidth: 100%;> /div> /div> /div> /div> /div> /div> div classmodal fade idmodal_login_obrigatorio tabindex-1 roledialog aria-labelledbymodal_login_obrigatorio aria-hiddenfalse> div classmodal-dialog modal-dialog-centered modal-mdroledocument> div classmodal-content > div classmodal-header> h5 classmodal-title>Login Necessário/h5> a classicon_close p-1 data-dismissmodal aria-labelClose>/a> /div> div classmodal-body> p classfont-sm>Este produto é comercializado de forma controlada e a conclusão da compra será realizada mediante o envio da receita médica./p> p classfont-sm mt-2>Faça seu a classfont-weight-bold href/cliente/login>Login/a> ou a classfont-weight-bold href/cliente/login>Cadastre-se/a> para prosseguir./p> /div> /div> /div> /div> !-- Popup Enviar receita --> div classasidebar-confirmacao asidebar-closed modal-carrinho p-3 idpopupUploadReceita data-zindex12001 stylez-index: 12001; max-height: 80%; height: 100%; border-top-left-radius: 30px;border-top-right-radius: 30px;> div classd-flex justify-content-between align-items-center> span classfont-weight-bold text-navy icon_arrow-back02 mr-3 cursor-pointer idcarrinho-voltar-endereco onclickcarrinho.instance.endereco._carregarTemplate();>/span> p classfont-weight-black mt-1 mb-3 text-center font-xl>Enviar receita(s)/p> a classicon_close02 text-navy cursor-pointer onclickonToggleCarrinhoPopUp(, #popupUploadReceita); carrinho.instance._resetFormularioReceitaCarrinho();>/a> /div> div stylemax-height:80%; height:100%; overflow:auto;> form idform_upload_receita_carrinho classp-2 novalidate> div namebloco_paciente> div classform-row mb-2> div classcol-12 col-md-8 d-flex align-items-center> p classtext-marine font-xl font-weight-bold>Sobre o Paciente/p> /div> div classcol-12 col-md d-md-flex justify-content-end mt-2 mt-md-0> a classbtn btn-outline-light text-dark font-lg onclick$(#form_upload_receita_carrinho).find(`namebloco_paciente :input`).val(); $(#form_upload_receita_carrinho).find(`namebloco_paciente :checked`).prop(checked, false)> Não sou paciente /a> /div> /div> div classform-row mb-2> div classcol-12 col-md-6> label fornm_completo classtext-primary>Nome do Paciente/label> input typetext autocompleteoff idnm_completo classform-control input-padrao-receita namenm_completo required > div classinvalid-feedback>Informe o nome/div> /div> div classcol-12 col-md-6 mt-2 mt-md-0> label fordocumento classtext-primary>RG do Paciente/label> div classinput-group > div classinput-group-prepend> fieldset classw-100> select classform-control idestado-documento nameestado-documento>/select> /fieldset> /div> input typetext autocompleteoff iddocumento classform-control input-padrao-receita rg-receita namedocumento required > div classinvalid-feedback>Informe o número de RG/div> /div> /div> /div> div classform-row mb-2> div classcol-12 col-md-4> label fordat_nasc classtext-primary>Data de nascimento/label> input typetext autocompleteoff minlength10 maxlength10 iddat_nasc classform-control input-padrao-receita dt-nascimento namedat_nasc required> div classinvalid-feedback>Informe a data de nascimento/div> /div> div classcol-12 col-md-8 mt-2 mt-md-0> label classtext-primary>Sexo/label> div classw-100 d-block d-md-flex my-2> div classradio-ecomm col-sm-12 col-md-2 my-2 my-md-0 mr-5> input typeradio idsexo_feminino_carrinho valuefeminino classform-control namesexo required checkedchecked> label tabindex0 forsexo_feminino_carrinho>Feminino/label> div classinvalid-feedback text-nowrap>Selecione o Sexo/div> /div> div classradio-ecomm col-sm-12 col-md-2 my-2 my-md-0 mr-5> input typeradio idsexo_masculino_carrinho valuemasculino classform-control namesexo required checkedchecked> label tabindex0 forsexo_masculino_carrinho>Masculino/label> /div> div classradio-ecomm col-sm-12 col-md-2 my-2 my-md-0 mr-5> input typeradio idsexo_outro_carrinho valueoutro classform-control namesexo required checkedchecked> label tabindex0 forsexo_outro_carrinho>Outro/label> /div> /div> /div> /div> /div> div namebloco_receita> div classform-row mt-2 mt-md-4 mb-2> div classcol-12> p classtext-marine font-xl font-weight-bold>Dados da Receita/p> /div> /div> div classform-row mb-2> div classcol-12> label fordat_receita classtext-primary>Data da receita/label> input typetext autocompleteoff minlength10 maxlength10 iddat_receita classform-control input-padrao-receita dt-nascimento namedat_receita required> div classinvalid-feedback>Informe a data da receita/div> /div> /div> div classform-row mb-2 mb-md-4> div classcol-12 col-md-6 mt-2 mt-md-0> div classlabl labl-receita> input typeradio required namereceita-tipo idtipo_digital_carrinho autocompleteoff valuetoken> label fortipo_digital_carrinho classcard text-body text-center my-1 styleheight:70px; background-color: #f0f3f5;> a classcard-body pt-2 pb-2 text-center> p classtext-muted font-weight-bolder text-nowrap small>Enviar receita digital/p> p classtext-muted small>Insira o código token que recebeu de seu médico/p> /a> /label> /div> /div> div classcol-12 col-md-6 mt-2 mt-md-0> div classlabl labl-receita> input typeradio required namereceita-tipo idtipo_anexo_carrinho autocompleteoff valuepath_receita> label fortipo_anexo_carrinho classcard text-body text-center my-1 styleheight:70px; background-color: #f0f3f5;> a classcard-body pt-2 pb-2 text-center> p classtext-muted font-weight-bolder text-nowrap font-sm>Enviar receita em anexo/p> p classtext-muted small>Envie o arquivo (PDF) ou foto da sua receita (JPG)./p> /a> /label> /div> /div> /div> div classform-row mb-2 namebloco_receita_digital styledisplay: none;> div classcol-12> p classtext-marine font-xl font-weight-bold>Receita/p> label forreceita_numero_token classtext-primary>Número do token/label> input typetext autocompleteoff idreceita_numero_token classform-control input-padrao-receita namereceita_numero_token> div classinvalid-feedback>Informe o número do token/div> span classfont-sm text-danger>Se atente as letras minúsculas, maiúsculas, números e símbolos que estão presentes no seu token./span> /div> /div> div classform-row mb-2 namebloco_receita_anexo styledisplay: none;> div classcol-12> p classtext-marine font-xl font-weight-bold>Receita digital/p> p classtext-primary>Enviar receita (Somente JPG ou PDF)/p> input typefile idreceita_anexo_carrinho namereceita_anexo_carrinho> /div> /div> div classform row justify-content-center is-invalid-text mb-2 namebloco_tipo_receita_required styledisplay: none;> div classcol-12> p classfont-weight-semibold text-danger stylefont-size: 1.15rem;> Escolha como enviar sua receita para prosseguir. /p> /div> /div> /div> div classform-row my-3> div classcol-12> a onclickcarrinho.instance._submitReceita() classbtn btn-qtd btn-warning text-white d-block text-center font-weight-bold w-100 font-xl cursor-pointer submit-receita>Enviar receita/a> /div> /div> /form> /div> /div> !-- Popup Confirmacao --> div classasidebar-confirmacao asidebar-closed modal-carrinho p-3 idpopupConfirmacao data-zindex12001 stylez-index: 12001; height: auto; border-top-left-radius: 30px;border-top-right-radius: 30px;> p classfont-weight-black mt-1 mb-3 text-center font-xl>Confirme os dados da sua compra/p> p styleborder-bottom: 3px solid #e9580c!important; margin-right: -1rem; margin-left: -1rem;> /p> div idcarrinho-confirmacao>/div> /div> style> .asidebar-closed>.footer-carrinho { display: none; } /style> !-- Popup Entrega --> div classasidebar-confirmacao asidebar-closed modal-carrinho py-3 idpopupEntrega data-zindex12001 stylez-index: 11999; max-height: 80%; height:100%; border-top-left-radius: 30px;border-top-right-radius: 30px;> p classfont-weight-black text-center font-xl pb-1 idcarrinho-entrega-pacote>PACOTE 1: span classfont-weight-semibold>Escolha a Entrega/span>/p> div idcarrinho-tipo-entregas data-pacote-ativo styleheight:100%; overflow:auto; padding-bottom:150px; classpx-3>/div> !-- Footer Carrinho --> div classpb-3 px-2 footer-carrinho styleposition:fixed; bottom:0; width:inherit; background-color:#fff;> div classrow mx-2> div classcol-12> div classcarrinho-progress2> div classcarrinho-progress-bar2 data-targetcarrinho-progresso roleprogressbar aria-valuenow0 aria-valuemin0 stylewidth: 25%; aria-valuemax100> /div> /div> /div> div data-targetcarrinho-resumo-endereco onclickblackPanel(document.getElementById(carrinho_desfoco));onToggleCarrinhoPopUp(open, #popupEndereco) styleborder-bottom: 2px solid var(--light); classcursor-pointer col-12 d-flex align-items-center justify-content-between text-primary font-xl font-weight-bold py-2> div classd-flex justify-content-start align-items-center> span classsmall mr-2 font-weight-semibold stylecolor:#94b623;>Endereço:/span> span data-targetcarrinho-endereco-resumo classsmall text-limit-1 text-body>/span> /div> a classicon_arrow-next01 d-flex align-items-center font-2xl font-weight-bold stylepadding: 0 5px 0 5px; color: #94b623;>/a> /div> div classcol-12 d-flex align-items-center justify-content-between font-xl font-weight-bold pb-2 stylecolor: #444444;> span>Total:/span> span data-targetcarrinho-vlr_total>R$ 0,00/span> /div> div classcol-12 mt-2> !-- Botão de confirmação --> a classbtn text-white py-2 w-100 idcarrinho-continuar-entrega stylebackground-color: #94b623;> article> span classfont-weight-bold text-nowrap font-xl>Continuar/span> /article> /a> /div> !-- Fim footer do carrinho --> /div> /div> /div> /div> !-- Fim carrinho --> !-- Modal --> div classmodal fade idmodalLogin tabindex-1 roledialog aria-labelledbymodalLogin aria-hiddentrue> div classmodal-dialog modal-dialog-centered roledocument> div classmodal-content> div classmodal-header> h5 classmodal-title idmodalLoginTitle>Entrar/h5> a classicon_close02 cursor-pointer data-dismissmodal>/a> /div> div classmodal-body> /div> div classmodal-footer> button typebutton classbtn btn-secondary data-dismissmodal>Fechar/button> /div> /div> /div> /div> div classmodal fade idmodal_localizacao_bloqueada stylez-index: 12000 tabindex-1 roledialog aria-labelledbymodal_localizacao_bloqueada aria-hiddentrue data-backdropfalse> div classmodal-dialog modal-sm roledocument> div classmodal-content> div classmodal-header> p classfont-weight-bold>Localização bloqueada/p> a classicon_close02 cursor-pointer data-dismissmodal>/a> /div> div classmodal-body> div classd-flex justify-content-between align-items-center mb-3> O acesso à localização não é permitida nesse navegador. Para conseguir filtrar apenas endereços próximos, você precisa utilizar outro navegador. /div>!-- .d-flex --> /div> /div> /div> /div>!-- Fecha modal --> div classmodal fade idmodal_localizacao_nao_permitida stylez-index: 12000 tabindex-1 roledialog aria-labelledbymodal_localizacao_nao_permitida aria-hiddentrue data-backdropfalse> div classmodal-dialog modal-lg roledocument> div classmodal-content> div classmodal-header> p classfont-weight-bold>Localização não permitida/p> button typebutton classclose-modal data-dismissmodal aria-labelClose> span aria-hiddentrue>x/span> /button> /div> div classmodal-body> div classd-flex justify-content-between align-items-center mb-3> Essa aplicação requer à localização do seu navegador. Vá até as configurações do seu navegador e permita o acesso para conseguir utilizá-la. Se você bloqueou o acesso mas não clicou em lembrar essa decisão, recarregue a página e permita o acesso. /div>!-- .d-flex --> /div> /div> /div>!-- Fecha modal --> /div> div> input typehidden idcliente_hash namecliente_hash value> input typehidden idcloudflare_hash namecloudflare_hash value0x4AAAAAAB26uh5EuGYOstVg>/div>form classd-none idpay_fast>/form> !-- Toastr, alertas de sucesso e erros JS --> script typetext/javascript src/staticfiles/toastr/js/toastr.min.js>/script> !-- Popper js --> script typetext/javascript src/staticfiles/js/popper/js/popper.min.js>/script> !-- Bootstrap js --> script typetext/javascript src/staticfiles/bootstrap-4.4.1/dist/js/bootstrap.min.js>/script> !-- Imprimir js --> script typetext/javascript src/staticfiles/js/utilitarios/exportar_imprimir/printThis.min.js>/script> !-- Popover js --> script typetext/javascript src/staticfiles/js/popover/popovers.min.js>/script> !-- OWL Carousel. --> script src/staticfiles/OwlCarousel2-2.3.4/dist/owl.carousel.min.js>/script> !-- Select2 --> script src/staticfiles/select2/js/select2.min.js>/script> !-- Title --> script src/staticfiles/js/utilitarios/formatar/title.min.js>/script> script src/staticfiles/js/utilitarios/crypto/crypto.min.js>/script> script srchttps://www.mercadopago.com/v2/security.js view>/script> script> // Supondo que você tenha uma variável chamada progresso que representa o progresso atual (um valor entre 0 e 100). var progresso 50; // Substitua isso pelo seu valor real de progresso. // Calcula a largura da barra de progresso e a posição da imagem com base no progresso. var larguraBarra progresso + %; var posicaoImagem progresso + %; // Atualiza a largura da barra de progresso e a posição da imagem. $(data-targetcarrinho-restante_frete_bar).css(width, larguraBarra); $(.carrinho-progress-bar img).css(left, posicaoImagem); /script> script> window.addEventListener(error, function(event){ if(event.message undefined || event.message undefined){ window.reload() } }, true) /script> script> let originCarrinho ; $(.app-body).css(padding-top, 130px); originCarrinho ecommerce; let is_authenticated false let mp; // Carrinho // Criação por Thiago Silva 31/10/2021 // Ultima edição por --- var carrinho {}; function Produto(index, hash, id, nome, quantidade, valor, valor_multiplicado, imagem, url, _produto, _pacote, ultimo, buscarPet) { this.imagem produtos/caixa-nissei.jpg; this.index index; this.hash hash; this.id id; this.nome nome; this.quantidade quantidade; this._valor valor; this._valor_multiplicado valor_multiplicado; this._produto _produto; this.ultimo ultimo; if (imagem) { this.imagem imagem; } this.url url; this.token_nsu _produto.token_nsu; this.btn_qtd_disabled _produto.btn_qtd_disabled; this._pacote _pacote; this.is_controlado _produto.produto__is_venda_controlada this.produto_id _produto.produto_id this.estoque_original _produto.qtd_estoque this._receita_id _produto.receita_id ? _produto.receita_id : this.pet_id _produto.pet_id ? _produto.pet_id : this.pet_nome _produto.pet_nome ? _produto.pet_nome : // this.buscarPet this.petsCart(index) // this.petsCart(index) } Produto.prototype { get valor() { return parseFloat(this._valor).toLocaleFixed(2); }, set valor(value) { this.valor value }, get valor_multiplicado() { return parseFloat(this._valor_multiplicado).toLocaleFixed(2); }, set valor_multiplicado(value) { this._valor_multiplicado value; }, get estoque_original() { return this._produto.qtd_estoque_original }, set estoque_original(value) { this._produto.qtd_estoque_original value }, get receita_id() { return this._receita_id }, set receita_id(value) { this._receita_id value }, get pet_id () { return this._produto.pet_id }, set pet_id(value) { this._produto.pet_id value }, get pet_nome () { return this._produto.pet_nome }, set pet_nome(value) { this._produto.pet_nome value }, get templatePets (){ var htmlPets carrinho.instance.petsCarrinho.forEach((pet) > { htmlPets + ` div classd-flex align-items-center card-pet card-pet-background mt-2 mb-2 mr-2 cursor-pointer> input typeradio namepetSelecionado_${this.index} ${pet.pet_id this.pet_id ? checked: } onchangealteraNome(#nome_pet_sect_${this.index}, ${pet.nome}, ${pet.pet_id}, ${this._pacote.index}, ${this.index} ) idpetSelecionado_${pet.pet_id}_${this.index} value${pet.pet_id} classradiobox form-control d-none> label classespecie-selecionada d-flex cursor-pointer tabindex0 forpetSelecionado_${pet.pet_id}_${this.index}> div classimagem-pet-select mr-2> img src/media/${pet.imagem} alt> /div> div classnome-pet-select d-flex align-items-center> p classtext-muted >${pet.nome}/p> /div> /label> /div> `; }); return htmlPets; }, get template () { return ` div classpy-2 style${!this.ultimo ? border-bottom: 2px solid var(--light); : } > div classd-flex justify-content-start align-items-start> a href/${this.url}> img classrounded mr-2 src/media/${this.imagem} width65 height65 altFoto produto> /a> div classml-2 w-100> div classrow> div classcol-12> p classsmall text-limit-1 mt-1 stylefont-size: 15px;>${this.nome}/p> /div> ${ this.is_retencao_receita && 1 2 ? ` div classcol-8 col-md-4 d-md-flex justify-content-end> a classbtn btn-danger text-white font-weight-semibold font-xxs p-1 mt-1 stylecursor: default>Receita obrigatória/a> /div>` : `` } /div> div classmt-2 flex-nowrap d-flex justify-content-between align-items-center> div classd-flex justify-content-start align-items-center> div classd-flex align-items-center mr-3 styleborder: solid 1px #e0e0e0; border-radius: 8px> a classbtn text-white ${this._produto.token_nsu ? isDisabled : } ${!this._produto.token_nsu ? `onclickadicionar_remover($(this), menos, ${this.hash}, ${this._produto.token_nsu ? this._produto.token_nsu : });` : } stylepadding: .1rem .1rem; border-right: solid 1px #e0e0e0;border-radius: 0;> article styleheight: 23px;width: 25px;>span classicon_horizontal-line small font-weight-bold font-05rem stylecolor:#787878>/span>/article> /a> span classfont-xl mt-1 text-center stylewidth:35px; data-togglenumber_plus_minus data-valor${this._produto.quantidade ? this._produto.quantidade : } data-limite-min${this._produto.produto__qtd_min_venda_ecommerce ? this._produto.produto__qtd_min_venda_ecommerce : } data-limite-max${this._produto.produto__qtd_max_venda_ecommerce ? this._produto.produto__qtd_max_venda_ecommerce : }>${this._produto.quantidade ? this._produto.quantidade : }/span> a classbtn text-white ${this._produto.token_nsu ? isDisabled : } ${!this._produto.token_nsu ? `onclickadicionar_remover($(this), mais, ${this.hash}, ${this._produto.token_nsu ? this._produto.token_nsu : } );` : } stylepadding: .1rem .1rem; border-left: solid 1px #e0e0e0;border-radius: 0;> article styleheight: 23px;width: 25px;>span classicon_plus small font-weight-bold align-middle stylecolor:#787878>/span>/article> /a> /div> div classd-flex align-items-center flex-nowrap mr-2> span classtext-muted small mr-2>R$${this.valor} cada/span> span classtext-marine font-weight-semibold>R$${this.valor_multiplicado}/span> /div> /div> a classtext-muted cursor-pointer onclickcarrinho.instance.pacotes${this._pacote.index - 1}.produtos${this.index - 1}.remover()> div classd-flex align-items-center> img alticone width20 height25 src/staticfiles/img/icons/icon_trash.svg> /div> /a> /div> /div> /div> div classselect_pet_cart mt-3> div classradiobox-container> div classpet-selecionar d-flex justify-content-between align-items-center> div classmr-md-5 idnome_pet_sect_${this.index}> ${this.pet_nome ? Produto paraspan classml-1 font-weight-bold stylecolor:#e9580c;>+ this.pet_nome + /span> : p classtext-muted combobox-pet-carrinho>Escolha para qual pet é este produto/p>} /div> div classd-flex justify-content-between align-items-center> div classd-none d-md-block mr-md-1> a href/cliente/pets classIr-para-Meus-Pets>Ir para Meus Pets/a> /div> div classd-block d-md-none mr-md-1> a href/cliente/pets classIr-para-Meus-Pets>Meus Pets/a> /div> div classcollapse-icon carregar-pet ml-md-1 mb-0 data-target-collapse#divSelectCards_${this.index} aria-expandedfalse aria-controlsdivSelectCards_${this.index}> img src/staticfiles/img/icons/keyboard_arrow_down.svg alt> /div> /div> /div> div iddivSelectCards_${this.index} classdivSelectCards data-divSelectCardsproduto${this.index} styledisplay:none > div classcaixa-pet d-flex flex-wrap > ${this.templatePets} a classadd-novo-pet cursor-pointer mt-2 mb-2 d-flex align-items-center text-decoration-none href/cliente/pet> span classfont-icon icon_plus mr-2 text-muted font-weight-bold>/span> span classtext-muted font-weight-bold>Novo Pet/span> /a> /div /div> /div> /div> /div> `; } } function alteraNome(id, nomePet, idPet,indexPacote, indexProduto) { $(id).html(`Produto paraspan classml-1 font-weight-bold stylecolor:#e9580c;>${nomePet}/span>`) carrinho.instance._pacotesindexPacote -1._produtosindexProduto -1._produto.pet_nome nomePet carrinho.instance._pacotesindexPacote -1._produtosindexProduto -1._produto.pet_id idPet } Produto.prototype.remover function() { load(on, $(.asidebar)); $.ajax({ type: POST, url: /carrinho/remover/todos, data: { csrfmiddlewaretoken: 17s1iBwNobnxyf5AVLqBFGN01aOc56f4SqfFeT9OHm1lnCpq0Y5L6XET1LVXDFDi, hash_produto: this.hash, token_nsu: this.token_nsu }, success: (data) > { load(off, $(.asidebar)); filtroParaDadosAnaliticos(RemoveFromCart, { items: { id: this._produto ? this._produto.produto_id : , price: this._produto ? this._produto.valor_ini : , discount: this._produto ? this._produto.valor_desc : , item_name: this._produto ? this._produto.produto__nm_url_ecommerce : , promotion_name: this._produto ? this._produto.descontoprodutopreco__desconto__tipo_id : , currency: BRL, quantidade: this._produto ? this._produto.quantidade : , index: this._produto ? this._produto.origem_posicao : , item_list_name: this._produto ? this._produto.origem_descricao : , item_list_id: this._produto && this._produto.origem_descricao ? this._produto.origem_descricao.toLowerCase().replace(/\s/g, _) : , }, }) carrinho.instance._atualizarCarrinho(); }, error: (data) > { load(off, $(.asidebar)); toastr.error(Ocorreu um erro inesperado ao remover o produto do carrinho., Erro ao enviar); } }); } $(document).on(click, .collapse-icon, function () { $(this).toggleClass(collapsed); }); var cpf_context var cpfFormatado cpf_context.replace(/.-/g, ); function FaixaHorario(id, faixa, _faixas) { this.id id; this.faixa faixa; this._selecionado false; this._faixas _faixas; } FaixaHorario.prototype { get selecionado() { return this._selecionado; }, set selecionado(value) { this._selecionado value; this._faixas._carregarTemplate(); }, get template() { return `div classlabl labl-background> input typeradio required namecarrinho-agendada ${this.selecionado ? checked : } onclickcarrinho.instance.pacotes${this._faixas._entrega._entrega_component._pacote.index - 1}.entrega.value.entrega_complemento._faixa_componente.value ${this.id}; idcarrinho-agendada-${this.id} autocompleteoff value${this.id}> label forcarrinho-agendada-${this.id} classcard text-body my-1 styleheight:70px; background-color: #f0f3f5;> a classcard-body pt-2 pb-2 d-flex align-items-center> img alticone width40 height40 classmr-3 src/staticfiles/img/icons/pin-localizacao.svg> div> p classfont-weight-bold small text-limit-1>${this.faixa.descricao_combobox.split(%quebralinha%)0}/p> p classsmall text-limit-1>${this.faixa.descricao_combobox.split(%quebralinha%)1}/p> /div> /a> /label> /div>`; } } function FaixaHorarioComponent(id, _entrega) { this.id id; this._entrega _entrega; this._faixas null; this._carregarFaixas(); } FaixaHorarioComponent.prototype { get valid() { return this.value ? true : false; }, get value() { const faixa this._faixas ? this._faixas.filter((faixa) > { return faixa.selecionado }) : ; return faixa.length > 0 ? faixa0 : null; }, set value(value) { if (!this.value || this.value.id ! value) { this._faixas.map((faixa) > { faixa.id value ? faixa.selecionado true : faixa.selecionado ? faixa.selecionado false : ; if (faixa.id value) { this._entrega.faixa_entrega faixa.faixa; onToggleCarrinhoPopUp(, #popupAgendada); } }); } }, get faixas() { return this._faixas; }, set faixas(value) { const faixas ; let i 0; for (const faixa of value) { i++; faixas.push(new FaixaHorario(i, faixa, this)); } this._faixas faixas; this._carregarTemplate(); }, get template() { return $.map(this._faixas, (elem) > { return elem.template; }).join(); } } FaixaHorarioComponent.prototype._carregarFaixas function() { toastr.options.target null; const _pacote $.extend(true, {}, this._entrega._entrega_component._pacote); toastr.options.target body; delete _pacote._carrinho; delete _pacote.filial; delete _pacote.entregas; delete _pacote.entrega; delete _pacote.produtos; const _produtos ; for (const produto of _pacote._produtos) { const _produto $.extend(true, {}, produto); delete _produto._pacote; _produtos.push(_produto); } _pacote._produtos _produtos; load(on, $(#popupEntrega)); $.ajax({ type: POST, url: /entrega/agendada, data: { csrfmiddlewaretoken: 17s1iBwNobnxyf5AVLqBFGN01aOc56f4SqfFeT9OHm1lnCpq0Y5L6XET1LVXDFDi, carrinho_completo: _pacote.carrinho_completo, cd_filial: this._entrega.filial.cd_filial, tempo: this._entrega.dadosComplemento.tempo, }, success: (data) > { load(off, $(#popupEntrega)); this.faixas data.value; onToggleCarrinhoPopUp(open, #popupAgendada); }, error: (data) > { load(off, $(#popupEntrega)); } }); } FaixaHorarioComponent.prototype._carregarTemplate function() { $(#carrinho-horarios-agendada).html(this.template); } function Agendada(id, tipo_codigo, _entrega) { this.id id; this.tipo_codigo tipo_codigo; this._entrega _entrega; } Agendada.prototype { get template() { let html_template; if (this._entrega.faixa_entrega) { html_template ` p classfont-weight-bold text-nowrap small> ${this._entrega.faixa_entrega.descricao_combobox.split(%quebralinha%)0} /p> p classtext-nowrap small> ${this._entrega.faixa_entrega.descricao_combobox.split(%quebralinha%)1} /p> `; } else { html_template ` p classfont-weight-bold text-nowrap small ${this._entrega.valid ? : text-danger }>Disponibilidades/p> p idancora classsmall text-limit-1 ${this._entrega.valid ? : text-danger }>Selecione o horário que deseja receber seu pacote/p> `; } return ` p classfont-weight-bold mt-3>Selecione o horário que deseja receber/p> a classmt-2 pt-2 pb-2 d-flex align-items-center justify-content-between cursor-pointer onclickcarrinho.instance.pacotes${this._entrega._entrega_component._pacote.index - 1}.entrega.value.entrega_complemento._selecionar_faixa()> div classd-flex align-items-center> img alticone width40 height40 classmr-3 src/staticfiles/img/icons/pin-loja.svg> div> ${html_template} /div> /div> span classicon_arrow-next01 d-flex align-items-center font-2xl font-weight-bold stylepadding: 0 5px 0 5px;>/span> /a> `; } } Agendada.prototype._selecionar_faixa function() { if (!this._faixa_componente) { this._faixa_componente new FaixaHorarioComponent(this.id, this._entrega); } else { onToggleCarrinhoPopUp(open, #popupAgendada); } } function Loja(id, filial, _lojas) { this.id id; this.filial filial; this._selecionado false; this._lojas _lojas; } Loja.prototype { get selecionado() { return this._selecionado; }, set selecionado(value) { this._selecionado value; this._lojas._carregarTemplate(); }, get horarios() { let html_horarios ``; if (this.filial.hr_abertura_util ! 00:00 && this.filial.hr_fechamento_util ! 00:00) { html_horarios + `Seg a sex: ${this.filial.hr_abertura_util && this.filial.hr_fechamento_util ? this.filial.hr_abertura_util + ` às ` + this.filial.hr_fechamento_util : Fechado} | `; } else { html_horarios + `Seg a sex: 24h | `; } if (this.filial.hr_abertura_util ! 00:00 && this.filial.hr_fechamento_util ! 00:00) { html_horarios + `Sáb: ${this.filial.hr_abertura_sab && this.filial.hr_fechamento_sab ? this.filial.hr_abertura_sab + ` às ` + this.filial.hr_fechamento_sab : Fechado} | `; } else { html_horarios + `Sáb: 24h | `; } if (this.filial.hr_abertura_util ! 00:00 && this.filial.hr_fechamento_util ! 00:00) { html_horarios + `Dom: ${this.filial.hr_abertura_dom && this.filial.hr_fechamento_dom ? this.filial.hr_abertura_dom + ` às ` + this.filial.hr_fechamento_dom : Fechado}`; } else { html_horarios + `Dom: 24h | `; } return html_horarios; }, get template() { return `div classlabl labl-background> input typeradio required namecarrinho-loja ${this.selecionado ? checked : } idcarrinho-loja-${this.id} autocompleteoff value${this.id}> label onclickcarrinho.instance.pacotes${this._lojas._entrega._entrega_component._pacote.index - 1}.entrega.value.entrega_complemento._loja_componente.value ${this.id}; forcarrinho-loja-${this.id} classcard text-body my-1 styleheight:85px; background-color: #f0f3f5;> a classcard-body pt-2 pb-2 d-flex align-items-center> img alticone width40 height40 classmr-3 src/staticfiles/img/icons/pin-loja.svg> div> p classfont-weight-bold small text-limit-1>${title(this.filial.nm_filial)} (${this.filial.cd_filial}) /p> p classsmall text-limit-1>${title(this.filial.endereco)}, ${this.filial.numero} - ${title(this.filial.bairro)}, ${this.filial.cidade} - ${this.filial.uf}/p> p classsmall text-limit-1> ${this.horarios} div onclickevent.stopPropagation();atualizarMapa(${this.filial.latitude}, ${this.filial.longitude}, /assets/img/maps/pin-map-lg.png, ${this._lojas._entrega._entrega_component._pacote.index - 1}, false, carrinho, ${this.id}) classcursor-pointer text-primary text-nowrap>Ver mapa/div> /p> /div> /a> /label> /div>`; } } function LojasComponent(id, _entrega) { this.id id; this._entrega _entrega; this._lojas null; this._carregarLojas(); } LojasComponent.prototype { get valid() { return this.value ? true : false; }, get value() { const loja this._lojas ? this._lojas.filter((loja) > { return loja.selecionado }) : ; return loja.length > 0 ? loja0 : null; }, set value(value) { if (!this.value || this.value.id ! value) { this._lojas.map((loja) > { loja.id value ? loja.selecionado true : loja.selecionado ? loja.selecionado false : ; if (loja.id value) { this._entrega.filial loja.filial; onToggleCarrinhoPopUp(, #popupLojas); } }); } }, get lojas() { return this._lojas; }, set lojas(value) { const filiais ; let i 0; for (const filial of value) { i++ filiais.push(new Loja(filial.cd_localentrega, filial, this)); } this._lojas filiais; this._carregarTemplate(); }, get template() { let html_template ``; html_template + `div styleheight:100%; overflow:auto; padding-bottom:8rem;>`; let lojas this.lojas.filter((loja) > { let texto `${loja.filial.cd_filial} ${loja.filial.nm_filial} ${loja.filial.endereco}, ${loja.filial.numero} - ${title(loja.filial.bairro)}, ${loja.filial.cidade} - ${loja.filial.uf}`.toLowerCase(); return texto.indexOf(this._entrega.retirada_filtro.toLowerCase()) > -1; }) html_template + $.map(lojas, (elem) > { return elem.template; }).join(); html_template + `/div>`; return html_template; } } LojasComponent.prototype._carregarFiltros function() { let html_template ` div classrow align-items-center> div classcol-8> input value${this._entrega.retirada_filtro} classform-control styleheight: 45px; onkeyupcarrinho.instance.pacotes${this._entrega._entrega_component._pacote.index - 1}.entrega.value.retirada_filtro this.value placeholderPesquise a loja, bairro...> /div> div classcol-4> div classlabl labl-background> input typeradio required ${this._entrega.proximas_mim ? checked : } namecarrinho-proximas-mim onclickcarrinho.instance.pacotes${this._entrega._entrega_component._pacote.index - 1}.entrega.value.proximas_mim ${this._entrega.proximas_mim ? : on}; idcarrinho-proximas-mim autocompleteoff value1> label forcarrinho-proximas-mim classcard text-body my-1 styleheight:45px; border: 2px solid var(--primary) !important;> a classcard-body pt-2 pb-2 d-flex align-items-center justify-content-center text-center> div> p classtext-limit-1 font-weight-semibold>Próximas a mim/p> /div> /a> /label> /div> /div> /div> `; $(#carrinho-lojas-pesquisa).html(html_template); } LojasComponent.prototype._carregarLojas function() { toastr.options.target null; const _pacote $.extend(true, {}, this._entrega._entrega_component._pacote); toastr.options.target body; delete _pacote._carrinho; delete _pacote.filial; delete _pacote.entregas; delete _pacote.entrega; delete _pacote.produtos; const _produtos ; for (const produto of _pacote._produtos) { const _produto $.extend(true, {}, produto); delete _produto._pacote; _produtos.push(_produto); } _pacote._produtos _produtos; load(on, $(#popupEntrega)); load(on, $(#popupLojas)); $.ajax({ type: POST, url: /entrega/buscar/retiradas, data: { csrfmiddlewaretoken: 17s1iBwNobnxyf5AVLqBFGN01aOc56f4SqfFeT9OHm1lnCpq0Y5L6XET1LVXDFDi, coordenadas: this._entrega.coordenadas, endereco_id: carrinho.instance.endereco && carrinho.instance.endereco.value ? carrinho.instance.endereco.value.id : , cep: carrinho.instance.endereco && carrinho.instance.endereco.value ? carrinho.instance.endereco.value.cep : , pacote: JSON.stringify(_pacote), tipo_entrega: this.id }, success: (data) > { load(off, $(#popupEntrega)); load(off, $(#popupLojas)); this._carregarFiltros(); this.lojas data.lista_filiais; carrinho.instance.filiais_retirada data.lista_filiais onToggleCarrinhoPopUp(open, #popupLojas); }, error: (data) > { load(off, $(#popupLojas)); load(off, $(#popupEntrega)); } }); } LojasComponent.prototype._carregarTemplate function() { $(#carrinho-lojas).html(this.template); } function Retirada(id, tipo_codigo, _entrega) { this.id id; this.tipo_codigo tipo_codigo; this._entrega _entrega; } Retirada.prototype { get horarios() { let html_horarios ``; if (this._entrega.filial.hr_abertura_util ! 00:00 && this._entrega.filial.hr_fechamento_util ! 00:00) { html_horarios + `Seg a sex: ${this._entrega.filial.hr_abertura_util && this._entrega.filial.hr_fechamento_util ? this._entrega.filial.hr_abertura_util + ` às ` + this._entrega.filial.hr_fechamento_util : Fechado} | `; } else { html_horarios + `Seg a sex: 24h | `; } if (this._entrega.filial.hr_abertura_util ! 00:00 && this._entrega.filial.hr_fechamento_util ! 00:00) { html_horarios + `Sáb: ${this._entrega.filial.hr_abertura_sab && this._entrega.filial.hr_fechamento_sab ? this._entrega.filial.hr_abertura_sab + ` às ` + this._entrega.filial.hr_fechamento_sab : Fechado} | `; } else { html_horarios + `Sáb: 24h | `; } if (this._entrega.filial.hr_abertura_util ! 00:00 && this._entrega.filial.hr_fechamento_util ! 00:00) { html_horarios + `Dom: ${this._entrega.filial.hr_abertura_dom && this._entrega.filial.hr_fechamento_dom ? this._entrega.filial.hr_abertura_dom + ` às ` + this._entrega.filial.hr_fechamento_dom : Fechado}`; } else { html_horarios + `Dom: 24h | `; } return html_horarios; }, get template() { let html_template; let html_retirada; let titulo_retirada; let descricao_retirada; let nm_loja_retirada; if(this._entrega.nome retirada){ titulo_retirada Selecione a loja para retirar; nm_loja_retirada Loja descricao_retirada Selecione a loja para retirar seu pacote; } else { titulo_retirada Selecione o local para retirar; nm_loja_retirada Local descricao_retirada Selecione o local para retirar seu pacote; } if (this._entrega.filial) { html_template ` p classfont-weight-bold text-nowrap small>${title(this._entrega.filial.nm_filial)} (${this._entrega.filial.cd_filial})/p> p classtext-limit-1 small>${title(this._entrega.filial.endereco)}, ${this._entrega.filial.numero} - ${title(this._entrega.filial.bairro)} - ${this._entrega.filial.cidade}/${this._entrega.filial.uf}/p> p classtext-limit-1 small>${this.horarios} div onclickatualizarMapa(${this._entrega.filial.latitude}, ${this._entrega.filial.latitude}, /assets/img/maps/pin-map-lg.png, ${this._entrega._entrega_component._pacote.index - 1}, false, carrinho) classcursor-pointer text-primary text-nowrap >Ver mapa/div>/p> `; } else { html_template ` p idancora classfont-weight-bold text-nowrap small ${this._entrega.valid ? : text-danger}>${nm_loja_retirada}/p> p classtext-nowrap small text-limit-1 ${this._entrega.valid ? : text-danger}>${descricao_retirada}/p> `; } if (this._entrega.retirada_terceiro) { let nm_completo this._entrega.retirada_terceiro_nome; let cpf this._entrega.retirada_terceiro_cpf; let telefone this._entrega.retirada_terceiro_telefone; html_retirada ` div classrow> div classcol-12 mt-2> input placeholderNome completo value${nm_completo ? nm_completo : } onchangecarrinho.instance.pacotes0.entrega.value.retirada_terceiro_nome this.value; maxlength200 typetext styleheight: 45px; classform-control input-padrao ${carrinho.instance._submit_retirada_por_terceiro && !nm_completo ? is-invalid : }> /div> div classcol-6 mt-2> input placeholderCPF value${cpf ? cpf : } onchangecarrinho.instance.pacotes0.entrega.value.retirada_terceiro_cpf this.value; inputmodenumeric minlength11 maxlength14 typetext styleheight: 45px; classform-control input-padrao cpf ${carrinho.instance._submit_retirada_por_terceiro && !cpf ? is-invalid : }> /div> div classcol-6 mt-2> input placeholderTelefone value${telefone ? telefone : } onchangecarrinho.instance.pacotes0.entrega.value.retirada_terceiro_telefone this.value; inputmodenumeric minlength16 maxlength16 typetext styleheight: 45px; classform-control input-padrao telefone ${carrinho.instance._submit_retirada_por_terceiro && !telefone ? is-invalid : }> /div> /div> `; } else { html_retirada ``; } return ` p classfont-weight-bold mt-3> a classp-1 cursor-pointer rounded-circle text-white font-weight-semibold mr-2 onclickonToggleCarrinhoPopUp(open, #popupInformacaoLojas) stylebackground-color:#969eb5; padding-right: .7rem!important;padding-left: .7rem!important;>i/a> ${titulo_retirada} /p> a classmt-2 pt-2 pb-2 d-flex align-items-center justify-content-between cursor-pointer onclickcarrinho.instance.pacotes${this._entrega._entrega_component._pacote.index - 1}.entrega.value.entrega_complemento._selecionar_loja()> div classd-flex align-items-center> img alticone width40 height40 classmr-3 src/staticfiles/img/icons/pin-loja.svg> div> ${html_template} /div> /div> span classicon_arrow-next01 d-flex align-items-center font-2xl font-weight-bold stylepadding: 0 5px 0 5px;>/span> /a> hr> div classd-flex align-items-center> span classfont-weight-semibold mr-2>Autorizar outra pessoa a retirar/span> div classrow> div classcol-6> div classradio-ecomm onclickcarrinho.instance.pacotes${this._entrega._entrega_component._pacote.index - 1}.entrega.value.retirada_terceiro true;> input idcarrinho-terceiro-sim ${this._entrega.retirada_terceiro ? checked : } typeradio valueon namecarrinho-terceiro> label forcarrinho-terceiro-sim> Sim /label> /div> /div> div classcol-6> div classradio-ecomm onclickcarrinho.instance.pacotes${this._entrega._entrega_component._pacote.index - 1}.entrega.value.retirada_terceiro ;> input idcarrinho-terceiro-nao ${!this._entrega.retirada_terceiro ? checked : } typeradio value namecarrinho-terceiro> label forcarrinho-terceiro-nao> Não /label> /div> /div> /div> /div> ${html_retirada} div classd-flex align-items-center mt-4> div classrow> div classcol-6> div classradio-ecomm onclickcarrinho.instance.pacotes${this._entrega._entrega_component._pacote.index - 1}.entrega.value.ciente_retirada true;> input idciente-retirada-sim ${this._entrega.ciente_retirada ? checked : } typeradio valueon nameciente-retirada> label forciente-retirada-sim> /label> /div> /div> /div> span classml-2 font-weight-semibold mr-2 cliente-retirada-texto>Estou ciente que se não retirar minhas compras em até 5 dias, minha compra será cancelada e o valor estornado./span> /div> `; } } Retirada.prototype._selecionar_loja function() { if (!this._loja_componente) { this._loja_componente new LojasComponent(this.id, this._entrega); } else { onToggleCarrinhoPopUp(open, #popupLojas); } } function Entrega(index, nome, _filial, nome_descritivo, vlr_frete, descricao, imagem, tipo_codigo, dadosComplemento, _entrega_component) { this._entrega_component _entrega_component; this.index index; this.nome nome; this.dadosComplemento dadosComplemento; this._valid true; if (tipo_codigo ! retirada) { this.filial _filial; } else { this.filial null; } this.nome_descritivo nome_descritivo; this._vlr_frete vlr_frete; this.descricao descricao; this.imagem imagem; this.tipo_codigo tipo_codigo; this._selecionado false; if (_entrega_component && _entrega_component.value && _entrega_component.value.nome nome) { this._selecionado true; } } Entrega.prototype { get filial() { return this._filial; }, set filial(value) { if (!this.filial || this.filial.cd_localentrega ! value.cd_localentrega) { this._filial value; this._entrega_component._carregarTemplate(); } }, get valid() { return this._valid; }, set valid(value) { this._valid value; }, get faixa_entrega() { return this._faixa_entrega; }, set faixa_entrega(value) { this._faixa_entrega value; this._entrega_component._carregarTemplate(); }, get retirada_filtro() { return this._retirada_filtro ? this._retirada_filtro : ; }, set retirada_filtro(value) { this._retirada_filtro value; this.entrega_complemento && this.entrega_complemento._loja_componente ? this.entrega_complemento._loja_componente._carregarTemplate() : ; }, get proximas_mim() { return this._proximas_mim; }, set proximas_mim(value) { this._pegarLocalizacao(value); }, get coordenadas() { return this._coordenadas ? this._coordenadas : ; }, set coordenadas(value) { this._coordenadas value; }, get retirada_terceiro() { return this._retirada_terceiro; }, set retirada_terceiro(value) { if (value) { this._retirada_terceiro true; } else { this._retirada_terceiro false; } this._entrega_component._carregarTemplate(); }, get retirada_terceiro_nome() { return this._retirada_terceiro_nome; }, set retirada_terceiro_nome(value) { this._retirada_terceiro_nome value; this.retirada_terceiro on; }, get retirada_terceiro_telefone() { return this._retirada_terceiro_telefone; }, set retirada_terceiro_telefone(value) { this._retirada_terceiro_telefone value; this.retirada_terceiro on; }, get retirada_terceiro_cpf() { return this._retirada_terceiro_cpf; }, set retirada_terceiro_cpf(value) { this._retirada_terceiro_cpf value; this.retirada_terceiro on; }, get ciente_retirada() { return this._ciente_retirada; }, set ciente_retirada(value) { if (value) { this._ciente_retirada true; } else { this._ciente_retirada false; } this._entrega_component._carregarTemplate(); }, get vlr_frete() { return this._vlr_frete > 0 ? R$ + parseFloat(this._vlr_frete).toLocaleFixed(2) : Grátis; }, set vlr_frete(value) { this._vlr_frete value; }, get selecionado() { return this._selecionado; }, set selecionado(value) { this._selecionado value; }, get entregaComplemento() { if (this._entrega_component.value && this.selecionado) { if (this.tipo_codigo retirada) { this.entrega_complemento new Retirada(this.nome, this.tipo_codigo, this); return this.entrega_complemento.template; } else if (this._entrega_component.value.nome entrega_agendada || this._entrega_component.value.nome agendada_estoque_zero) { this.entrega_complemento new Agendada(this.nome, this.tipo_codigo, this); return this.entrega_complemento.template; } } return ; }, get template() { return `div classcol-6 col-md-4 labl labl-background> input typeradio required namecarrinho-entrega ${ this.selecionado ? checked: } onclickcarrinho.instance.pacotes${this._entrega_component._pacote.index - 1}.entrega.value ${ this.nome }; carrinho.instance._mensagemTempoDeEntrega(carrinho.instance._pacotes); idcarrinho-entrega-${this.index} autocompleteoff value${this.nome}> label forcarrinho-entrega-${this.index} classcard text-body my-1 styleheight:85px; background-color: #f0f3f5;> a classcard-body pt-2 pb-2 d-flex align-items-center justify-content-center> div classtext-center> p classfont-weight-bold text-nowrap stylefont-size:13px;>${this.nome_descritivo}/p> p classtext-nowrap stylefont-size:10px;>${this.vlr_frete}/p> p classtext-nowrap stylefont-size:10px;>${this.descricao}/p> /div> /a> /label> /div>`; } } Entrega.prototype._pegarLocalizacao function (value) { if (navigator.geolocation) { navigator.geolocation.getCurrentPosition( (position) > { this._proximas_mim value; if(value){ this.coordenadas `${position.coords.latitude}, ${position.coords.longitude}`; } else { this.coordenadas ; } this.entrega_complemento._loja_componente._carregarLojas(); }, (error) > { $(#modal_localizacao_nao_permitida).modal(show); this._proximas_mim ; this.coordenadas ; this.entrega_complemento._loja_componente._carregarLojas(); } ); } else { $(#modal_localizacao_bloqueada).modal(show); this._proximas_mim ; this.coordenadas ; this.entrega_complemento._loja_componente._carregarLojas(); } } function EntregaComponent(entregas, _pacote) { this.entregas entregas; this._pacote _pacote; } EntregaComponent.prototype { get valid() { if (!this.value) { return false; } else { if (this.value.nome entrega_agendada || this.value.nome agendada_estoque_zero) { if (!this.value.faixa_entrega) { toastr.error(Selecione o horário para receber o pacote, Erro); this.value.valid false; return false; } } else { if (!this.value.filial) { this.value.valid false; toastr.error(Selecione a Loja para retirar seu pacote., Erro); return false; } if (this.value.nome retirada && !this.value.ciente_retirada) { this.value.valid false; $(.cliente-retirada-texto).addClass(text-danger); toastr.error(Marque a opção que você está ciente sobre a retirada., Erro); return false; } if(this.value.retirada_terceiro && (!this.value.retirada_terceiro_nome || !this.value.retirada_terceiro_cpf || !this.value.retirada_terceiro_telefone)){ this.value.valid false toastr.error(Preencha os campos obrigatórios de retirada por terceiro para prosseguir., Erro); return false; } } } return true; }, get nome() { if (this.value && this.value.nome_descritivo) { return this.value.nome_descritivo + - + (this.value.vlr_frete Grátis ? this.value.vlr_frete : this.value.vlr_frete); } else { return null; } }, get value() { return this._value; }, set value(value) { if (value ! this.value) { this.entregasDoTipo.filter((entrega) > { entrega.nome value ? entrega.selecionado true : entrega.selecionado false; }); const entrega this.entregasDoTipo.filter((entrega) > { return entrega.selecionado }); this._value entrega.length > 0 ? entrega0 : null; this._pacote._carrinho.cupom ; carrinho.instance.entrega_alterada true; } this._logicaFrete(); this._carregarTemplate(); this._pacote._carregarTemplate(); if($(#ancora) && $(#ancora).offset()){ $(#carrinho-tipo-entregas).animate({ scrollTop: $(#ancora).offset().top / 3 }, 100); } if(this._value && this._value.entrega_complemento){ if(this._value.entrega_complemento._selecionar_loja){ this._value.entrega_complemento._selecionar_loja(); } else if (this._value.entrega_complemento._selecionar_faixa) { this._value.entrega_complemento._selecionar_faixa(); } } }, get tipo_entrega() { return this._tipo_entrega; }, set tipo_entrega(value) { this._tipo_entrega value; this._carregarEntregas(); }, get entregasDoTipo() { return this._entregasDoTipo; }, set entregasDoTipo(value) { this._entregasDoTipo value; this._carregarTemplate(); }, get template() { const template_entregas `div classrow align-items-center mt-3> ${$.map(this.entregasDoTipo, (elem) > { return elem.template; }).join()} /div>`; const retiradas_filtro this.entregas.filter((val) > { if (val.tipo_codigo retirada) { return val; } }); const entregas_filtro this.entregas.filter((val) > { if (val.tipo_codigo entrega) { return val; } }); let html_template entregas_filtro.length > 0 ? ` div classlabl mt-3 onclick> input typeradio required onclickcarrinho.instance.pacotes${this._pacote.index - 1}.entrega.tipo_entrega entrega; ${this.tipo_entrega entrega ? checked : } namecarrinho-tipo-entrega idcarrinho-tipo-entrega autocompleteoff valueentrega> label forcarrinho-tipo-entrega classcard text-body text-center my-1 styleheight:50px; background-color: transparent;> a classcard-body pt-2 pb-2 text-center> p classtext-muted font-weight-bolder text-nowrap small>Receber em casa/p> p classtext-muted text-nowrap small>Entregamos para você em até 48h/p> /a> /label> /div> ${this.tipo_entrega entrega ? template_entregas : } ${this.tipo_entrega entrega && this.value && this.value.tipo_codigo entrega && this.value.entregaComplemento ? this.value.entregaComplemento : } ` : ``; html_template + retiradas_filtro.length > 0 ? ` div classlabl mt-3 onclick> input typeradio required onclickcarrinho.instance.pacotes${this._pacote.index - 1}.entrega.tipo_entrega retirada; ${this.tipo_entrega retirada ? checked : } namecarrinho-tipo-entrega idcarrinho-tipo-retirada autocompleteoff valueretirada> label forcarrinho-tipo-retirada classcard text-body text-center my-1 styleheight:50px; background-color: transparent;> a classcard-body pt-2 pb-2 text-center> p classtext-muted font-weight-bolder text-nowrap small>Compre e Retire/p> p classtext-muted text-nowrap small>Retire na loja mais próxima de você./p> /a> /label> /div> ${this.tipo_entrega retirada ? template_entregas : } ${this.tipo_entrega retirada && this.value && this.value.tipo_codigo retirada && this.value.entregaComplemento ? this.value.entregaComplemento : } div styleheight:90px;>/div> ` : ``; return html_template; } } EntregaComponent.prototype._logicaFrete function () { let maior_frete 0; let maior_entrega_nome ; let entregas ; for (const index in this._pacote._carrinho.pacotes) { const pac this._pacote._carrinho.pacotesindex; if (pac.entrega && pac.entrega.value && (pac.entrega.value.tipo_codigo entrega && pac.entrega.value.nome ! correios)) { entregas.push(1); } // atualiza valores das entregas do front com a do back for (const entrega of pac.entrega.entregas) { if (pac.entrega.value && entrega.nome pac.entrega.value.nome) { pac.entrega.value._vlr_frete entrega.valor; } } // faz logica para pegar o frete mais caro das entregas que n sao correios for (const pacote of this._pacote._carrinho.pacotes) { let entrega pacote.entrega.value; if ( entrega && (entrega.tipo_codigo entrega && entrega.nome ! correios) ) { if( ( pac.entrega && pac.entrega.value ) && pac.entrega.value.tipo_codigo entrega && pac.entrega.value.nome ! correios ){ if (pac.entrega.value._vlr_frete > entrega._vlr_frete) { maior_frete pac.entrega.value._vlr_frete; maior_entrega_nome pac.entrega.value.nome; } } } } } let esseEoPrimeiroFreteGratisDaEntrega 0; for (const index in this._pacote._carrinho.pacotes) { const pac this._pacote._carrinho.pacotesindex; // logica para cupom frete gratis if (this._pacote._carrinho.cupom.cupom_id && this._pacote._carrinho.cupom.is_frete_gratis && this._pacote._carrinho.cupom.pacotes.indexOf(+index + 1) > - 1) { pac.entrega.value._vlr_frete 0; } // faz logica para o frete gratis e deixar corbar apenas o mais caro das entregas que n sao correios else if (entregas.length > 1 && pac.entrega.value.tipo_codigo entrega && pac.entrega.value.nome ! correios) { let isFretegratis 0; if (pac.entrega.value.nome maior_entrega_nome && esseEoPrimeiroFreteGratisDaEntrega 0) { isFretegratis 1; esseEoPrimeiroFreteGratisDaEntrega 1; } if (isFretegratis 0) { pac.entrega.value._vlr_frete 0; } } } } EntregaComponent.prototype._carregarEntregas function () { let _entregas for (const entrega of this.entregas) { if (this.tipo_entrega entrega.tipo_codigo) { _entregas.push(entrega); } } var i 0; _entregas _entregas.map((entrega) > { let filial entrega.filial, nome entrega.nome, nm_descritivo entrega.nm_descritivo, valor entrega.valor, descricao entrega.descricao, imagem entrega.imagem, tipo_codigo entrega.tipo_codigo; i++; return new Entrega(i, nome, filial, nm_descritivo, valor, descricao, imagem, tipo_codigo, entrega, this); }) this.entregasDoTipo _entregas; } EntregaComponent.prototype._carregarTemplate function () { $(#carrinho-entrega-pacote).html(` a classcursor-pointer rounded-circle text-white font-weight-semibold mr-2 onclickonToggleCarrinhoPopUp(open, #popupInformacaoPacote) stylebackground-color: #969eb5; padding: 3px 8px 3px 8px>?/a> Pacote ${this._pacote.index}: span classfont-weight-semibold>${ this.nome ? this.nome : Escolher entrega }/span>`); $(#carrinho-tipo-entregas).html(this.template); $(#carrinho-tipo-entregas).attr(data-pacote-ativo, this._pacote.index) $(.cpf).mask(000.000.000-00), $(.telefone).mask((00) 0 0000-0000); } function Pacote(index, id, produtos, tipos_entrega, carrinho_completo, _carrinho) { this.index index; this.id id; this.produtos produtos; this.carrinho_completo carrinho_completo; this.entrega new EntregaComponent(tipos_entrega, this); this._carrinho _carrinho; } Pacote.prototype { get valid() { if(this.entrega && this.entrega.value && (this.entrega.value && this.entrega.value.retirada_terceiro)){ carrinho.instance.submit_retirada_por_terceiro true; } return this.entrega.valid ? true : false }, get produtos() { return this._produtos; }, set produtos(value) { const products ; var i 0; for (const produto of value) { let hash produto.hash, id produto.id, produto__nm_ecommerce produto.produto__nm_ecommerce, quantidade produto.quantidade, valor produto.valor, valor_mult produto.valor_mult, produto__imagem_pequena produto.produto__imagem_pequena, produto__nm_url_ecommerce produto.produto__nm_url_ecommerce, token_nsu produto.token_nsu; products.push(new Produto(i + 1, hash, id, produto__nm_ecommerce, quantidade, valor, valor_mult, produto__imagem_pequena, produto__nm_url_ecommerce, produto, this, value.length - 1 i)); i++; } this._produtos products; }, get mensagem() { return this._mensagem; }, set mensagem(value){ this._mensagem value }, get template() { const template_produtos $.map(this.produtos, (elem) > { return elem.template; }).join(); return ` div classcard stylebox-shadow:unset !important; border:0 !important; margin-right:16px; margin-left: 16px; border-radius:7px;> div classcard-header bg-white py-2 mb-0 stylepadding-right: 10px; padding-left: 10px; border-bottom: 2px solid var(--light);> div classrow align-items-center justify-content-between px-2> div classd-flex> p classtext-uppercase font-weight-black font-xl mr-3>Pacote ${ this.index }:/p> /div> /div> div classrow my-1 px-2 style${!carrinho.instance._mensagemthis.index - 1 ? display: none; : }> p classtext-danger idmsg-tempo-entrega-${this.index - 1} stylefont-size: 13px !important;> ${carrinho.instance._mensagemthis.index - 1} /p> /div> /div> div idcarrinho-lista_produtos_${this.index} classcard-body stylepadding-left: 0; padding-right: 0; > ${template_produtos} /div> /div> `; } } Pacote.prototype._carregarTemplate function () { this._carrinho._carregarTemplate(); } function Endereco(id, apelido, cep, logradouro, numero, bairro, cidade, estado, complemento, _enderecos, is_principal) { this.id id; this.apelido apelido; this.logradouro logradouro; this.cep cep; this.numero numero; this.bairro bairro; this.cidade cidade; this.estado estado; this.complemento complemento; this._selecionado false; this._enderecos _enderecos; this.is_principal is_principal } Endereco.prototype { get selecionado() { return this._selecionado; }, set selecionado(value) { this._selecionado value; this._enderecos._carregarTemplate(); }, get endereco() { return this.logradouro + , + this.numero + , + this.bairro; }, get municipio() { return this.cidade + / + this.estado; }, get endereco_completo() { return this.endereco + - + this.municipio; }, get editar() { return ` event.stopPropagation(); carrinho.instance.endereco.id ${this.id}; carrinho.instance.endereco.cep ${this.cep}; carrinho.instance.endereco.estado ${this.estado}; carrinho.instance.endereco.numero ${this.numero}; carrinho.instance.endereco.rua ${this.logradouro}; carrinho.instance.endereco.complemento ${this.complemento}; carrinho.instance.endereco.bairro ${this.bairro}; carrinho.instance.endereco.apelido ${this.apelido}; carrinho.instance.endereco.is_principal ${this.is_principal}; carrinho.instance.endereco._carregarEdicaoEndereco(); `; }, get template() { return `div classlabl labl-background> input typeradio required namecarrinho-endereco ${this.selecionado ? checked : } onclickcarrinho.instance.endereco.value ${this.id};onToggleCarrinhoPopUp(, #popupEndereco); idcarrinho-endereco-${this.id} autocompleteoff value${this.id}> label forcarrinho-endereco-${this.id} classcard text-body my-1 styleheight:70px; background-color: #f0f3f5;> a classcard-body pt-2 pb-2 d-flex align-items-center> div classmr-3 ml-2 stylebackground-color: #eeeeee; border-radius: 4px; width: 40px; height: 40px; text-align: center; justify-content: center;> img alticone stylewidth: 21px; height: 40px; src/staticfiles/img/icons/pin-localizacao.svg> /div> div> p classfont-weight-bold small text-limit-1 stylecolor: #787878;>${this.apelido}/p> p classsmall text-limit-1 stylecolor: #787878;>${this.endereco}/p> p classsmall text-limit-1 stylecolor: #787878;>${this.municipio}/p> /div> div classh-100 d-flex align-items-top ml-auto> p classfont-weight-bold text-nowrap small px-3 font-xl stylecolor: #e9580c; onclick${this.editar}>.../p> /div> /a> /label> /div>`; } }; function EnderecoComponent() { this._enderecos null; this._carregarEnderecos(); } EnderecoComponent.prototype { get valid() { return this.value ? true : false; }, get value() { const endereco this._enderecos ? this._enderecos.filter((endereco) > { return endereco.selecionado }) : ; return endereco.length > 0 ? endereco0 : null; }, set value(value) { this._enderecos.map((endereco) > { if(endereco.id value){ endereco.selecionado true } else { endereco.selecionado false; } }); if (value) { localStorage.setItem(carrinho_endereco_id, value); } carrinho.instance._atualizarCarrinho(); }, get ultimo_editado_criado() { return this._ultimo_editado_criado; }, set ultimo_editado_criado(value) { this._ultimo_editado_criado value; }, get enderecos() { return this._enderecos; }, set enderecos(value) { const end ; let principal null; let primeiro null; let ultimo_salvo localStorage.getItem(carrinho_endereco_id); let ultimo_salvo_id null; for (const { id, apelido, cep__cep_form, endereco, numero, bairro, cep__bairro_cep, cep__municipio__nome, cep__municipio__uf__nm_abrev, complemento, is_principal } of value) { if (!principal) { if (this.ultimo_editado_criado) { principal this.ultimo_editado_criado; this.ultimo_editado_criado null; } else { if (ultimo_salvo id) { ultimo_salvo_id id; } else { if (!primeiro) { primeiro id; } if (is_principal) { principal id; } } } } end.push(new Endereco(id, apelido, cep__cep_form, endereco, numero, cep__bairro_cep ? cep__bairro_cep : bairro, cep__municipio__nome, cep__municipio__uf__nm_abrev, complemento, this, is_principal)); } this._enderecos end; this._carregarTemplate(); this.value ultimo_salvo_id ? ultimo_salvo_id : principal ? principal : primeiro; }, get template() { return $.map(this._enderecos, (elem) > { return elem.template; }).join(); }, get cep() { return this._cep ? this._cep : ; }, set cep(value) { this._cep value; let cep value.replace(/-/g, ).replace(/\./g, ).trim(); let urlStr `https://viacep.com.br/ws/${cep}/json/`; $.ajax({ url: urlStr, type: GET, dataType: json, success: (response_endereco) > { if (response_endereco.logradouro) this.rua response_endereco.logradouro; if (response_endereco.uf) this.estado response_endereco.uf; if (response_endereco.localidade) this.cidade response_endereco.localidade; if (response_endereco.bairro) this.bairro response_endereco.bairro; this._carregarEdicaoEndereco(); $(#carrinho-endereco-numero).focus(); }, error: (erro) > { toastr.error(Não foi possível localizar automaticamente, por favor, tente novamente ou preencha manualmente., Erro CEP); } }); }, get id() { return this._id; }, set id(value) { this._id value; }, get rua() { return this._rua ? this._rua : ; }, set rua(value) { this._rua value; }, get estado() { return this._estado ? this._estado : ; }, set estado(value) { this._estado value; }, get cidade() { return this._cidade ? this._cidade : ; }, set cidade(value) { this._cidade value; }, get numero() { return this._numero ? this._numero : ; }, set numero(value) { this._numero value; }, get complemento() { return this._complemento ? this._complemento : ; }, set complemento(value) { this._complemento value; }, get bairro() { return this._bairro ? this._bairro : ; }, set bairro(value) { this._bairro value; }, get apelido() { return this._apelido ? this._apelido : ; }, set apelido(value) { this._apelido value; }, get is_principal() { return this._is_principal; }, set is_principal(value) { this._is_principal value; }, get template_novo_endereco() { return ` div classrow m-0> div classcol-12 col-sm-4 pb-2> input idcarrinho-endereco-cep typetext placeholderCEP value${this.cep} styleheight:40px; onchangecarrinho.instance.endereco.cep this.value classform-control input-padrao font-weight-semibold> /div> div classcol-6 col-sm-4 pb-2> input idcarrinho-endereco-estado typetext disabled placeholderEstado value${this.estado} onchangecarrinho.instance.endereco.estado this.value styleheight:40px; classform-control input-padrao font-weight-semibold> /div> div classcol-6 col-sm-4 pb-2> input idcarrinho-endereco-cidade typetext disabled placeholderCidade value${this.cidade} onchangecarrinho.instance.endereco.cidade this.value styleheight:40px; classform-control input-padrao font-weight-semibold> /div> div classcol-12 col-sm-8 pb-2> input idcarrinho-endereco-rua typetext placeholderRua value${this.rua} styleheight:40px; onchangecarrinho.instance.endereco.rua this.value classform-control input-padrao font-weight-semibold> /div> div classcol-4 col-sm-4 pb-2> input idcarrinho-endereco-numero typetext placeholderNúmero value${this.numero} onchangecarrinho.instance.endereco.numero this.value styleheight:40px; classform-control input-padrao font-weight-semibold> /div> div classcol-4 col-sm-6 pb-2> input idcarrinho-endereco-complemento typetext placeholderComplemento value${this.complemento} onchangecarrinho.instance.endereco.complemento this.value styleheight:40px; classform-control input-padrao font-weight-semibold> /div> div classcol-4 col-sm-6 pb-2> input idcarrinho-endereco-bairro typetext placeholderBairro value${this.bairro} onchangecarrinho.instance.endereco.bairro this.value styleheight:40px; classform-control input-padrao font-weight-semibold> /div> div classcol-6 col-sm-12 pb-2> input idcarrinho-endereco-apelido typetext placeholderNome do endereço (ex: Casa, Trabalho) value${this.apelido} onchangecarrinho.instance.endereco.apelido this.value styleheight:40px; classform-control input-padrao font-weight-semibold> /div> div classcol-6> div> div classswitch> label> input tabindex0 nameis_principal ${this.is_principal && (this.is_principal true || this.is_principal on) ? checked : } value${this.is_principal && (this.is_principal true || this.is_principal on) ? on : false} onchangecarrinho.instance.endereco._atualizarIsPrincipal(); idcarrinho-endereco-padrao typecheckbox classd-none> span classml-0 lever>/span> /label> /div> label forcarrinho-endereco-padrao classsmall font-weight-semibold>Definir padrão/label> /div> /div> div classcol-12 col-sm-6 d-flex align-items-center justify-content-between> a tabindex0 onclickcarrinho.instance.endereco._salvarEndereco() classbtn btn-success text-white font-weight-semibold px-4 idcarrinho-salvar-endereco> article> Salvar Endereço /article> /a> /div> /div> `; }, }, EnderecoComponent.prototype._atualizarIsPrincipal function() { carrinho.instance.endereco.is_principal $(#carrinho-endereco-padrao).is(:checked) ? on : false }, EnderecoComponent.prototype._carregarEnderecos function () { load(on, $(.asidebar)); $.ajax({ type: POST, url: /cliente/endereco/atualizar, data: { csrfmiddlewaretoken: 17s1iBwNobnxyf5AVLqBFGN01aOc56f4SqfFeT9OHm1lnCpq0Y5L6XET1LVXDFDi, }, success: (data) > { load(off, $(.asidebar)); this.enderecos data.enderecos; if (data.enderecos.length 0) { this._limparCamposEndereco(); this._carregarEdicaoEndereco(); $(#carrinho-voltar-endereco).addClass(hidden) } }, error: (data) > { load(off, $(.asidebar)); //toastr.error(Ocorreu um erro inesperado ao atualizar os endereços., Erro ao enviar); } }); }, EnderecoComponent.prototype._limparCamposEndereco function () { this.id ; this._cep ; this.rua ; this.estado ; this.cidade ; this.numero ; this.complemento ; this.bairro ; this.apelido ; this.is_principal false; }, EnderecoComponent.prototype._salvarEndereco function () { // form.addClass(was-validated); load(on, $(#popupEndereco)); // if (this.checkValidity()) { $.ajax({ url: /cliente/endereco/cadastrar, type: POST, data: { csrfmiddlewaretoken: 17s1iBwNobnxyf5AVLqBFGN01aOc56f4SqfFeT9OHm1lnCpq0Y5L6XET1LVXDFDi, endereco_id: this.id, cep: this.cep, rua: this.rua, numero: this.numero, complemento: this.complemento, bairro: this.bairro, nome: this.apelido, is_principal: this.is_principal }, success: (data) > { load(off, $(#popupEndereco)); this._carregarEnderecos(); this.ultimo_editado_criado data.endereco_id; }, error: function (data) { load(off, $(#popupEndereco)); } }); // } }, EnderecoComponent.prototype._carregarEdicaoEndereco function () { $(#carrinho-voltar-endereco).removeClass(hidden); $(#carrinho-enderecos).html(this.template_novo_endereco); $(#carrinho-novo-endereco).addClass(d-none); }, EnderecoComponent.prototype._carregarTemplate function () { $(#carrinho-enderecos).html(this.template); $(data-targetcarrinho-endereco-resumo).html(this.value && this.value.endereco_completo ? this.value.endereco_completo : ); $(#carrinho-voltar-endereco).addClass(hidden); $(#carrinho-novo-endereco).removeClass(d-none).on(click, () > { this._limparCamposEndereco(); this._carregarEdicaoEndereco(); }); } function Cartao(tipo, _pagamento) { this.tipo tipo; this._pagamento _pagamento; this._submit false; this.doPay this.doPay.bind(this); this.sdkResponseHandler this.sdkResponseHandler.bind(this); this.construirFormMP this.construirFormMP.bind(this); this._status false; } Cartao.prototype { get submit() { return this._submit; }, set submit(value) { if (value true) { load(on, $(.asidebar)); } else { load(off, $(.asidebar)); } this._submit value; }, get template() { return ` form idpay novalidate namepay> div classcard> div classcard-header bg-white mb-1 styleborder-bottom: 2px solid var(--light);> p classfont-weight-bold> Adicionar novo Cartão /p> /div> div classcard-body> p classfont-sm text-warning font-weight-semibold> *Compras no crédito são efetuadas pelo mercado pago. /p> div classrow> div classcol-12 pb-2> div idcardNumber classinput-padrao pt-0 styleheight: 40px !important>/div> /div> div classcol-6 pb-2> div idexpirationDate classinput-padrao pt-0 styleheight: 40px !important>/div> /div> div classcol-6 pb-2> div idsecurityCode classinput-padrao pt-0 styleheight: 40px !important>/div> /div> div classcol-12 pb-2> input idcardholder-name typetext placeholderEscreva o nome completo classinput-padrao form-control text-uppercase styleheight:40px; color: #5e5d5d; required> div classsmall text-danger invalid>/div> /div> div classcol-12 pb-2> input idcarrinho-cartao-cpf_titular typetext placeholderCPF/CNPJ classinput-padrao form-control required styleheight:40px; color: #5e5d5d;> div classsmall text-danger invalid>/div> /div> div classform-group-float d-none> select iddocType classinput-padrao form-control tabindex-1 aria-hiddentrue> option valueCPF>CPF/option> option valueCNPJ>CNPJ/option> /select> /div> div classform-group-float d-none> input idcard-number typetext placeholder0000 0000 0000 0000 classinput-padrao form-control font-weight-semibold styleheight:40px; minlength19 onselectstartreturn false onpastereturn false oncopyreturn false oncutreturn false ondragreturn false ondropreturn false autocompleteoff maxlength19> div classsmall text-danger invalid>/div> /div> div classform-group-float d-none> input idcarrinho-cartao-validade placeholderMM/AA typetext classinput-padrao font-weight-semibold form-control styleheight:40px; onselectstartreturn false onpastereturn false oncopyreturn false oncutreturn false ondragreturn false ondropreturn false autocompleteoff maxlength5> div classsmall text-danger invalid>/div> /div> div classform-group-float d-none> input idsecurity-code typetext classform-control input-padrao font-weight-semibold placeholder000 styleheight:40px; onselectstartreturn false onpastereturn false oncopyreturn false oncutreturn false ondragreturn false ondropreturn false autocompleteoff maxlength3> div classsmall text-danger invalid>/div> /div> div classform-group-float d-none> input typetext classinput-padrao form-control idcardExpirationMonth data-checkoutcardExpirationMonth onselectstartreturn false onpastereturn false oncopyreturn false oncutreturn false ondragreturn false ondropreturn false autocompleteoff> /div> div classform-group-float d-none> input typetext classinput-padrao form-control idcardExpirationYear data-checkoutcardExpirationYear onselectstartreturn false onpastereturn false oncopyreturn false oncutreturn false ondragreturn false ondropreturn false autocompleteoff/> /div> div classcol-12> a idcarrinho-salvar-cartao classbtn w-100 font-weight-semibold text-white stylebackground-color: #94b623; onclickcarrinho.instance.pagamento.valueNotCashback.cartao.doPay()> article> Salvar Cartão /article> /a> /div> /div> /div> /div> /form>`; } } Cartao.prototype.getPaymentMethods async function() { // let cardnumber $(#card-number).val().split( ).join(); // if (cardnumber.length > 8) { // window.Mercadopago.getPaymentMethod({ // bin: bin // }, setPaymentMethod); // } if(typeof(mp) object){ let bin cardnumber.substring(0, 8); let response await mp.getPaymentMethods({ bin }); //response.results0.id // try { // if (response.results0.id ! amex) { // $(#card-number).mask(9999 9999 9999 9999); // $(#security-code).mask(999); // } else { // $(#card-number).mask(9999 999999 99999); // $(#security-code).mask(9999); // } // $(#card-number).attr(minlength, response.results0.settings0.card_number.length); // } catch (error) { // return console.error(Error getting payment method: , error); // } } } Cartao.prototype.doPay async function(event) { if(!$(#pay)0.checkValidity()){ toastr.warning(Preencha os campos do cartão para prosseguir) return } if (event) event.preventDefault(); if (!this.submit) { this.submit true; //window.Mercadopago.clearSession() if(typeof(mp) object){ let cardholderName $(#cardholder-name).val() let identificationType $(#docType).val() let identificationNumber $(#carrinho-cartao-cpf_titular).val() ? $(#carrinho-cartao-cpf_titular).val().replace(/\./g, ).replace(/-/g, ).replace(\/, ) : $(#carrinho-cartao-cpf_titular).val() let _token await mp.fields.createCardToken({ cardholderName, identificationType, identificationNumber, }); if(_token && _token.id){ this.token _token.id; this.adicionarCartao(); } else { this.submit false; toastr.error(Ocorreu um erro ao adicionar o cartão.) } } //window.Mercadopago.createToken(document.querySelector(#pay), carrinho.instance.pagamento.valueNotCashback.cartao.sdkResponseHandler); //return false; } } Cartao.prototype.sdkResponseHandler function(status, response) { let numero_cartao document.getElementById(card-number); let nome_titular document.getElementById(cardholder-name); let data_vencimento document.getElementById(carrinho-cartao-validade); let codigo_seguranca document.getElementById(security-code); let cpf_titular document.getElementById(carrinho-cartao-cpf_titular); setarInputInvalid(numero_cartao, ); setarInputInvalid(nome_titular, ); setarInputInvalid(data_vencimento, ); setarInputInvalid(codigo_seguranca, ); setarInputInvalid(cpf_titular, ); if (status ! 200 && status ! 201) { this.submit false; for (let i 0; i responsecause.length; i++) { errosNoCartao(responsecausei.code); } } else { this.token response.id; this.adicionarCartao(); } } Cartao.prototype.adicionarCartao function() { $.ajax({ type: POST, url: /pagamento/mercadopago/salvar/cartao, data: { csrfmiddlewaretoken: 17s1iBwNobnxyf5AVLqBFGN01aOc56f4SqfFeT9OHm1lnCpq0Y5L6XET1LVXDFDi, token_cartao: this.token, is_salvar: false, password: this.securityCode, tipo_id: this.tipo, }, success: (data) > { this.submit false; if (data.status) { carrinho.instance.pagamento.cartao_adicionado data.cartao_id; carrinho.instance.pagamento.tokens_temporarios data.cartao_id; carrinho.instance.pagamento._carregarPagamentos(); if (carrinho.instance.pagamento.valueNotCashback) { $(#carrinho-botao-finalizar).click(); } this.desconstruirFormMP(); } else { toastr.error(data.descricao, Erro); } }, error: (data) > { this.submit false; } }); } Cartao.prototype.construirFormMP function() { if(typeof(mp) object){ cardNumberElement mp.fields.create(cardNumber, { placeholder: 0000 0000 0000 0000, style: { height: 40px, paddingLeft: 10px, color: #444, fontWeight: 700, fontSize: 13px, placeholderColor: #bbbcbd, width: 100%, }, }).mount(cardNumber); expirationMonthElement mp.fields.create(expirationDate, { placeholder: MM/AA, mode: short, style: { height: 40px, paddingLeft: 10px, color: #444, fontWeight: 700, fontSize: 13px, placeholderColor: #bbbcbd, width: 100%, } }).mount(expirationDate) securityCodeElement mp.fields.create(securityCode, { placeholder: 000, style: { height: 40px, paddingLeft: 10px, color: #444, fontWeight: 700, fontSize: 13px, placeholderColor: #bbbcbd, width: 100%, } }).mount(securityCode) $(#carrinho-body).find(iframe).css(height, 40px); } setTimeout(() > { load(off, $(.asidebar)); }, 2000); } Cartao.prototype.desconstruirFormMP function() { try { carrinho.instance.is_formulario_cartao_construido false if(typeof(cardNumberElement) object) cardNumberElement.unmount() if(typeof(expirationMonthElement) object) expirationMonthElement.unmount() if(typeof(securityCodeElement) object) securityCodeElement.unmount() setTimeout(() > { load(off, $(.asidebar)); }, 2500); } catch (error) {} } let cardNumberElement let securityCodeElement let expirationMonthElement function Pagamento(index, id, nome_descritivo, imagem, dadosComplemento, _pagamentos) { this.index index; this.id id; this.nome_descritivo nome_descritivo; this.imagem imagem; this._selecionado false; this._pagamentos _pagamentos; this.dadosComplemento dadosComplemento; } Pagamento.prototype {get selecionado() { return this._selecionado; }, set selecionado(value) { this._selecionado value; this._pagamentos._carregarTemplate(); }, get qtd_parcelas() { return this._qtd_parcelas ? this._qtd_parcelas : 1; }, set qtd_parcelas(value) { this._qtd_parcelas value; }, get pagamentoComplemento() { var template ``; if (this._pagamentos.value && this.selecionado) { this._pagamentos.qtd_parcelas null; // Criacao de cartão if (!this.dadosComplemento && (this.id credito || this.id debito || this.id auxilio)) { this.cartao new Cartao(this.id, this) template this.cartao.template } // Pagamento convênio else if (this.id convenio) { if(!this.convenio) this.convenio new Convenio(this.id, this); template this.convenio.template; } // Pagamento por Folha de Pagamento else if (this.id folha_pagamento) { if(!this.folha_pagamento) this.folha_pagamento new FolhaPagamento(this.id, this); template this.folha_pagamento.template; } // Cartão já salvo else if (this.dadosComplemento && this.dadosComplemento.tipo_codigo && (this.dadosComplemento.tipo_codigo credito || this.dadosComplemento.tipo_codigo auxilio)) { if (!this.cartao) { this.cartao { id: this.dadosComplemento.cartao_id, token: this.dadosComplemento.token, cvv: this.dadosComplemento.cvv, bandeira_id: this.dadosComplemento.bandeira_id, }; } } if( (!this.dadosComplemento && !(this._pagamentos.valueNotCashback.id credito || this._pagamentos.valueNotCashback.id auxilio || this._pagamentos.valueNotCashback.id debito)) || (this.dadosComplemento && (this.dadosComplemento.tipo_codigo credito || this.dadosComplemento.tipo_codigo auxilio || this.dadosComplemento.tipo_codigo debito)) ){ const vlr_total this._pagamentos.cashback_selecionado ? (this._pagamentos._carrinho._calculaVlrTotalFloat() - this._pagamentos._carrinho._saldo_cashback) : this._pagamentos._carrinho._calculaVlrTotalFloat(); if(credito this._pagamentos.valueNotCashback.id){ template + ` p classfont-weight-bold mt-3>Parcelas/p> fieldset> select required onchangecarrinho.instance.pagamento.valueNotCashback.qtd_parcelas this.value; classinput-padrao namecarrinho-parcelas tabindex-1>`; for(let parcela1; parcela6; parcela++) { template + ((vlr_total / parcela) > 50 || (+parcela 1)) ? `option ${ this.qtd_parcelas parcela ? selected: } value ${ parcela } > ${ parcela }x(R$ ${(vlr_total / parcela).toLocaleFixed(2)}) - Sem juros/option>` : ; } template + `/select> /fieldset> `; } if(pix this._pagamentos.valueNotCashback.id){ } } } return template; }, get template() { return ` div classlabl labl-background ${this.index 1 ? : mt-3}> input typeradio required namecarrinho-pagamento ${this.selecionado ? checked : } onclickcarrinho.instance.pagamento.value ${this.index}; idcarrinho-pagamento-${this.index} autocompleteoff value${this.index}> label forcarrinho-pagamento-${this.index} classcard text-body my-1 styleheight:60px; background-color: #fff;> a classcard-body pt-2 pb-2 d-flex align-items-center> img alticone width47 classmr-3 srchttps://farmaciasnissei.com.br//media/${this.imagem}> div> p classfont-weight-semibold text-nowrap stylefont-size:14px;>${this.nome_descritivo}/p> /div> /a> /label> /div> ${this.pagamentoComplemento} `; } } Pagamento.prototype._pagamentoMeuCartao function() { if (this.dadosComplemento) { this.cartao { id: this.dadosComplemento.cartao_id, token: this.dadosComplemento.token, cvv: this.dadosComplemento.cvv, bandeira_id: this.dadosComplemento.bandeira_id, }; } } function PagamentoComponent(_carrinho) { this._carrinho _carrinho; this._carregarPagamentos(); this._cartao_adicionado null; this._tokens_temporarios ; } PagamentoComponent.prototype { get valid() { return this._validacaoPagamento(); }, get value() { const pagamentos this.meus_pagamentos.concat(this.tipos_pagamento); const pagamento pagamentos.filter((pagamento) > { return pagamento.selecionado }); if (this.cashback_selecionado && this._carrinho._saldo_cashback > 0) { let retorno ; retorno.push({ index: -1, id: cashback, nome_descritivo: NisseiPay, imagem: pagamentos/cashback.png, qtd_parcelas: 1, _selecionado: true, _pagamentos: this, _vlr_total: this._carrinho._saldo_cashback > this._carrinho._calculaVlrTotalFloat() ? this._carrinho._calculaVlrTotalFloat() : this._carrinho._saldo_cashback }); if (pagamento.length > 0 && this._carrinho._saldo_cashback this._carrinho._calculaVlrTotalFloat()) { pagamento0._vlr_total this._carrinho._calculaVlrTotalFloat() - this._carrinho._saldo_cashback; retorno.push(pagamento0); } return retorno.length > 0 ? retorno : null; } if (pagamento.length > 0) { pagamento0._vlr_total this._carrinho._calculaVlrTotalFloat(); return pagamento; } return null; }, set value(value) { if (!this.value || this.value.index ! value) { let pagamentoSelecionado; this.meus_pagamentos.map((pagamento) > { if (pagamento.index value) { pagamento.selecionado true; pagamentoSelecionado pagamento; } else { pagamento.selecionado false; } }); this.tipos_pagamento.map((pagamento) > { if (pagamento.index value) { pagamento.selecionado true; pagamentoSelecionado pagamento; } else { pagamento.selecionado false; } }); if(typeof filtroParaDadosAnaliticos function){ filtroParaDadosAnaliticos(AddPaymentInfo, { currency: BRL, payment_type: pagamentoSelecionado.id, coupon: this._carrinho.cupom.codigo, value: this._carrinho._calculaVlrTotalFloat(), }); } } }, get valueNotCashback() { const pagamentos this.meus_pagamentos.concat(this.tipos_pagamento); const pagamento pagamentos.filter((pagamento) > { return pagamento.selecionado }); if (this.cashback_selecionado && this._carrinho._saldo_cashback > 0) { if (pagamento.length > 0 && this._carrinho._saldo_cashback this._carrinho._calculaVlrTotalFloat()) { pagamento0._vlr_total this._carrinho._calculaVlrTotalFloat() - this._carrinho._saldo_cashback; } return pagamento.length > 0 ? pagamento0 : null; } if (pagamento.length > 0) { pagamento0._vlr_total this._carrinho._calculaVlrTotalFloat(); return pagamento0; } return null; }, get cashback_selecionado() { return this._cashback_selecionado; }, set cashback_selecionado(value) { this._cashback_selecionado value; this._carregarTemplate(); }, get cartao_adicionado() { return this._cartao_adicionado; }, set cartao_adicionado(value) { this._cartao_adicionado value; }, get meus_pagamentos() { return this._meus_pagamentos; }, set meus_pagamentos(value) { this._meus_pagamentos value; }, get tipos_pagamento() { return this._tipos_pagamento; }, set tipos_pagamento(value) { this._tipos_pagamento value; }, get tokens_temporarios(){ return this._tokens_temporarios; }, set tokens_temporarios(value){ this._tokens_temporarios.push(value); }, get template() { const meus_pagamentos_template this.meus_pagamentos.length > 0 ? `div classmt-4 ${this.cashback_selecionado && this._carrinho._saldo_cashback > this._carrinho._calculaVlrTotalFloat() ? isDisabled : }> p classfont-weight-bold style-0.8rem>Seus pagamentos/p>` + $.map(this.meus_pagamentos, (elem) > { return elem.template; }).join() + `/div>` : ; const tipo_pagamentos_template this.tipos_pagamento.length > 0 ? `div classmt-4 ${this.cashback_selecionado && this._carrinho._saldo_cashback > this._carrinho._calculaVlrTotalFloat() ? isDisabled : }> p classfont-weight-bold>Outras formas de pagamento/p>` + $.map(this.tipos_pagamento, (elem) > { return elem.template; }).join() + `/div>` : ; let html_template ``; html_template + `div stylemargin-right:16px; margin-left: 16px; > div classmt-3> p classfont-weight-bold>Adicionar cupom de desconto/p> div classinput-group> input stylefont-size:13px !important; height:45px; classtext-uppercase form-control font-weight-semibold text-body ${this._carrinho.cupom.codigo ? disabled : } value${this._carrinho.cupom.codigo ? this._carrinho.cupom.codigo : } onchangecarrinho.instance.cupom {cupom_id: this.value} namecarrinho-cupom placeholderCUPOM DE DESCONTO /> `; if (!this._carrinho.cupom.codigo) { html_template + `div classinput-group-append> span classbtn font-weight-bold d-flex align-items-center justify-content-center text-white onclickcarrinho.instance.cupom {cupom_id: this.value} namecarrinho-cupom style-webkit-transform: none; width:100px; background-color: #94b623;>Aplicar/span> /div>`; } else if (this._carrinho.cupom.codigo) { html_template + `div classinput-group-append> span classbtn btn-danger font-weight-bold d-flex align-items-center justify-content-center onclickcarrinho.instance.cupom namecarrinho-cupom style-webkit-transform: none; width:100px;>Remover/span> /div>`; } html_template + ` /div> /div>`; /* html_template + ` /div> /div> div classinput-group align-items-center mt-4> div classlabl labl-success labl-background style position: relative; -ms-flex: 1 1 0%; flex: 1 1 0%; min-width: 0; margin-bottom: 0; > input typeradio required ${this.cashback_selecionado ? checked : } namecarrinho-cashback idcarrinho-cashback autocompleteoff value1> label forcarrinho-cashback class${this._carrinho.saldo_cashback 0 ? isDisabled : } card text-body my-1 styleheight:45px; background-color: #fff; border: 0 !important; border-bottom-right-radius: 0 !important; border-top-right-radius: 0 !important;> a classcard-body pt-2 pb-2 d-flex align-items-center justify-content-start> div> img classmr-3 srchttps://hiperzoo.com.br/media/outros/icon_cashback.png width30 height30> /div> div>`; if(!this.cashback_selecionado) { html_template + ` p classtext-limit-1 font-weight-bold font-xl stylecolor: #1cb05c !important;>Saldo de R$${this._carrinho.saldo_cashback} para pagamento/p>`; } if(this.cashback_selecionado) { html_template + ` p classtext-limit-1 font-weight-bold font-xl stylecolor: #1cb05c !important;>Saldo de R$${this._carrinho.saldo_cashback} para pagamento/p>`; } html_template + `/div> /a> /label> /div>`; if(!this.cashback_selecionado) { html_template + `div classinput-group-append styleheight:45px;> span classbtn btn-mundo-verde ${this._carrinho._saldo_cashback > 0 ? : isDisabled} font-weight-bold d-flex align-items-center text-white justify-content-center onclickcarrinho.instance.pagamento.cashback_selecionado ${this.cashback_selecionado ? : on}; namecarrinho-cupom style-webkit-transform: none; width:100px;>Usar Saldo/span> /div>`; } if(this.cashback_selecionado) { html_template + `div classinput-group-append styleheight:45px;> span classbtn btn-danger font-weight-bold d-flex align-items-center justify-content-center onclickcarrinho.instance.pagamento.cashback_selecionado ; namecarrinho-cupom style-webkit-transform: none; width:100px;>Remover/span> /div>`; } html_template + `/div> */ html_template + ` ${meus_pagamentos_template} ${tipo_pagamentos_template} /div>`; return html_template; } } PagamentoComponent.prototype._carregarPagamentos function() { this.meus_pagamentos ; this.tipos_pagamento ; let i 1; this.tipos_pagamento.push(new Pagamento(i, credito, Cartão de crédito, ecommerce/icones/cartao-credito.png, null, this)); i++; this.tipos_pagamento.push(new Pagamento(i, pix, Pix, ecommerce/icones/pix.png, null, this)); i++; $.ajax({ type: POST, url: /pagamento/atualizar/cartoes, data: { csrfmiddlewaretoken: 17s1iBwNobnxyf5AVLqBFGN01aOc56f4SqfFeT9OHm1lnCpq0Y5L6XET1LVXDFDi, tokens: this.tokens_temporarios }, success: (data) > { if (data.status) { let selecionado null; for (let count 1; count data.cartoes.length; count++) { const cartao data.cartoescount - 1; this.meus_pagamentos.push(new Pagamento(i, cartao.tipo_codigo, cartao.bandeira__nm_descritivo + ***** + cartao.ultimos_4, cartao.bandeira__imagem, cartao, this)); if (cartao.cartao_id this.cartao_adicionado) { selecionado i.toString(); } i++; } this._carregarTemplate(); if (selecionado ! null) { this.value selecionado; } this.cartao_adicionado null; } }, error: (data) > { } }); } PagamentoComponent.prototype._carregarTemplate function() { this._carrinho._carregarTemplate(); } PagamentoComponent.prototype._validacaoPagamento function() { if (this.cashback_selecionado && this._carrinho._saldo_cashback > this._carrinho._calculaVlrTotalFloat()) { return true; } else { if (!this.value) { toastr.error(Selecione uma forma de pagamento, Erro); } else if ((this.valueNotCashback.id credito || this.valueNotCashback.id debito || this.valueNotCashback.id auxilio) && !this.valueNotCashback.cartao.id) { //this.valueNotCashback.cartao.doPay(); return false; } else if (this.valueNotCashback.id convenio && (!this.valueNotCashback.convenio || !this.valueNotCashback.convenio.id)) { toastr.error(Selecione um convênio, Erro); return false; } else if (this.value) { return true; } } } function CarrinhoConfirmacao(qtd_produtos, pacotes, vlr_subtotal, vlr_frete, entrega, endereco, pagamento, cupom, informacoes_pbm, vlr_total) { this.qtd_produtos qtd_produtos; this.pacotes pacotes; this._vlr_subtotal vlr_subtotal; this._vlr_frete vlr_frete; this.endereco endereco; this.pagamento pagamento; this.informacoes_pbm informacoes_pbm; this.cupom cupom; this._vlr_total vlr_total; $(#carrinho-confirmacao).html(this.template); onToggleCarrinhoPopUp(open, #popupConfirmacao); let produtos ; for (const pacote of this.pacotes) { for (const { _produto } of pacote._produtos) { produtos.push({ id: _produto.produto_id, price: _produto.valor_ini, discount: _produto.valor_desc, item_name: _produto.produto__nm_ecommerce, promotion_name: _produto.descontoprodutopreco__desconto__tipo_id, quantidade: _produto.quantidade, currency: BRL, index: _produto.origem_posicao, item_list_name: _produto.origem_descricao, item_list_id: _produto.origem_descricao ? _produto.origem_descricao.toLowerCase().replace(/\s/g, _) : , }); } } filtroParaDadosAnaliticos(InitiateCheckout, { currency: BRL, value: this._vlr_total, coupon: this.cupom.codigo, items: produtos }); } CarrinhoConfirmacao.prototype { get qtd_pacotes() { return this.pacotes.length; }, get vlr_subtotal() { return parseFloat(this._vlr_subtotal).toLocaleFixed(2); }, get vlr_total() { return parseFloat(this._vlr_total).toLocaleFixed(2); }, get vlr_frete() { return parseFloat(this._vlr_frete).toLocaleFixed(2); }, get template() { let html_template ``; for (const pacote of this.pacotes) { html_template + ` div classrounded py-2 stylemargin-left:16px;margin-right:16px;> p classfont-weight-bold font-xl text-limit-1 stylefont-size:14px;margin-left:16px;margin-right:16px;>`; if (pacote.entrega._value.tipo_codigo retirada) { if(pacote.entrega._value.nome retirada){ html_template + ` Pct ${pacote.index} ( ${pacote.produtos.length} ite${pacote.produtos.length > 1 ? ns : m} ) - ${pacote.entrega._value.nome_descritivo} em ${title(pacote.entrega._value.filial.nm_filial)} `; } else { html_template + ` Pct ${pacote.index} ( ${pacote.produtos.length} ite${pacote.produtos.length > 1 ? ns : m} ) - ${pacote.entrega._value.nome_descritivo} em ${title(pacote.entrega._value.filial.endereco)}, ${pacote.entrega._value.filial.numero} - ${pacote.entrega._value.filial.bairro} `; } } else if (pacote.entrega._value.nome entrega_agendada || pacote.entrega._value.nome agendada_estoque_zero) { html_template + ` Pct ${pacote.index} ( ${pacote.produtos.length} ite${pacote.produtos.length > 1 ? ns : m} ) - ${pacote.entrega._value.nome_descritivo} - ${pacote.entrega._value._faixa_entrega.descricao_combobox.split(%quebralinha%)0 + + pacote.entrega._value._faixa_entrega.descricao_combobox.split(%quebralinha%)1} `; } else { html_template + ` Pct ${pacote.index} ( ${pacote.produtos.length} ite${pacote.produtos.length > 1 ? ns : m} ) - ${pacote.entrega._value.nome_descritivo} `; } html_template + ` /p> `; if(carrinho.instance._mensagempacote.index - 1){ html_template + ` p classtext-danger stylemargin-left:16px;margin-right:16px;font-size: 13px !important;> ${carrinho.instance._mensagempacote.index - 1} /p> /div>` } else { html_template + `/div>` } } let html_pagamento ``; for(const pay of this.pagamento){ html_pagamento + ` div classd-flex align-items-center mt-1 stylefont-size:13px;margin-left:16px;margin-right:16px;> img width40 classmr-2 altpagamento src/media/${pay.imagem}/> div> p classfont-weight-semibold> ${pay.nome_descritivo} /p> p classsmall text-muted> ${pay.qtd_parcelas}x R$${(pay._vlr_total / parseFloat(pay.qtd_parcelas)).toLocaleFixed(2)} /p> /div> /div> `; } let html_cashback ``; if (this.pagamento0._pagamentos._carrinho._vlr_cashback > 0){ html_cashback + ` p classfont-weight-bold mt-3 stylecolor:#1cb05c !important;font-size:13px;margin-left:16px;margin-right:16px;> Você receberá R$${this.pagamento0._pagamentos._carrinho.vlr_cashback} de dinheiro de volta por essa compra /p> `; } let template_retorno ` div classmt-3 stylemargin-left:16px;margin-right:16px;> p classfont-weight-bold font-xl stylefont-size:14px;>${this.qtd_produtos} Produto${this.qtd_produtos 1 ? : s}/p> p classfont-weight-semibold stylefont-size:13px;>Dividido${this.qtd_pacotes 1 ? : s} em ${this.qtd_pacotes} pacote${this.qtd_pacotes 1 ? : s}/p> /div> ${html_template} `; for (const pacote of this.pacotes) { if(pacote.index 1){ if(pacote.entrega._value.tipo_codigo retirada || pacote.entrega._value.nome entrega_agendada || pacote.entrega._value.nome agendada_estoque_zero){ } else { template_retorno + `div classmt-2 pt-2> p classfont-weight-bold font-xl stylefont-size:14px;margin-left:16px;margin-right:16px;>Endereço/p> div classd-flex align-items-center mt-1 stylefont-size:13px;margin-left:16px;margin-right:16px;> img alticone width40 height40 classmr-3 src/staticfiles/img/icons/pin-localizacao.svg> div> p classfont-weight-bold text-nowrap small>${this.endereco.apelido}/p> p classtext-nowrap small>${this.endereco.endereco}/p> p classtext-nowrap small>${this.endereco.municipio}/p> /div> /div> /div>`; } } } template_retorno + `div classmt-2 pt-2 styleborder-top: 2px solid var(--light); > p classfont-weight-bold font-xl stylefont-size:14px;margin-left:16px;margin-right:16px;>Forma de Pagamento/p> ${html_pagamento} ${html_cashback} /div> div classmt-3 pt-2 styleborder-top: 2px solid var(--light);> div classd-flex align-items-center justify-content-between font-weight-semibold small stylemargin-left:16px;margin-right:16px;> span>Quantidade:/span> span>${this.qtd_produtos} Ite${this.qtd_produtos 1 ? m : ns}/span> /div> div classd-flex align-items-center justify-content-between font-weight-semibold small stylemargin-left:16px;margin-right:16px;> span>Subtotal:/span> span>R$ ${this.vlr_subtotal}/span> /div> div classd-flex align-items-center justify-content-between font-weight-semibold small stylemargin-left:16px;margin-right:16px;> span>Frete:/span> span>R$ ${this.vlr_frete}/span> /div>`; if (this.cupom.vlr_cupom) { template_retorno + ` div classd-flex align-items-center justify-content-between font-weight-semibold small stylemargin-left:16px;margin-right:16px;> span>Desconto:/span> span>R$ ${parseFloat(this.cupom.vlr_cupom).toLocaleFixed(2)}/span> /div> `; } template_retorno + `div classd-flex align-items-center justify-content-between font-xl font-weight-bold py-2 stylemargin-left:16px;margin-right:16px;> span>Total:/span> span classtext-warning>R$${this.vlr_total}/span> /div> /div> div classmt-3> a classbtn btn-warning text-white py-2 w-100 onclickcarrinho.instance.popupConfirmacao._confirmar()> article> span classfont-weight-bold text-nowrap font-xl>Finalizar Compra/span> /article> /a> /div> `; return template_retorno; } } CarrinhoConfirmacao.prototype._confirmar function() { toastr.options.target null; const pacotes ; var endereco $.extend(true, {}, this.endereco); delete endereco._enderecos; endereco removeTemplates(endereco); for (const pacote of this.pacotes) { const _pacote $.extend(true, {}, pacote); delete _pacote._carrinho; delete _pacote.filial; delete _pacote.entregas; delete _pacote.produtos; const entrega $.extend(true, {}, _pacote.entrega); delete entrega._pacote; delete entrega.value; delete entrega.entregasDoTipo; delete entrega._entregasDoTipo; delete entrega.entregas; delete entrega._tipo_entrega; delete entrega.filial; _pacote.entrega entrega; const entregaValor $.extend(true, {}, _pacote.entrega._value); delete entregaValor._entrega_component; _pacote.entrega._value entregaValor; if (_pacote.entrega._value.entrega_complemento) { const entregaComplemento $.extend(true, {}, _pacote.entrega._value.entrega_complemento); delete entregaComplemento._entrega; _pacote.entrega._value.entrega_complemento entregaComplemento; } const _produtos ; for (const produto of pacote._produtos) { const _produto $.extend(true, {}, produto); delete _produto._pacote; _produtos.push(_produto); } _pacote._produtos _produtos; pacotes.push(removeTemplates(_pacote)); } const pagamentos ; for (const pay of this.pagamento) { const payment $.extend(true, {}, pay); delete payment._pagamentos; delete payment._carrinho; delete payment._meus_pagamentos; delete payment._tipos_pagamento; if(payment.convenio){ delete payment.convenio._pagamento } if (payment.cartao) { delete payment.cartao._pagamento; } pagamentos.push(removeTemplates(payment)); } toastr.options.target body; load(on, $(#popupConfirmacao)); $.ajax({ type: POST, url: /pedido/fazer, data: { csrfmiddlewaretoken: 17s1iBwNobnxyf5AVLqBFGN01aOc56f4SqfFeT9OHm1lnCpq0Y5L6XET1LVXDFDi, lista_pacotes: JSON.stringify(pacotes), endereco: JSON.stringify(endereco), pagamento: JSON.stringify(pagamentos), cupom: JSON.stringify(this.cupom), informacoes_pbm: JSON.stringify(this.informacoes_pbm), origin: originCarrinho ? originCarrinho : }, success: (data) > { if (data) { if (data.status true) { if (data.ultimo_status_pagamento pedido_pendente || data.ultimo_status_pagamento pagamento_pendente) { let produtos ; for (const pacote of this.pacotes) { for (const { _produto } of pacote._produtos) { produtos.push({ id: _produto.produto_id, price: _produto.valor_ini, discount: _produto.valor_desc, item_name: _produto.produto__nm_ecommerce, promotion_name: _produto.descontoprodutopreco__desconto__tipo_id, quantidade: _produto.quantidade, currency: BRL, index: _produto.origem_posicao, item_list_name: _produto.origem_descricao, item_list_id: _produto.origem_descricao ? _produto.origem_descricao.toLowerCase().replace(/\s/g, _) : , }); } } filtroParaDadosAnaliticos(Purchase, { currency: BRL, value: parseFloat($(data-targetcarrinho-vlr_total).first().text().replace(/\./g, ).replace(/,/g, .).replace(R$ , )), items: produtos, tax: 0.0, affiliation: Online Store, coupon: $(#carrinho-desconto-cupom).val(), transaction_id: data.pedido_id }) } document.location.href /cliente/pedido/0.replace(0, data.pedido_hash); } else { load(off, $(#popupConfirmacao)); toastr.error(data.descricao, Erro); if(pagamentos && pagamentos.length > 0 && pagamentos0.id credito){ Mercadopago.clearSession() let $form document.querySelector(#pay_fast); Mercadopago.createToken($form, pegarTokenSeForCartao); } } } }, error: (data) > { load(off, $(#popupConfirmacao)); } }); } function CarrinhoComponent() { this.id null; this.passoAtual entregas; this.endereco new EnderecoComponent(); this.pagamento new PagamentoComponent(this); this._atualizarCarrinho(); this._index null this._mensagem this._petsCart() } CarrinhoComponent.prototype { get valid() { return this._validacaoEndereco() && this._validacaoPacotes() && this.pagamento.valid; }, get passos() { return { nome: entregas, valid: () > { return this._validacaoEndereco() && this._validacaoPacotes() && this._validacaoReceita(); }, progresso: () > { return this._validacaoPacotes() ? 75 : 25 }, texto: () > { if(False True){ return this._validacaoPacotes() ? Continuar : Escolher Entrega; } else { return Entrar ou Cadastrar; } } }, { nome: pagamentos, valid: () > { return this.pagamento.valid; }, texto: () > { return Finalizar Compra; }, progresso: () > { return 100 } } ; }, get saldo_cashback() { return this._saldo_cashback ? this._saldo_cashback.toLocaleFixed(2) : (0).toLocaleFixed(2); }, set saldo_cashback(value) { this._saldo_cashback +value > 0 ? +value : 0; }, get vlr_cashback() { return this._vlr_cashback && this._vlr_cashback.toLocaleFixed(2) ? this._vlr_cashback.toLocaleFixed(2) : (0).toLocaleFixed(2); }, set vlr_cashback(value) { this._vlr_cashback +value; }, get cupom() { return this._cupom; }, set cupom(value) { if (value?.cupom_id) { const pacotes ; var endereco $.extend(true, {}, this.endereco.value); delete endereco._enderecos; endereco removeTemplates(endereco); for (const pacote of this.pacotes) { const _pacote $.extend(true, {}, pacote); delete _pacote._carrinho; delete _pacote.filial; delete _pacote.entregas; delete _pacote.produtos; const entrega $.extend(true, {}, _pacote.entrega); delete entrega.value; delete entrega._pacote; delete entrega.entregasDoTipo; delete entrega._entregasDoTipo; delete entrega.entregas; delete entrega._tipo_entrega; delete entrega.filial; _pacote.entrega entrega; const entregaValor $.extend(true, {}, _pacote.entrega._value); delete entregaValor._entrega_component; _pacote.entrega._value entregaValor; if (_pacote.entrega._value.entrega_complemento) { const entregaComplemento $.extend(true, {}, _pacote.entrega._value.entrega_complemento); delete entregaComplemento._entrega; _pacote.entrega._value.entrega_complemento entregaComplemento; } const _produtos ; for (const produto of pacote._produtos) { const _produto $.extend(true, {}, produto); delete _produto._pacote; _produtos.push(_produto); } _pacote._produtos _produtos; pacotes.push(removeTemplates(_pacote)); } const pagamentos ; if(this.pagamento && this.pagamento.value && this.pagamento.value.length > 0){ for (const pay of this.pagamento.value) { const payment $.extend(true, {}, pay); delete payment._pagamentos; delete payment._carrinho; delete payment._meus_pagamentos; delete payment._tipos_pagamento; if (payment.cartao) { delete payment.cartao._pagamento; } pagamentos.push(removeTemplates(payment)); } } load(on, $(.asidebar)); $.ajax({ type: POST, url: /cupom/validar, data: { csrfmiddlewaretoken: 17s1iBwNobnxyf5AVLqBFGN01aOc56f4SqfFeT9OHm1lnCpq0Y5L6XET1LVXDFDi, lista_pacotes: JSON.stringify(pacotes), endereco: JSON.stringify(endereco), pagamento: JSON.stringify(pagamentos), cupom: JSON.stringify(value) }, success: (data) > { load(off, $(.asidebar)); if (data.status) { this._cupom { codigo: data.codigo, cupom_id: data.cupom_id, vlr_cupom: data.vlr_cupom, is_frete_gratis: data.is_frete_gratis, pacotes: data.pacotes }; } else { toastr.error(data.descricao, Erro); } for (const pacote of carrinho.instance.pacotes) { pacote.entrega._logicaFrete() } this._carregarTemplate(); }, error: (data) > { load(off, $(.asidebar)); } }); } else { this._cupom { cupom_id: , codigo: , vlr_cupom: 0, is_frete_gratis: false, pacotes: , }; for (const pacote of carrinho.instance.pacotes) { pacote.entrega._logicaFrete() } this._carregarTemplate(); } }, get passoAtual() { return this._passoAtual; }, set passoAtual(value) { this._passoAtual value; this._atualizarProgressoCarrinho(); }, get pacotes() { return this._pacotes; }, set pacotes(value) { const packages ; for (const index in value) { const pac valueindex; let i parseFloat(index) + 1; packages.push(new Pacote(i, i, pac.produtos, pac.entregas, pac.completo, this)); } this._pacotes packages; this._carregarTemplate(); }, get qtd_itens() { return this._qtd_itens; }, set qtd_itens(value) { this._qtd_itens value; this._carregarTemplate(); }, get vlr_subtotal() { return this._vlr_subtotal; }, set vlr_subtotal(value) { if (value) { if (value ! this.value) { this._vlr_subtotal parseFloat(value); } } else { this._vlr_subtotal 0; } this._carregarTemplate(); }, get entrega_alterada() { return this._entrega_alterada; }, set entrega_alterada(value) { this._entrega_alterada value; }, get vlr_frete() { let f 0; let entregas ; this.pacotes ? this.pacotes.map(({ entrega }) > { if(entrega && entrega.value){ if (entrega.value._vlr_frete) { f + +entrega.value._vlr_frete; } entregas.push({ price: entrega.value._vlr_frete ? entrega.value._vlr_frete : 0, item_id: entrega.value.nome ? entrega.value.nome : , item_name: entrega.value.nome_descritivo ? entrega.value.nome_descritivo : , currency: BRL, }); } }) : ; if (entregas.length > 0 && this.entrega_alterada) { this.entrega_alterada false; filtroParaDadosAnaliticos(AddShippingInfo, { value: f, currency: BRL, coupon: this.cupom && this.cupom.codigo ? this.cupom.codigo : , items: entregas, }); } return f; }, get vlr_frete_gratis() { return this._vlr_frete_gratis; }, set vlr_frete_gratis(value) { this._vlr_frete_gratis value; this._carregarTemplate(); }, get vlr_restante_frete_gratis() { return this._calculaRestanteFreteGratis(); }, get perc_restante_frete_gratis() { return this._calculaPercentualFreteGratis(); }, get texto_frete_gratis() { if (this.vlr_restante_frete_gratis > 0) { return `Faltam apenas span classfont-weight-semibold text-danger>R$ ${parseFloat(this.vlr_restante_frete_gratis).toLocaleFixed(2)}/span> para span classfont-weight-bold text-danger>Frete Grátis/span> na Entrega`; } else { return `Parabéns seu Frete é span classfont-weight-semibold text-danger>GRÁTIS */span>`; } }, get vlr_total_calculado() { return this._calculaVlrTotal(); }, get informacoes_pbm() { return this._informacoes_pbm; }, set informacoes_pbm(value) { this._informacoes_pbm value; }, get pacotes_juntos() { return this._pacotes_juntos; }, set pacotes_juntos(value) { this._pacotes_juntos value; this._atualizarCarrinho(); }, get index() { return this._index }, set index(value) { this._index value }, get mensagem() { return this._mensagem }, set mensagem(value) { this._mensagemthis._index value }, get popupConfirmacao() { return this._popupConfirmacao; }, set popupConfirmacao(value) { this._popupConfirmacao value; }, set submit_retirada_por_terceiro(value) { this._submit_retirada_por_terceiro value ? value : false }, get is_controlado() { return this._is_controlado }, set is_controlado(value) { this._is_controlado value }, get receitas(){ return this._receitas }, set receitas(value) { this._receitas value }, get is_validar_receita(){ return this._is_validar_receita }, set is_validar_receita(value) { this._is_validar_receita value }, get is_validar_controlado(){ return this._is_validar_controlado }, set is_validar_controlado(value){ this._is_validar_controlado value }, get is_formulario_cartao_construido(){ return this._is_formulario_cartao_construido }, set is_formulario_cartao_construido(value){ this._is_formulario_cartao_construido value }, get template() { if (this.passoAtual this.passos0.nome) { let html_template ``; if(this.pacotes){ html_template $.map(this.pacotes, (elem) > { return elem.template; }).join(); } if (this.pacotes && this.pacotes.length > 0) { if (this.pacotes.length > 1 || this.pacotes_juntos) { html_template + ` div classlabl labl-background px-3> input typeradio required ${this.pacotes_juntos ? checked : } namecarrinho-juntar-pacotes onclickcarrinho.instance.pacotes_juntos ${this.pacotes_juntos ? : on}; carrinho.instance._index null; carrinho.instance._mensagem ; idcarrinho-juntar-pacotes autocompleteoff value1> label forcarrinho-juntar-pacotes classcard text-body my-1 styleheight:60px; background-color: #fff; border: 2px solid var(--primary) !important;> a classcard-body pt-2 pb-2 d-flex align-items-center justify-content-center text-center> div> p classtext-danger text-limit-1 font-weight-semibold>Juntar tudo em um pacote/p> p classfont-weight-semibold text-body text-limit-1>(pode aumentar o prazo de entrega)/p> /div> /a> /label> /div>`; } html_template + `p classmt-3 text-center text-muted cursor-pointer font-weight-semibold onclickonToggleCarrinhoPopUp(open, #popupInformacaoPacote);> span onclickonToggleCarrinhoPopUp(open, #popupInformacaoPacote);>img src/staticfiles/img/icons/icon_informacao.svg height20 width20 altINFO>/span> Saiba mais sobre seu pedido /p> `; } if (!html_template) { html_template ` div classrow> div classcol-12 px-0 overflow-hidden idcarrinho-lista_produtos> div classrow mt-3> div classcol-12 text-center> span classfont-xl font-weight-bold>Sua cesta está vazia/span> p classmt-2 text-muted font-weight-bolder small>Adicione produtos à sua cesta e eles aparecerão aqui./p> /div> div classcol>/div> div classcol-6 mt-5> img src/staticfiles/img/carrinho/carrinho-empty.svg classw-100 width160 heightauto stylemax-height:calc( 100vh - 26.25rem) !important; altcarrinho empty> /div> div classcol>/div> /div> /div> /div> `; } // Pacotes return html_template; } else if (this.passoAtual this.passos1.nome) { // Pagamento return this.pagamento.template; } } }; CarrinhoComponent.prototype._calculaVlrTotalFloat function () { const vlrSubTotal +this.vlr_subtotal ? +this.vlr_subtotal : 0; const vlrFrete +this.vlr_frete ? +this.vlr_frete : 0; const vlrCupom this.cupom && this.cupom.vlr_cupom ? this.cupom.vlr_cupom : 0; const calculo1 vlrSubTotal + vlrFrete; const calculo2 calculo1 - vlrCupom; return calculo2; }, CarrinhoComponent.prototype._petsCart function () { var _this this $.ajax({ type: GET, url: /carrinho/pet/buscar, data: { cpf: cpfFormatado }, success: (dados) > { _this.petsCarrinho dados.pets }, error: (data) > { load(off, $(.asidebar)); toastr.error(Ocorreu um erro ao procurar seus pets., Erro ao enviar); } }); }, CarrinhoComponent.prototype._calculaVlrTotal function () { return this._calculaVlrTotalFloat().toLocaleFixed(2) ? this._calculaVlrTotalFloat().toLocaleFixed(2) : (0).toLocaleFixed(2); }, CarrinhoComponent.prototype._calculaRestanteFreteGratis function () { const calculo +this.vlr_frete_gratis - +this.vlr_subtotal return calculo > 0 ? calculo : 0 }, CarrinhoComponent.prototype._calculaPercentualFreteGratis function () { //return (+this.vlr_frete_gratis * +this.vlr_subtotal) / 100 > 100 ? 100 : (+this.vlr_frete_gratis * +this.vlr_subtotal) / 100; return (+this.vlr_subtotal / +this.vlr_frete_gratis) * 100 > 100 ? 100 : (+this.vlr_subtotal / +this.vlr_frete_gratis) * 100 }, CarrinhoComponent.prototype._atualizarCashback function () { /* load(on, $(.asidebar)); $.ajax({ type: POST, url: /cashback/buscar, data: { csrfmiddlewaretoken: 17s1iBwNobnxyf5AVLqBFGN01aOc56f4SqfFeT9OHm1lnCpq0Y5L6XET1LVXDFDi }, success: (data) > { load(off, $(.asidebar)); this.saldo_cashback data.valor; }, error: (data) > { load(off, $(.asidebar)); } }); if (this.pacotes.length > 0) { const pacotes ; var endereco $.extend(true, {}, this.endereco.value); delete endereco._enderecos; endereco removeTemplates(endereco); for (const pacote of this.pacotes) { const _pacote $.extend(true, {}, pacote); delete _pacote._carrinho; delete _pacote.filial; delete _pacote.entregas; delete _pacote.produtos; const entrega $.extend(true, {}, _pacote.entrega); delete entrega.value; delete entrega._pacote; delete entrega.entregasDoTipo; delete entrega._entregasDoTipo; delete entrega.entregas; delete entrega._tipo_entrega; delete entrega.filial; _pacote.entrega entrega; const entregaValor $.extend(true, {}, _pacote.entrega._value); delete entregaValor._entrega_component; _pacote.entrega._value entregaValor; if (_pacote.entrega._value.entrega_complemento) { const entregaComplemento $.extend(true, {}, _pacote.entrega._value.entrega_complemento); delete entregaComplemento._entrega; _pacote.entrega._value.entrega_complemento entregaComplemento; } const _produtos ; for (const produto of pacote._produtos) { const _produto $.extend(true, {}, produto); delete _produto._pacote; _produtos.push(_produto); } _pacote._produtos _produtos; pacotes.push(removeTemplates(_pacote)); } const pagamentos ; if (this.pagamento && this.pagamento.value && this.pagamento.value.length > 0) { for (const pay of this.pagamento.value) { const payment $.extend(true, {}, pay); delete payment._pagamentos; delete payment._carrinho; delete payment._meus_pagamentos; delete payment._tipos_pagamento; if (payment.cartao) { delete payment.cartao._pagamento; } pagamentos.push(removeTemplates(payment)); } } $.ajax({ type: POST, url: /cashback/calcular, data: { csrfmiddlewaretoken: 17s1iBwNobnxyf5AVLqBFGN01aOc56f4SqfFeT9OHm1lnCpq0Y5L6XET1LVXDFDi, lista_pacotes: JSON.stringify(pacotes), endereco: JSON.stringify(endereco), pagamento: JSON.stringify(pagamentos), cupom: JSON.stringify(this.cupom) }, success: (data) > { load(off, $(.asidebar)); this.vlr_cashback data.valor; this._carregarTemplate(); }, error: (data) > { load(off, $(.asidebar)); } }); } else { this.vlr_cashback 0; this._carregarTemplate(); } */ }, CarrinhoComponent.prototype._atualizarCarrinho function () { load(on, $(.asidebar)); if (this.endpointPacotes) { this.endpointPacotes.abort(); } this.endpointPacotes $.ajax({ type: POST, url: /entrega/buscar/pacotes, data: { csrfmiddlewaretoken: 17s1iBwNobnxyf5AVLqBFGN01aOc56f4SqfFeT9OHm1lnCpq0Y5L6XET1LVXDFDi, cep: this.endereco.value && this.endereco.value.cep ? this.endereco.value.cep : , endereco_id: this.endereco.value && this.endereco.value.id ? this.endereco.value.id : , is_pacote_unico: this.pacotes_juntos, is_validar_controlado: this.is_validar_controlado }, success: (response_pacotes) > { carrinho.instance.mensagem ; this.endpointPacotes null; load(off, $(.asidebar)); this.id response_pacotes.carrinho_id; this.qtd_itens response_pacotes.qtd_itens; this.vlr_subtotal +response_pacotes.subtotal_valor; this.vlr_frete_gratis response_pacotes.valor_frete_gratis; this.is_controlado response_pacotes.is_controlado; this.is_validar_receita response_pacotes.validar_receitas; this.informacoes_pbm response_pacotes.informacoes_pbm; this.pacotes response_pacotes.pacotes; if (this.passoAtual pagamentos) { this._passoAtual entregas; this._carregarTemplate(); } this._atualizarCashback(); if(this.is_validar_receita){ this._atualizarListaReceitas(); } else { this.receitas } if(!this.is_controlado){ this.receitas } if(response_pacotes.pacotes && response_pacotes.pacotes.length){ for(let i in response_pacotes.pacotes){ if(response_pacotes.pacotesi.mensagem){ carrinho.instance.mensagemi response_pacotes.pacotesi.mensagem } else { carrinho.instance.mensagemi } } } if(this.cupom){ this.cupom {cupom_id:this.cupom.codigo}; } }, error: (data) > { load(off, $(.asidebar)); } }); }, CarrinhoComponent.prototype._validacaoDosPassos async function () { if (this.passoAtual pagamentos && this.valid) { this.popupConfirmacao new CarrinhoConfirmacao(this.qtd_itens, this.pacotes, this.vlr_subtotal, this.vlr_frete, null, this.endereco.value, this.pagamento.value, this.cupom, this.informacoes_pbm, this._calculaVlrTotalFloat()); } else { for (const index in this.passos) { if (this.passoAtual this.passosindex.nome) { if (await this.passosindex.valid()) { if (this.passosparseFloat(index) + 1.nome) { this.passoAtual this.passosparseFloat(index) + 1.nome; break; } } } } this._carregarTemplate(); this._atualizarProgressoCarrinho(); } }, CarrinhoComponent.prototype._validacaoPacotes function () { let packValid true; let isValid this.pacotes && this.pacotes.length > 0 ? $.map(this.pacotes, (pacote) > { if (packValid) { packValid pacote.valid; if (!packValid) { carrinho.instance.pacotespacote.index - 1.entrega._carregarTemplate(); onToggleCarrinhoPopUp(open, #popupEntrega); return pacote.valid; } } }) : false; if (this.pacotes && this.pacotes.length > 0) { isValid packValid; } else { isValid false; } return isValid0; }, CarrinhoComponent.prototype._validacaoEndereco function () { if (this.endereco.valid) { return true; } else { onToggleCarrinhoPopUp(open, #popupEndereco); return false; } }, CarrinhoComponent.prototype._validacaoReceita async function () { if(!this.is_controlado){ return true } else { if(await carrinho.instance._validarTipoEntregaPorReceita()){ return true; } else { return false; } } }, CarrinhoComponent.prototype._carregarTemplate function () { $(#carrinho-itens).html(this.qtd_itens > 0 ? ( + this.qtd_itens + (this.qtd_itens > 1 ? itens) : item)) : (Vazio)); $(data-targetcarrinho-vlr_cashback).html(R$ + this.vlr_cashback); $(data-targetcarrinho-vlr_total).html(R$ + this.vlr_total_calculado); $(#carrinho-frete-gratis).html(this.texto_frete_gratis); $(data-targetcarrinho-restante_frete_bar).css(width, this.perc_restante_frete_gratis + %); $(#carrinho-body).html(this.template); $(.asidebar).find(select).each(function (e, a) { var r $(.asidebar); a && $(a).select2({ theme: bootstrap, dropdownParent: r, minimumResultsForSearch: -1 }) }); if (this.qtd_itens > 0) { $(.btn-market).addClass(contain_item).removeClass(d-none).attr(data-content, this.qtd_itens); } else { $(.btn-market).removeClass(contain_item) } if (this.pagamento && this.pagamento.valueNotCashback && this.pagamento.valueNotCashback.cartao && this.pagamento.valueNotCashback.cartao.tipo){ if(!this.is_formulario_cartao_construido || this.is_formulario_cartao_construido undefined){ load(on, $(.asidebar)); this.is_formulario_cartao_construido true eventosCartao(); setTimeout(() > { try { this.pagamento.valueNotCashback.cartao.desconstruirFormMP() } catch (error) { load(off, $(.asidebar)); } setTimeout(() > { try { this.pagamento.valueNotCashback.cartao.construirFormMP() } catch (error) { load(off, $(.asidebar)); } }, 250); }, 500); } } $(#carrinho-botao-finalizar).off(click.cart).on(click.cart, () > { window.location.href /cliente/login; }); $(#carrinho-continuar-entrega).off(click.cart).on(click.cart, () > { const isValid this._validacaoPacotes(); if (isValid) { this._atualizarProgressoCarrinho(); blackPanel(document.getElementById(carrinho_desfoco)); } }); $(.carregar-pet).on(click,function(){ let elTarget $(this).attr(data-target-collapse) let statusElTarget $(elTarget).is(:visible) if(statusElTarget) $(elTarget).hide(500) if(!statusElTarget) $(elTarget).show(500) }) }, CarrinhoComponent.prototype._atualizarProgressoCarrinho function () { var textoBotao Escolher Entrega; let pas $.map(this.passos, (passo) > { if (this.passoAtual passo.nome) { textoBotao passo.texto(); } return passo.nome; }) const perc this.passospas.indexOf(this.passoAtual).progresso(); $(#carrinho-botao-finalizar).html(`article>span classfont-weight-bold text-nowrap font-xl>${textoBotao}/span>/article>`); if (this.passoAtual ! entregas) { $(data-targetcarrinho-resumo-endereco).addClass(d-none).removeClass(d-flex); $(#carrinho-voltar-entrega).removeClass(d-none).off(click.cart).on(click.cart, () > { this.passoAtual entregas; this._carregarTemplate(); }); } else { $(data-targetcarrinho-resumo-endereco).removeClass(d-none).addClass(d-flex); $(#carrinho-voltar-entrega).addClass(d-none).off(click.cart); } $(data-targetcarrinho-progresso).css(width, perc + %); }, CarrinhoComponent.prototype._mensagemTempoDeEntrega function (pacote_entrega) { const index_pct $(#carrinho-tipo-entregas).attr(data-pacote-ativo) - 1; const _entregas pacote_entregaindex_pct.entrega._value.dadosComplemento; let carrinho pacote_entregaindex_pct._carrinho; pacote_entregaindex_pct._carrinho.index index_pct; $.ajax({ type: POST, url: /alerta/horarios, data: { csrfmiddlewaretoken: 17s1iBwNobnxyf5AVLqBFGN01aOc56f4SqfFeT9OHm1lnCpq0Y5L6XET1LVXDFDi, cd_filial: _entregas && _entregas.filial && _entregas.filial.cd_filial ? _entregas.filial.cd_filial : , tempo_entrega: _entregas.tempo, tipo: _entregas.tipo_codigo, tempo_limite: _entregas.hora_limite, hr_inicio: _entregas.hr_inicio, entrega_id: _entregas.nome, is_mensagem_horario: _entregas.is_mensagem_horario, }, success: function (response) { if(response.status){ pacote_entregaindex_pct._carrinho.mensagemindex_pct response.mensagem; $(#msg-tempo-entrega- + index_pct).html(response.mensagem); $(#msg-tempo-entrega- + index_pct).parent().show(300); } else { pacote_entregaindex_pct._carrinho.mensagemindex_pct ; $(#msg-tempo-entrega- + index_pct).parent().hide(300); } }, error: function (response) { pacote_entregaindex_pct._carrinho.mensagemindex_pct ; } }); }, CarrinhoComponent.prototype._alterarEstoqueProdutoRetirada function(pacote){ let tipo_retirada carrinho.instance.pacotespacote.entrega && carrinho.instance.pacotespacote.entrega._value && carrinho.instance.pacotespacote.entrega._value.tipo_codigo ? carrinho.instance.pacotespacote.entrega._value.tipo_codigo : if(tipo_retirada retirada) { let estoque_filial carrinho.instance.pacotespacote.entrega._value && carrinho.instance.pacotespacote.entrega._value._filial && carrinho.instance.pacotespacote.entrega._value._filial.produtos ? carrinho.instance.pacotespacote.entrega._value._filial.produtos : carrinho.instance.pacotespacote._produtos.forEach(produto > { let item estoque_filial.findIndex(estoque > estoque.produto_id produto.produto_id) produto._produto.qtd_estoque item > -1 ? estoque_filialitem.qtd_estoque : produto.estoque_original }) } else { carrinho.instance.pacotespacote._produtos.forEach(produto > { produto._produto.qtd_estoque produto.estoque_original }) } }, CarrinhoComponent.prototype._atualizarListaReceitas function () { return load(on, $(.asidebar)); $.ajax({ type: POST, url: , data: { csrfmiddlewaretoken: 17s1iBwNobnxyf5AVLqBFGN01aOc56f4SqfFeT9OHm1lnCpq0Y5L6XET1LVXDFDi, }, success: (data) > { load(off, $(.asidebar)); this.receitas data.receitas; let form_envio_receita $(#form_envio_receita) if(data.receitas && data.receitas.length){ $(form_envio_receita).find(namereceita-tipo).parent().parent().removeClass(col-md-6).addClass(col-md-4) $(form_envio_receita).find(namereceita-tipo).parent().parent().show(300) $(form_envio_receita).find(namereceita-tipo).next().css(height, 70px) } else { $(form_envio_receita).find(namereceita-tipo).parent().parent().removeClass(col-md-4).addClass(col-md-6) $(form_envio_receita).find(namereceita-tipo).last().parent().parent().hide(300) $(form_envio_receita).find(namereceita-tipo).next().css(height, 50px) } this._carregarTemplate(); }, error: (data) > { load(off, $(.asidebar)); } }); }, CarrinhoComponent.prototype._validarTipoEntregaPorReceita async function () { return return new Promise(function(resolve, reject) { load(on, $(.asidebar)); let json_pacotes let lista_pacotes carrinho.instance.pacotes if(lista_pacotes && lista_pacotes.length){ lista_pacotes.forEach(pct > { if(pct.produtos && pct.produtos.length){ pct.produtos.forEach(prod > { delete prod._pacote delete prod.template }); } json_pacotes.push({ pacote: +pct.index - 1, produtos: pct.produtos, tipo_entrega: pct.entrega ? pct.entrega.tipo_entrega : , }) }) } $.ajax({ type: POST, url: , data: { csrfmiddlewaretoken: 17s1iBwNobnxyf5AVLqBFGN01aOc56f4SqfFeT9OHm1lnCpq0Y5L6XET1LVXDFDi, pacotes: JSON.stringify(json_pacotes), }, success: (data) > { if(data.status){ carrinho.instance.is_validar_controlado load(off, $(.asidebar)); } else { toastr.error(Sua cesta contém um produto com venda controlada. Insira uma nova receita ou selecione uma opção de entrega do tipo Compre e retire para prosseguir., Atenção); carrinho.instance.is_validar_controlado true carrinho.instance._atualizarCarrinho(); } resolve(data.status); }, error: (data) > { load(off, $(.asidebar)); if(this.receitas && this.receitas.length){ resolve(true); } else { resolve(false); } } }); }) }, CarrinhoComponent.prototype._excluirReceita function (receita_id) { return load(on, $(.asidebar)); $.ajax({ type: POST, url: , data: { csrfmiddlewaretoken: 17s1iBwNobnxyf5AVLqBFGN01aOc56f4SqfFeT9OHm1lnCpq0Y5L6XET1LVXDFDi, receita_id: receita_id, }, success: (data) > { if(data.status){ if(this.receitas && this.receitas.length){ let index this.receitas.findIndex(val > val.id receita_id) index > -1 ? this.receitas.splice(index, 1) : } this._atualizarCarrinho(); } else { toastr.error(data.descricao ? data.descricao : Ocorreu um erro interno ao realizar a exclusão da receita, Erro); load(off, $(.asidebar)); } }, error: (data) > { toastr.error(Ocorreu um erro interno ao realizar a exclusão da receita, Erro); load(off, $(.asidebar)); } }); }, CarrinhoComponent.prototype._visualizarReceita async function () { let form_upload_receita_carrinho $(#form_upload_receita_carrinho) let dat_nasc + - + + - + if(dat_nasc){ dat_nasc moment(dat_nasc, YYYY-MM-DD).format(DD/MM/YYYY) $(form_upload_receita_carrinho).find(namedat_nasc).val(dat_nasc) } filepond_receita_carrinho(false) await getEstados($(#form_upload_receita_carrinho), $(.asidebar)) $(form_upload_receita_carrinho).find(namereceita-tipo).off(change).on(change, function(e){ if($(form_upload_receita_carrinho).hasClass(was-validated)){ $(form_upload_receita_carrinho).find(.labl).children(input).addClass(is-valid) } $(form_upload_receita_carrinho).find(namereceita_numero_token).val() $(#receita_anexo_carrinho).filepond(removeFiles) let forma_envio $(this).val() if(forma_envio token){ $(form_upload_receita_carrinho).find(namebloco_receita_digital).show(300) $(form_upload_receita_carrinho).find(namebloco_receita_anexo).hide(300) $(form_upload_receita_carrinho).find(namereceita_numero_token).attr(required, true) filepond_receita_carrinho(false) } else if(forma_envio path_receita){ $(form_upload_receita_carrinho).find(namebloco_receita_anexo).show(300) $(form_upload_receita_carrinho).find(namebloco_receita_digital).hide(300) $(form_upload_receita_carrinho).find(namereceita_numero_token).attr(required, false) filepond_receita_carrinho(true) } else { $(form_upload_receita_carrinho).find(namebloco_receita_anexo).hide(300) $(form_upload_receita_carrinho).find(namebloco_receita_digital).hide(300) $(form_upload_receita_carrinho).find(namereceita_numero_token).attr(required, false) filepond_receita_carrinho(false) } }) onToggleCarrinhoPopUp(open, #popupUploadReceita); }, CarrinhoComponent.prototype._submitReceita function () { return let form_upload_receita_carrinho $(#form_upload_receita_carrinho) let dat_nasc $(form_upload_receita_carrinho).find(namedat_nasc).val() dat_nasc moment(dat_nasc, DD/MM/YYYY).format(YYYYMMDD) let dat_receita $(form_upload_receita_carrinho).find(namedat_receita).val() dat_receita moment(dat_receita, DD/MM/YYYY).format(YYYYMMDD) if(!$(form_upload_receita_carrinho).find(namereceita-tipo:checked).val()){ $(form_upload_receita_carrinho).find(.labl).children(input).addClass(is-invalid) $(form_upload_receita_carrinho).find(.is-invalid-text).show(300) } else { $(form_upload_receita_carrinho).find(.labl).children(input).addClass(is-valid) $(form_upload_receita_carrinho).find(.is-invalid-text).hide(300) } if($(form_upload_receita_carrinho).find(namereceita-tipo:checked).val() path_receita && path_receita_carrinho){ $(form_upload_receita_carrinho).find(#receita_anexo_arquivo).addClass(is-valid) } else if($(form_upload_receita_carrinho).find(namereceita-tipo:checked).val() path_receita && !path_receita_carrinho){ toastr.warning(Envie sua receita para prosseguir.) $(form_upload_receita_carrinho).find(#receita_anexo_arquivo).addClass(is-invalid) return } if($(#form_upload_receita_carrinho)0.checkValidity()){ onToggleCarrinhoPopUp(, #popupUploadReceita); load(on, $(.asidebar)); $.ajax({ type: POST, url: , data: { csrfmiddlewaretoken: 17s1iBwNobnxyf5AVLqBFGN01aOc56f4SqfFeT9OHm1lnCpq0Y5L6XET1LVXDFDi, nm_completo: $(form_upload_receita_carrinho).find(namenm_completo).val(), uf_rg: $(form_upload_receita_carrinho).find(nameestado-documento).val(), documento: $(form_upload_receita_carrinho).find(namedocumento).val(), dat_nasc: dat_nasc ? dat_nasc : , sexo: $(form_upload_receita_carrinho).find(namesexo:checked).val(), dat_receita: dat_receita ? dat_receita : , qtd: $(form_upload_receita_carrinho).find(nameqtd_medicamentos).val(), token: $(form_upload_receita_carrinho).find(#tipo_digital_carrinho).is(:checked) ? $(form_upload_receita_carrinho).find(namereceita_numero_token).val() : , path_receita: $(form_upload_receita_carrinho).find(#tipo_anexo_carrinho).is(:checked) ? path_receita_carrinho : , }, success: function (response) { if(response.status){ carrinho.instance._resetFormularioReceitaCarrinho(); carrinho.instance._atualizarCarrinho() } else { toastr.error(response.descricao ? response.descricao : Ocorreu um erro interno ao enviar a receita, Erro); load(off, $(.asidebar)); } }, error: function () { load(off, $(.asidebar)); toastr.error(Ocorreu um erro interno ao enviar a receita, Erro); } }); } else { toastr.warning(Preencha os campos obrigatórios para prosseguir.) $(#form_upload_receita_carrinho).addClass(was-validated) } }, CarrinhoComponent.prototype._resetFormularioReceitaCarrinho function () { let _form $(#form_upload_receita_carrinho) $(_form).removeClass(was-validated) $(_form).get(0).reset() $(_form).find(.is-valid).removeClass(is-valid) $(_form).find(.is-invalid).removeClass(is-invalid) $(_form).find(namebloco_receita_anexo).hide(300) $(_form).find(namebloco_receita_digital).hide(300) $(_form).find(namebloco_tipo_receita_required).hide(300) filepond_receita_carrinho(false) path_receita_carrinho $(#receita_anexo_carrinho).filepond(removeFiles) }, carrinho.instance new CarrinhoComponent(); function removeTemplates(obj) { for(prop in obj) { if (prop template || prop pagamentoComplemento || prop template_novo_endereco || prop editar || prop html_convenios) delete objprop; else if (typeof objprop object) objprop removeTemplates(objprop); } return obj; } atualizarCarrinho () > { carrinho.instance._atualizarCarrinho(); } async function loadScript(url, callback) { var script document.createElement(script); script.type text/javascript; if (script.readyState) { // only required for IE 9 script.onreadystatechange function () { if (script.readyState loaded || script.readyState complete) { script.onreadystatechange null; if (callback) { callback(); } } }; } else { //Others script.onload function () { if (callback) { callback(); } }; } script.src url; document.getElementsByTagName(head)0.appendChild(script); } const chaveMercadoPago async () > { $(.modal-carrinho).on(shown.bs.modal, function () { $(.asidebar).css(zIndex, 10000); }).on(hidden.bs.modal, function () { if ($(.modal-carrinho).hasClass(show) false) { $(.asidebar).css(zIndex, ); do_submit_confirmar_compra false; do_submit_comprar false; is_loader_confirmar_compra false; load(off, $(.asidebar)); } }); loadScript(https://www.mercadopago.com/v2/security.js); loadScript(https://sdk.mercadopago.com/js/v2, function () { integracaoMercadoPago(); }); }; const integracaoMercadoPago async () > { if(typeof(MercadoPago) function) mp new MercadoPago(APP_USR-8efa6da2-8667-4e1c-8618-550135642bdf) }; async function getIdentificationTypes() { try { if(typeof(mp) object){ let opcoes await mp.getIdentificationTypes() let html ``; if(opcoes && opcoes.length){ opcoes.forEach(opcao > { html + ` option value${opcao.id}>${opcao.name}option> `; }) } $(#docType).html(html) } } catch (error) { return console.error(Error getting identificationTypes: , error); } } function eventosCartao() { getIdentificationTypes() if(cardNumberElement) cardNumberElement.on(binChange, carrinho.instance.pagamento.valueNotCashback.cartao.getPaymentMethods); //window.Mercadopago.getIdentificationTypes(); //$(#card-number).off(keyup.mercado).on(keyup, carrinho.instance.pagamento.valueNotCashback.cartao.getPaymentMethods); //$(#card-number).off(change.mercado).on(change, carrinho.instance.pagamento.valueNotCashback.cartao.getPaymentMethods); // $(#card-number).mask(9999 9999 9999 9999); // $(#carrinho-cartao-validade).mask(00/00).off(change.mercado).on(change.mercado, function () { // let valor this.value.split(/); // if (valor.length 2){ // $(#cardExpirationMonth).val(valor0); // $(#cardExpirationYear).val(valor1); // } // }); setTimeout(() > { $(#security-code).mask(999).off(change.mercado).on(change.mercado, () > { carrinho.instance.pagamento.valueNotCashback.cartao.securityCode $(#security-code).val(); }); var cpfMascara function (val) { if (val.replace(/\D/g, ).length > 11) { $(#docType).val(CNPJ); return 00.000.000/0000-00; } else { $(#docType).val(CPF); return 000.000.000-009; } }, cpfOptions { onKeyPress: function (val, e, field, options) { field.mask(cpfMascara.apply({}, arguments), options); } }; $(#carrinho-cartao-cpf_titular).mask(cpfMascara, cpfOptions); $(#carrinho-endereco-cep).mask(99.999-999); }, 500); // $(#pay).off(submit).on(submit, function(e){ // if(e){ // e.stopPropagation() // e.preventDefault() // } // carrinho.instance.pagamento.valueNotCashback.cartao.doPay() // }); } chaveMercadoPago(); // function setarInputInvalid(dom, mensagem) { // if (mensagem) { // $(dom).addClass(border-danger); // $(dom).parent().find(.text-danger.invalid).html(mensagem); // } // else { // $(dom).removeClass(border-danger); // $(dom).parent().find(.text-danger.invalid).html(); // } // } function errosNoCartao(status) { let numero_cartao document.getElementById(card-number), nome_titular document.getElementById(cardholder-name), data_vencimento document.getElementById(carrinho-cartao-validade), codigo_seguranca document.getElementById(security-code), cpf_titular document.getElementById(carrinho-cartao-cpf_titular); switch (status.toString().toUpperCase()) { case 326: case 325: setarInputInvalid(data_vencimento, Data de vencimento inválida.); break; case 324: case 323: case 322: setarInputInvalid(cpf_titular, Confira o CPF do titular.); break; case 316: setarInputInvalid(nome_titular, Por favor, digite um nome válido.); break; case E302: setarInputInvalid(codigo_seguranca, Código de segurança inválido.); break; case E301: setarInputInvalid(numero_cartao, Há algo de errado com o número do cartão. Digite novamente.); break; case 224: setarInputInvalid(codigo_seguranca, Digite o código de segurança.); break; case 221: setarInputInvalid(nome_titular, Digite o nome e sobrenome.); break; case 214: case 213: case 212: setarInputInvalid(cpf_titular, Informe seu CPF.); break; case 209: case 208: setarInputInvalid(data_vencimento, Informe a data de vencimento.); break; case 205: setarInputInvalid(numero_cartao, Digite o número do seu cartão.); break; default: toastr.error(Confira os dados do cartão., Erro); } } // function setPaymentMethod(status, response) { // let numero_cartao document.getElementById(card-number); // let nome_titular document.getElementById(cardholder-name); // let data_vencimento document.getElementById(carrinho-cartao-validade); // let codigo_seguranca document.getElementById(security-code); // let cpf_titular document.getElementById(carrinho-cartao-cpf_titular); // setarInputInvalid(numero_cartao, ); // setarInputInvalid(nome_titular, ); // setarInputInvalid(data_vencimento, ); // setarInputInvalid(codigo_seguranca, ); // setarInputInvalid(cpf_titular, ); // if (status 200) { // if (response0.id amex) { // $(#card-number).mask(9999 999999 99999); // $(#security-code).mask(9999); // } else { // $(#card-number).mask(9999 9999 9999 9999); // $(#security-code).mask(999); // } // $(#card-number).attr(minlength, response0.settings0.card_number.length); // } // else { // errosNoCartao(status); // } // } function pegarTokenSeForCartao(status, response) { if (status ! 200 && status ! 201) { } else { carrinho.instance.pagamento.valueNotCashback.dadosComplemento.token response.id; carrinho.instance.pagamento.valueNotCashback._pagamentoMeuCartao(); } } /script> script>function filtroParaDadosAnaliticos(referencia, termo) { var items_gtag ; var items_fbq ; switch (referencia) { case AddShippingInfo: gtag(event, add_shipping_info, { value: termo.value, currency: termo.currency, coupon: termo.coupon, items: termo.items, }); break; case FindLocation: // fbq(track, referencia, termo ? termo : undefined); gtag(event, add_shipping_info, { shipping_tier: termo }); break; case Search: // fbq(track, referencia, termo ? termo : undefined); gtag(event, search, { search_term: termo }); break; case AddPaymentInfo: // fbq(track, AddPaymentInfo); gtag(event, add_payment_info, { payment_type: termo }); break; case InitiateCheckout: // fbq(track, InitiateCheckout); gtag(event, begin_checkout); break; case Purchase: for (let i 0; i termo.items.length; i++) { items_gtag.push({ item_id: termo.itemsi.id, id: termo.itemsi.id, item_name: termo.itemsi.item_name, name: termo.itemsi.item_name, quantity: termo.itemsi.quantidade, discount: termo.itemsi.discount, currency: termo.itemsi.currency, price: termo.itemsi.price, promotion_name: termo.itemsi.promotion_name, promotion_id: termo.itemsi.promotion_name, transaction_id: termo.itemsi.transaction_id, index: termo.itemsi.index, item_list_name: termo.itemsi.item_list_name, item_list_id: termo.itemsi.item_list_id }); items_fbq.push({ id: termo.itemsi.id, quantity: termo.items.quantidade }) } // fbq(track, Purchase, { // currency: BRL, // value: termo.value + termo.shipping, // content_type: product, // contents: items_fbq // }); gtag(event, purchase, { currency: BRL, value: termo.value, items: items_gtag, shipping: termo.shipping, tax: termo.tax, affiliation: termo.affiliation, coupon: termo.coupon, transaction_id: termo.transaction_id, e-mail: , phone_number: +55 }); break; case ViewContent: for (let i 0; i termo.items.length; i++) { items_gtag.push({ item_id: termo.itemsi.id, id: termo.itemsi.id, item_name: termo.itemsi.item_name, name: termo.itemsi.item_name, discount: termo.itemsi.discount, currency: termo.itemsi.currency, price: termo.itemsi.price, promotion_name: termo.itemsi.promotion_name, promotion_id: termo.itemsi.promotion_name, index: termo.itemsi.index, item_list_name: termo.itemsi.item_list_name, item_list_id: termo.itemsi.item_list_id }); items_fbq.push({ id: termo.itemsi.id, }); } // fbq(track, ViewContent, { // content_type: product, // contents: items_fbq, // }); gtag(event, view_item, { items: items_gtag, }); break; case AddToCart: for (let i 0; i termo.items.length; i++) { items_gtag.push({ item_id: termo.itemsi.id, id: termo.itemsi.id, item_name: termo.itemsi.item_name, name: termo.itemsi.item_name, quantity: termo.itemsi.quantidade, discount: termo.itemsi.discount, currency: termo.itemsi.currency, price: termo.itemsi.price, promotion_name: termo.itemsi.promotion_name, promotion_id: termo.itemsi.promotion_name, index: termo.itemsi.index, item_list_name: termo.itemsi.item_list_name, item_list_id: termo.itemsi.item_list_id }); items_fbq.push({ id: termo.itemsi.id, quantity: termo.itemsi.quantidade }); } // fbq(track, AddToCart, { // currency: BRL, // value: termo.value, // content_type: product, // contents: items_fbq, // }); gtag(event, add_to_cart, { currency: BRL, value: termo.value, items: items_gtag, }); break; case RemoveFromCart: for (let i 0; i termo.items.length; i++) { items_gtag.push({ item_id: termo.itemsi.id, id: termo.itemsi.id, item_name: termo.itemsi.item_name, name: termo.itemsi.item_name, quantity: termo.itemsi.quantidade, discount: termo.itemsi.discount, currency: termo.itemsi.currency, price: termo.itemsi.price, promotion_name: termo.itemsi.promotion_name, promotion_id: termo.itemsi.promotion_name, index: termo.itemsi.index, item_list_name: termo.itemsi.item_list_name, item_list_id: termo.itemsi.item_list_id }); items_fbq.push({ id: termo.itemsi.id, quantity: termo.itemsi.quantidade }); } gtag(event, remove_from_cart, { currency: BRL, value: termo.value, items: items_gtag, }); break; case CompleteRegistration: // fbq(track, CompleteRegistration); gtag(event, sign_up); break; case Login: gtag(event, login); break; case ViewItemList: items_gtag termo.items; gtag(event, view_item_list, termo); break; case ViewCart: gtag(event, view_cart, termo) break; case CloseCart: gtag(event, close_cart, termo) break; case RequestContact: //fbq(track, FindLocation, termo.value) gtag(event, request_contact, termo); break; case ClickBanner: gtag(event, click_banner, { pageCategory: home, visitorType: high-value, ecommerce: {currencyCode: BRL}, event: bannerClicado, uniqueEventId: termo?.id, element: termo?.name, elementClasses: termo, elementId: termo?.url.spli(/).pop(), elementTarget: , triggers: , elementUrl: termo?.url, visibleRatio: , visibleTime: , visibleFirstTime: , visibleLastTime: , }); break; } } function bannerClicado() { filtroParaDadosAnaliticos(ClickBanner, { url: this.getAttribute(href) }); } $(data-targetentrando-contato).on(click, function() { filtroParaDadosAnaliticos(RequestContact, { value: this.getAttribute(href) }); }); function pesquisar_post(termo) { filtroParaDadosAnaliticos(Search, {search_string: termo}); $.ajax({ type: POST, url: /pesquisa/pesquisar, data: { csrfmiddlewaretoken: 17s1iBwNobnxyf5AVLqBFGN01aOc56f4SqfFeT9OHm1lnCpq0Y5L6XET1LVXDFDi, limite: 5, termo: termo }, success: function (data) { $(.dropdown-search).html(); $(.dropdown-search).append(hr classmt-0> + div classrow> + div classcol-12 col-md-4 idsearch-suggestion> + p classtext-warning font-weight-bold font-sm mb-3>Sugestões/p> + /div> + div classcol-12 col-md-8 idsearch-product> + p classtext-warning font-weight-bold pl-2 font-sm mb-3 >Produtos/p> + /div> + /div>); $(#search-suggestion).html(); data.indices.forEach(function (value) { let indice_achado value._source.indice; var texto document.createElement(a); texto.classList.add(text-search); texto.setAttribute(href, /pesquisa/ + indice_achado.replace(/\s/g, -) + ); texto.classList.add(my-1); texto.innerHTML `span classtext-success font-weight-bold>${indice_achado}/span>`; // for com o texto do resultado da busca // $(#search-suggestion).append(texto); }); $(#search-suggestion).append(hr>); // for com texto e link do resultado da busca let todas_categorias ; data.categorias.forEach(function (value) { if (!(todas_categorias.includes(value._source.categoria_principal_url)) && value._source.categoria_principal_url ! undefined) { $(#search-suggestion).append(p classtext-capitalize> + termo + em a classtext-success font-weight-bold text-capitalize href/categorias/ + value._source.categoria_principal_url + > + value._source.categoria_principal_nome.toLowerCase() + /a>/p>); } todas_categorias.push(value._source.categoria_principal_url); }); $(#search-suggestion).append(hr classd-md-none>); $(#search-product).html(); data.produtos.forEach(function (value) { var img_produto produtos/imagem_padrao_200x200.jpg; if (value._source.imagem_produto) { img_produto value._source.imagem_produto; } $(#search-product).append(` a href/${value._source.url_produto} data-produto_id${value._source.cd_produto} classproduto d-flex w-100 align-items-center item-search position-relative mb-3> div classpx-3 text-center> div classimg-search-produto> img src/media/${img_produto} width50px height50px alt> /div> /div> div classw-100 pl-0> div classd-block> p classfont-sm>${value._source.nm_produto}/p> /div> /div> div classw-100 text-right d-flex> div classd-block w-75> p data-targetpreco-produto classtexto-pesquisa-preco>/p> /div> /div> /a> `); }); pegarPrecosAtribuirDescontos(true); $(.dropdown-search).append(`hr>`); $(.dropdown-search).append(`a href/pesquisa/` + termo.replace(/\s/g, -).trim() + ` classw-100 d-block text-sm text-center text-warning py-2 font-weight-bold> Ver todos os resultados >/a>`); }, error: function (data) { load(off, $(.asidebar)); if (data.statusText ! error) { doSubmit false; } } }); } function pesquisar_get() { let valor $(#barra-pesquisa).val(); valor valor.replace(/\s/g, -).trim().toLowerCase(); window.location.replace(/pesquisa/ + valor); } function pesquisar_get_sugestao(termo) { let valor termo; valor valor.replace(/\s/g, -).trim(); window.location.replace(/pesquisa/ + valor); } var typingTimer; //timer identifier var doneTypingInterval 500; //time in ms, 1 second for example //quando digita inicia o contador $(#barra-pesquisa).on(keyup, function (e) { timer 0; if (e.key Enter || e.keyCode 13) { pesquisar_get(); } clearTimeout(typingTimer); if ($(#barra-pesquisa).val) { typingTimer setTimeout(doneTyping, doneTypingInterval); } }); var timer 0; setInterval(function () { timer + 1 }, 1); //quando o usuario para de digitar function doneTyping() { var $search $(#barra-pesquisa); if ($search.val().length > 3) { pesquisar_post($search.val()); $search.css({borderBottom: none}); } } let is_loader_confirmar_compra false; let isLoaderCupom false; let isLoaderProduto false; /script> !-- Início do carrinho script --> script typetext/javascript>let json_hashs {}; /** * função especifica para o carrinho, adicionar ou remover itens do carrinho de 1 em 1 armazenando qtd de clicks e enviando a qtd de clicks em um intervalo após 700 milisegundos sem click do usuário * @param __this DOM botao + ou - * @param acao mais ou menos string * @param hash hash_produto */ function adicionar_remover(__this, acao, hash, token_nsu) { let _this __this.parent().find(`data-togglenumber_plus_minus`); let receita_id $(_this).attr(data-receita-id) if (!hash) { hash null; } if (acao) { if (acao menos) { if (_this.attr(data-valor) > parseInt(_this.attr(data-limite-min)) || _this.attr(data-limite-min) ) { $(__this).parent().find(a).removeClass(isDisabled); if (_this.attr(data-valor) parseInt(_this.attr(data-limite-min)) || _this.attr(data-valor) 1) { $(__this).addClass(isDisabled); } else { $(__this).removeClass(isDisabled); _this.html( parseInt(_this.attr(data-valor)) - 1 ).attr(data-valor, parseInt(_this.attr(data-valor)) - 1); if (hash) { if (!json_hashshash + acao) { json_hashshash + acao 0; } json_hashshash + acao++; let click json_hashshash + acao; setTimeout(() > { if (click json_hashshash + acao) { load(on, $(.asidebar)); $.ajax({ type: POST, url: /carrinho/remover, data: { csrfmiddlewaretoken: 17s1iBwNobnxyf5AVLqBFGN01aOc56f4SqfFeT9OHm1lnCpq0Y5L6XET1LVXDFDi, hash_produto: hash, quantidade: json_hashshash + acao, token_nsu: token_nsu, receita_id: receita_id ? receita_id : , }, success: (data) > { load(off, $(.asidebar)); if (data.status true) { atualizarCarrinho(); } else { toastr.error(data.descricao, Erro ao enviar); } }, error: (data) > { load(off, $(.asidebar)); } }); json_hashshash + acao 0; } }, 700); } } } else { $(__this).addClass(isDisabled); } } else if (acao mais) { if (_this.attr(data-valor) parseInt(_this.attr(data-limite-max)) || _this.attr(data-limite-max) ) { $(__this).parent().find(a).removeClass(isDisabled); _this.html( parseInt(_this.attr(data-valor)) + 1 ).attr(data-valor, parseInt(_this.attr(data-valor)) + 1); _this.attr(data-valor) parseInt(_this.attr(data-limite-max)) ? $(__this).addClass(isDisabled) : $(__this).removeClass(isDisabled); if (hash) { if (!json_hashshash + acao) { json_hashshash + acao 0; } json_hashshash + acao++; let click json_hashshash + acao; setTimeout(function () { if (click json_hashshash + acao) { adicionarProdutoCarrinho(hash, json_hashshash + acao, _this); json_hashshash + acao 0; } }, 700) } } else { $(__this).addClass(isDisabled); } } } } function onToggleCarrinho(status) { status ? open status && ($(.asidebar).removeClass(asidebar-closed), $(#carrinho_desfoco).addClass(asidebar-desfoco)) : ($(.asidebar).toggleClass(asidebar-closed), $(#carrinho_desfoco).toggleClass(asidebar-desfoco)), $(.asidebar).hasClass(asidebar-closed) ? $(body).removeClass(overflow-hidden) : $(body).addClass(overflow-hidden) let produtos ; if (!$(.asidebar).hasClass(asidebar-closed)) { if (carrinho.instance && carrinho.instance._pacotes) { for (const pacote of carrinho.instance._pacotes) { for ({ _produto } of pacote._produtos) { produtos.push({ id: _produto.produto_id, price: _produto.valor_ini, discount: _produto.valor_desc, item_name: _produto.produto__nm_ecommerce, promotion_name: _produto.descontoprodutopreco__desconto__tipo_id, quantidade: _produto.quantidade, currency: BRL, index: _produto.origem_posicao, item_list_name: _produto.origem_descricao, item_list_id: _produto.origem_descricao ? _produto.origem_descricao.toLowerCase().replace(/\s/g, _) : , }); } } } filtroParaDadosAnaliticos(ViewCart, { currency: BRL, value: carrinho.instance._calculaVlrTotalFloat(), items: produtos }) } else { filtroParaDadosAnaliticos(CloseCart, { currency: BRL, value: carrinho.instance._calculaVlrTotalFloat(), items: produtos }) } } function onToggleCarrinhoPopUp(status, seletor) { if (status open) { if (# + $($(.asidebar-confirmacao:not(.asidebar-closed))0).attr(id) ! seletor) { $($(.asidebar-confirmacao:not(.asidebar-closed))0).css(z-index, 10002); } $(seletor).removeClass(asidebar-closed) $(#carrinho_desfoco).addClass(asidebar-desfoco-confirmacao) $(#carrinho_desfoco).attr(data-seletor, seletor); } else { $(seletor).toggleClass(asidebar-closed) if ($(.asidebar-confirmacao:not(.asidebar-closed)).length 0) { $(#carrinho_desfoco).toggleClass(asidebar-desfoco-confirmacao) $(#carrinho_desfoco).removeAttr(data-seletor) } else { $(#carrinho_desfoco).attr(data-seletor, # + $($(.asidebar-confirmacao:not(.asidebar-closed))0).attr(id)); if (# + $($(.asidebar-confirmacao:not(.asidebar-closed))0).attr(id) ! seletor) { $($(.asidebar-confirmacao:not(.asidebar-closed))0).css(z-index, $($(.asidebar-confirmacao:not(.asidebar-closed))0).attr(data-zindex)); } } } } var __esse; function quantidadeProduto(__this, status, seletor) { __esse __this; let html_quantidade ; var qtdMin __this.attr(data-limite-min); var qtdMax __this.attr(data-limite-max); var valor_escolhido __this.attr(data-valor); for(let cont qtdMin; cont qtdMax; cont++){ html_quantidade + `div classcell idquantidade_${cont} onclickscrollToCell(${cont}) data-valor${cont} stylewidth: 100%;>${cont}/div>`; } $(#corpoModalQuantidade).html(html_quantidade); $(#modalQuantidade).modal(show); ouvirScroll(valor_escolhido); $(`#quantidade_${valor_escolhido}`).addClass(selected); } function scrollToCell(id) { if($(#quantidade_ + id).hasClass(selected)){ atualizarQuantidade(__esse); $(#modalQuantidade).modal(hide); } else { ouvirScroll(id); } } function ouvirScroll(valor_escolhido){ var id `quantidade_${valor_escolhido}`; const selected selected; function check(e) { const rect e.target.getBoundingClientRect(); const centerCell document.elementFromPoint( rect.left + e.target.offsetWidth / 2, rect.top + e.target.offsetHeight / 2 ); if(centerCell){ if(!$(centerCell).hasClass(selected)){ for (const cell of e.target.getElementsByClassName(selected)) { if(cell){ $(cell).removeClass(selected); } } $(centerCell).addClass(selected); } } } $(#corpoModalQuantidade).off(scroll).on(scroll, (ev)> { check(ev); }); // Seleciona o valor inicial $(#corpoModalQuantidade).animate({ scrollTop: (valor_escolhido - 1) * 85 }, 300); } function atualizarQuantidade(__this){ var id document.getElementById($(__this).prop(id)); var hash id.getAttribute(hash); var token id.getAttribute(token); var quantidadeAtual id.getAttribute(data-quantidade); var quantidade; var acao; var selecionado; let lista document.getElementById(corpoModalQuantidade); selecionado $(lista).find(.selected).html(); $(#quatidadeProdutoMobile).attr(data-valor, selecionado); let modalQuantidade document.getElementById(corpoModalQuantidade); modalQuantidade.innerHTML ; if(selecionado){ if(selecionado > quantidadeAtual){ acao mais; quantidade selecionado - quantidadeAtual; adicionar_remover_mobile(__this, acao, hash, token, quantidade); } else if(selecionado quantidadeAtual){ acao menos; quantidade quantidadeAtual - selecionado; adicionar_remover_mobile(__this, acao, hash, token, quantidade); } } } $(#modalQuantidade).on(hidden.bs.modal, function(){ atualizarQuantidade(__esse); }); function adicionar_remover_mobile(__this, acao, hash, token_nsu, quantidade) { let _this __this let receita_id $(_this).attr(data-receita-id) if (!hash) { hash null; } if (acao) { if (acao menos) { if (_this.attr(data-valor) > parseInt(_this.attr(data-limite-min)) || _this.attr(data-limite-min) ) { _this.html(_this.attr(data-valor)); if (hash) { load(on, $(.asidebar)); $.ajax({ type: POST, url: /carrinho/remover, data: { csrfmiddlewaretoken: 17s1iBwNobnxyf5AVLqBFGN01aOc56f4SqfFeT9OHm1lnCpq0Y5L6XET1LVXDFDi, hash_produto: hash, quantidade: quantidade, token_nsu: token_nsu, receita_id : receita_id ? receita_id : , }, success: (data) > { load(off, $(.asidebar)); if (data.status true) { atualizarCarrinho(); } else { toastr.error(data.descricao, Erro ao enviar); } }, error: (data) > { load(off, $(.asidebar)); } }); } } } else if (acao mais) { if (_this.attr(data-valor) parseInt(_this.attr(data-limite-max)) || _this.attr(data-limite-max) ) { __this.html(_this.attr(data-valor)); if (hash) { adicionarProdutoCarrinho(hash, quantidade , _this); } } } } } doSubmitViewItem false; var qtd_adicionado 0; function adicionarProdutoCarrinho(produto, quantidade, _this) { var index_list, item_list_name, limite !1; if (load(on, $(.asidebar)), isLoaderProduto !0, $(_this).attr(data-approved) && qtd_adicionado > parseInt($(_this).attr(data-approved)) && ($(_this).parent().find(data-togglenumber_plus_minus).attr(data-limite-max, $(_this).attr(data-approved)), $(_this).parent().find(data-togglenumber_plus_minus).html(parseInt($(_this).attr(data-approved)) - quantidade), quantidade parseInt($(_this).attr(data-approved)), parseInt($(_this).attr(data-approved)) - quantidade 0 && ($(_this).attr(disabled, !0), limite !0)), _this) if (_this $(_this), _this.attr(data-text, _this.html()), _this.html(article>span classspinner-border spinner-border-sm rolestatus aria-hiddentrue>/span>article>), _this.addClass(isDisabled), number_plus_minus _this.attr(data-toggle)) { let t $(_this).parents(data-produto_id_carrinho)0; index_list $(t).attr(data-index), item_list_name $(t).attr(data-item_list_name), filtroParaDadosAnaliticos(AddToCart, { value: parseFloat($(t).attr(data-valor_un)) * quantidade, items: { id: $(t).attr(data-produto_id_carrinho), price: $(t).attr(data-valor_ini) ? $(t).attr(data-valor_ini) : , discount: $(t).attr(data-valor_desc) ? $(t).attr(data-valor_desc) : , item_name: $(t).attr(data-produto__nm_ecommerce) ? $(t).attr(data-produto__nm_ecommerce) : , promotion_name: $(t).attr(data-desconto__tipo) ? $(t).attr(data-desconto__tipo) : , currency: BRL, quantidade: quantidade, item_list_name: item_list_name, item_list_id: item_list_name && item_list_name.toLowerCase() ? item_list_name.toLowerCase().replace(/\s/g, _) : , index: index_list } }) } else { let t $(_this).parents(data-produto_id)0, d ; $(t).parents(.owl-stage).find(.owl-item:not(.cloned) .produto).each((t, a) > { d.push($(a).attr(data-produto_id)) }), index_list -1 ! d.indexOf($(t).attr(data-produto_id)) ? d.indexOf($(t).attr(data-produto_id)) + 1 : 1, item_list_name $(t).parents(.owl-stage).parent().parent().parent().find(.text-border-bottom-amarelo).text() ? $(t).parents(.owl-stage).parent().parent().parent().find(.text-border-bottom-amarelo).text() : Pagina de Produto, filtroParaDadosAnaliticos(AddToCart, { value: parseFloat(_this.attr(data-valor).replace(/\./g, ).replace(/,/g, .)) * quantidade, items: { id: $(t).attr(data-produto_id), price: $(t).find(data-vlr_desc).attr(data-vlr_ini) ? $(t).find(data-vlr_desc).attr(data-vlr_ini) : , discount: $(t).find(data-vlr_desc).attr(data-vlr_desc) ? $(t).find(data-vlr_desc).attr(data-vlr_desc) : , item_name: $(t).find(data-targetnome_produto).text(), promotion_name: $(t).find(data-vlr_desc).attr(data-tipo_desc) ? $(t).find(data-vlr_desc).attr(data-tipo_desc) : , currency: BRL, quantidade: quantidade, item_list_name: item_list_name, item_list_id: item_list_name && item_list_name.toLowerCase() ? item_list_name.toLowerCase().replace(/\s/g, _) : , index: index_list } }) } var auth , preco , codigo_produto , preco_compra ; $(_this).attr(data-auth) && (auth $(_this).attr(data-auth), preco $(_this).attr(data-valor), codigo_produto $(_this).attr(data-cod-produto), preco_compra $(_this).attr(data-preco_compra)); var receita_id $(_this).attr(data-receita-id) $.ajax({ type: POST, url: /carrinho/adicionar, data: { csrfmiddlewaretoken: 17s1iBwNobnxyf5AVLqBFGN01aOc56f4SqfFeT9OHm1lnCpq0Y5L6XET1LVXDFDi, hash_produto: produto, quantidade: quantidade, item_list_name: item_list_name, auth: auth, cod_produto: codigo_produto, hash_preco: preco, preco_compra: preco_compra, index: index_list, receita_id: receita_id ? receita_id : , }, success: function (data) { qtd_adicionado + parseInt(quantidade), load(off, $(.asidebar)), _this && (_this.html(_this.attr(data-text)), _this.removeClass(isDisabled), _this.attr(data-approved) && !limite && qtd_adicionado parseInt(_this.attr(data-approved)) && _this.addClass(isDisabled)), data.status ? (toastr.options.positionClass toast-top-right-carrinho, success data.informacoes.status && toastr.success(O produto foi adicionado à sua cesta., Produto Adicionado), warning data.informacoes.status && toastr.warning(, data.informacoes.descricao), toastr.options.positionClass toast-top-right) : toastr.error(data.descricao, Erro ao adicionar produto), atualizarCarrinho(); }, error: function (data) { isLoaderProduto !1, load(off, $(.asidebar)), _this && (_this.html(_this.attr(data-text)), _this.removeClass(isDisabled)), error ! data.statusText && toastr.error(Ocorreu um erro inesperado ao adicionar um produto a cesta., Erro ao enviar); } }); } /script> script typeapplication/javascript> var produtosParaCashback ; var ajaxPrecos null; function pegarPrecosAtribuirDescontos(loader) { if (!loader) load(on, $(body)); let produtos_ids $(data-produto_id).map(function () { return $(this).attr(data-produto_id); }).get(); function removeDups(names) { let unique {}; names.forEach(function (i) { if (!uniquei) { uniquei true; } }); return Object.keys(unique); } produtos_ids removeDups(produtos_ids); for (let i 0; i produtos_ids.length; i++) { load(on, $(data-produto_id + produtos_idsi + :not(data-targetproduto_view))); } $(.d-none-valor-banco).removeClass(d-none-valor-banco); if (produtos_ids.length > 0) { $.ajax({ type: POST, url: /pegar/preco, data: { csrfmiddlewaretoken: 17s1iBwNobnxyf5AVLqBFGN01aOc56f4SqfFeT9OHm1lnCpq0Y5L6XET1LVXDFDi, produtos_ids: produtos_ids }, success: function (data) { load(off, $(body)); var classe_img ; for (let i 0; i produtos_ids.length; i++) { load(off, $(data-produto_id + produtos_idsi + )); } let novo_array ; if (data) { if (data.precos) { $.each(data.precos, function (index, objeto_preco) { var preco_publico objeto_preco.publico, preco_pbm objeto_preco.pbm, preco_clube objeto_preco.clube; let botao_desconto ` div classproduto-comprar pt-2 pt-xl-2 pt-lg-2 stylewidth:inherit> button data-valor%valor_produto% data-cod-produto${index} data-auth data-vlr_ini%vlr_ini% data-vlr_desc%vlr_desc% data-tipo_desc%tipo_desc% stylebackground-color: #%classe_cor_botao_desconto% classbtn ${preco_pbm ? btn-qtd : } text-white d-block text-center mw-200px font-weight-bold data-loading-textarticle>i classfa fa-spinner fa-spin >/i> aguarde.../article> data-targetbtn-comprar-levemais data-qtd_produto%qtd_produto%> article classtext-nowrap> %texto_desconto% /article> /button> /div>`; // botao de comprar padrão let botao_default ` div classproduto-comprar pt-2 stylewidth:inherit> button data-valor%valor_produto% data-cod-produto${index} data-vlr_ini%vlr_ini% data-vlr_desc%vlr_desc% data-tipo_desc%tipo_desc% classbtn btn-qtd btn-success text-white d-block text-center mw-200px font-weight-bold %classebotao% data-loading-textarticle>i classfa fa-spinner fa-spin >/i> aguarde.../article> data-targetbtn-comprar data-qtd_produto1> article classtext-nowrap> %comprar% /article> /button> /div>`; var botao_pbm `div classproduto-comprar pt-0 pt-xl-2 pt-lg-2 stylewidth:inherit> button data-valor%valor_produto% data-cod-produto${index} disabled data-auth data-vlr_ini%vlr_ini% data-vlr_desc%vlr_desc% data-tipo_desc%tipo_desc% classbtn btn-pbm text-white d-block text-center mw-200px font-weight-bold data-loading-textarticle>i classfa fa-spinner fa-spin >/i> aguarde.../article> data-targetbtn-comprar-pbm data-qtd_produto1> article classtext-nowrap> %texto_desconto% /article> /button> /div>`; let html_desconto ; let class_img ; var botoes ; texto_botao_padrao Comprar; texto_preco `span classfont-weight-bold font-xl text-marine>R$ ${parseFloat(preco_publico.valor_fim).toLocaleFixed(2)}/span>`; if (preco_publico && preco_publico.imagem_selo) { html_desconto + `img src/media/${preco_publico.imagem_selo ? preco_publico.imagem_selo : } altimg-selo width60 height60 classdesconto-produto float-left>`; classe_img img-selo } if (preco_publico.is_desc) { if (preco_publico.is_label_desc) { if (preco_publicoper_desc && parseFloat(preco_publicoper_desc) > 5.0) html_desconto + `div classdesconto-produto font-weight-bold>article> -${preco_publicoper_desc ? parseFloat(preco_publicoper_desc) 9.6 ? parseFloat(preco_publicoper_desc).toFixed(1) : parseFloat(preco_publicoper_desc).toFixed(0) : }% /article>/div>`; classe_img img-div; } else { html_desconto + `img src/media/${preco_publico.imagem_desc ? preco_publico.imagem_desc : } alt classdesconto-produto>`; classe_img img-selo } var texto_preco ``, classe_botao_default , texto_botao_desconto , texto_botao_pbm, classe_cor_botao_desconto btn-danger, classe_cor_botao_desconto_hover , qtd_produto `${preco_publicoqtd_ini_desc ? preco_publicoqtd_ini_desc : }`, qtd_fim_produto `${preco_publicoqtd_fim_desc ? preco_publicoqtd_fim_desc : }`, cd_produto_final_url `${preco_publicocd_produto_final_url ? preco_publicocd_produto_final_url : }`, cd_produto_final_nome `${preco_publicocd_produto_final_nome ? preco_publicocd_produto_final_nome : }`, referencia preco_publicoreferencia ? parseFloat(preco_publicoreferencia).toLocaleFixed(2) : , valor_ini preco_publicovalor_ini ? parseFloat(preco_publicovalor_ini).toLocaleFixed(2) : , valor_fim preco_publicovalor_fim ? parseFloat(preco_publicovalor_fim).toLocaleFixed(2) : , valor_fim_somado preco_publicovalor_fim_somado ? parseFloat(preco_publicovalor_fim_somado).toLocaleFixed(2) : , vlr_desc preco_publicovlr_desc ? preco_publicovlr_desc : , vlr_ini preco_publicovalor_ini ? preco_publicovalor_ini : , tipo_desc preco_publicotipo_desc ? preco_publicotipo_desc : classe_cor_botao_desconto preco_publicocor_desc; classe_cor_botao_desconto_hover preco_publicocor_hover_desc; // botao de desconto texto_botao_desconto preco_publicodescricao_botao_html ? preco_publicodescricao_botao_html .replace(/\${qtd_ini_desc}/g, qtd_produto) .replace(/\${qtd_fim_desc}/g, qtd_fim_produto) .replace(/\${valor_fim}/g, valor_fim) .replace(/\${valor_fim_somado}/g, valor_fim_somado) .replace(/\${cd_produto_final_nome}/g, cd_produto_final_nome) : ; texto_botao_padrao preco_publicodescricao_botao_padrao_html ? preco_publicodescricao_botao_padrao_html .replace(/\${valor_ini}/g, valor_ini) .replace(/\${qtd_ini_desc}/g, qtd_produto) .replace(/\${qtd_fim_desc}/g, qtd_fim_produto) .replace(/\${valor_fim}/g, valor_fim) .replace(/\${valor_fim_somado}/g, valor_fim_somado) .replace(/\${cd_produto_final_nome}/g, cd_produto_final_nome) : ; // texto do desconto texto_preco preco_publicodescricao_html ? preco_publicodescricao_html .replace(/\${qtd_ini_desc}/g, qtd_produto) .replace(/\${qtd_fim_desc}/g, qtd_fim_produto) .replace(/\${valor_fim}/g, valor_fim) .replace(/\${referencia}/g, referencia) .replace(/\${valor_ini}/g, valor_ini) .replace(/\${valor_fim_somado}/g, valor_fim_somado) .replace(/\${cd_produto_final_nome}/g, cd_produto_final_nome) .replace(/\${cd_produto_final_url}/g, cd_produto_final_url) : ; } if (preco_clube) { if (preco_clube.imagem_selo) { html_desconto + `img src/media/${preco_clube.imagem_selo ? preco_clube.imagem_selo : } alt classdesconto-produto float-left>`; classe_img img-selo } var x (((preco_publico.referencia - preco_clube.referencia) / preco_publico.referencia) * 100).toFixed(2).toString(); if (x && parseFloat(x) > 5.0) html_desconto + `div classdesconto-produto font-weight-bold >article> -${x ? parseFloat(x) 9.6 ? parseFloat(x).toFixed(1) : parseFloat(x).toFixed(0) : }% /article>/div>`; classe_img img-div; var texto_preco ``, classe_botao_default , texto_botao_clube , classe_cor_botao_desconto preco_clubecor_desc, classe_cor_botao_desconto_hover , qtd_produto `${preco_clubeqtd_ini_desc ? preco_clubeqtd_ini_desc : }`, qtd_fim_produto `${preco_clubeqtd_fim_desc ? preco_clubeqtd_fim_desc : }`, cd_produto_final_url `${preco_clubecd_produto_final_url ? preco_clubecd_produto_final_url : }`, cd_produto_final_nome `${preco_clubecd_produto_final_nome ? preco_clubecd_produto_final_nome : }`, referencia preco_clubereferencia ? parseFloat(preco_clubereferencia).toLocaleFixed(2) : , valor_ini preco_publicovalor_ini ? parseFloat(preco_publicovalor_ini).toLocaleFixed(2) : , valor_fim preco_clubevalor_fim ? parseFloat(preco_clubevalor_fim).toLocaleFixed(2) : , valor_fim_somado preco_clubevalor_fim_somado ? parseFloat(preco_clubevalor_fim_somado).toLocaleFixed(2) : , vlr_desc preco_clubevlr_desc ? preco_clubevlr_desc : , vlr_ini preco_publicovalor_ini ? preco_publicovalor_ini : , tipo_desc preco_clubetipo_desc ? preco_clubetipo_desc : ; texto_botao_desconto preco_clube.descricao_botao_html ? preco_clube.descricao_botao_html .replace(/\${qtd_ini_desc}/g, qtd_produto) .replace(/\${qtd_fim_desc}/g, qtd_fim_produto) .replace(/\${valor_fim}/g, valor_fim) .replace(/\${valor_fim_somado}/g, valor_fim_somado) .replace(/\${cd_produto_final_nome}/g, cd_produto_final_nome) : ; texto_botao_padrao preco_clube.descricao_botao_padrao_html ? preco_clube.descricao_botao_padrao_html .replace(/\${valor_ini}/g, valor_ini ? valor_ini : ) .replace(/\${qtd_ini_desc}/g, qtd_produto) .replace(/\${qtd_fim_desc}/g, qtd_fim_produto) .replace(/\${valor_fim}/g, valor_fim) .replace(/\${valor_fim_somado}/g, valor_fim_somado) .replace(/\${cd_produto_final_nome}/g, cd_produto_final_nome) : texto_preco preco_clube.descricao_html ? preco_clube.descricao_html .replace(/\${valor_fim}/g, valor_fim ? valor_fim : ) .replace(/\${valor_ini}/g, valor_ini ? valor_ini : ) .replace(/\${qtd_ini_desc}/g, qtd_produto) .replace(/\${qtd_fim_desc}/g, qtd_fim_produto) .replace(/\${valor_fim_somado}/g, valor_fim_somado) .replace(/\${cd_produto_final_nome}/g, cd_produto_final_nome) : ; } if (preco_pbm) { var texto_preco ``, classe_botao_default , texto_botao_clube , classe_cor_botao_desconto preco_pbmcor_desc, classe_cor_botao_desconto_hover , qtd_produto `${preco_pbmqtd_ini_desc ? preco_pbmqtd_ini_desc : }`, qtd_fim_produto `${preco_pbmqtd_fim_desc ? preco_pbmqtd_fim_desc : }`, cd_produto_final_url `${preco_pbmcd_produto_final_url ? preco_pbmcd_produto_final_url : }`, cd_produto_final_nome `${preco_pbmcd_produto_final_nome ? preco_pbmcd_produto_final_nome : }`, referencia preco_pbmreferencia ? parseFloat(preco_pbmreferencia).toLocaleFixed(2) : , valor_ini preco_publicovalor_ini ? parseFloat(preco_publicovalor_ini).toLocaleFixed(2) : , valor_fim preco_pbmvalor_fim ? parseFloat(preco_pbmvalor_fim).toLocaleFixed(2) : , valor_fim_somado preco_pbmvalor_fim_somado ? parseFloat(preco_pbmvalor_fim_somado).toLocaleFixed(2) : , vlr_desc preco_pbmvlr_desc ? preco_pbmvlr_desc : , vlr_ini preco_publicovalor_ini ? preco_publicovalor_ini : , tipo_desc preco_pbmtipo_desc ? preco_pbmtipo_desc : ; var texto_botao_pbm preco_pbmdescricao_botao_html ? preco_pbmdescricao_botao_html .replace(/\${qtd_ini_desc}/g, preco_pbmqtd_produto ? preco_pbmqtd_produto : ) .replace(/\${qtd_fim_desc}/g, preco_pbmqtd_fim_produto ? preco_pbmqtd_fim_produto : ) .replace(/\${valor_fim}/g, preco_pbmvalor_fim ? parseFloat(preco_pbmvalor_fim).toLocaleFixed(2) : ) .replace(/\${valor_fim_somado}/g, preco_pbmvalor_fim_somado ? preco_pbmvalor_fim_somado : ) .replace(/\${cd_produto_final_nome}/g, preco_pbmcd_produto_final_nome ? preco_pbmcd_produto_final_nome : ) : ; if (preco_publico.is_desc) { classe_cor_botao_desconto preco_publicocor_desc, classe_cor_botao_desconto_hover , qtd_produto `${preco_publicoqtd_ini_desc ? preco_publicoqtd_ini_desc : }`, qtd_fim_produto `${preco_publicoqtd_fim_desc ? preco_publicoqtd_fim_desc : }`, texto_preco preco_publicodescricao_html ? preco_publicodescricao_html .replace(/\${qtd_ini_desc}/g, preco_publico.qtd_ini_desc) .replace(/\${qtd_fim_desc}/g, preco_publico.qtd_fim_desc) .replace(/\${valor_fim}/g, preco_publico.valor_fim ? parseFloat(preco_publico.valor_fim).toLocaleFixed(2) : ) .replace(/\${referencia}/g, preco_publico.referencia ? parseFloat(preco_publico.referencia).toLocaleFixed(2) : ) .replace(/\${valor_ini}/g, preco_publico.valor_ini ? parseFloat(preco_publico.valor_ini).toLocaleFixed(2) : ) .replace(/\${valor_fim_somado}/g, preco_publico.valor_fim_somado ? parseFloat(preco_publico.valor_fim_somado).toLocaleFixed(2) : ) .replace(/\${cd_produto_final_nome}/g, preco_publico.cd_produto_final_nome) .replace(/\${cd_produto_final_url}/g, preco_publico.cd_produto_final_url) : ; texto_botao_padrao preco_publicodescricao_botao_padrao_html ? preco_publicodescricao_botao_padrao_html .replace(/\${valor_ini}/g, valor_ini) .replace(/\${qtd_ini_desc}/g, qtd_produto) .replace(/\${qtd_fim_desc}/g, qtd_fim_produto) .replace(/\${valor_fim}/g, valor_fim) .replace(/\${valor_fim_somado}/g, valor_fim_somado) .replace(/\${cd_produto_final_nome}/g, cd_produto_final_nome) : ; } else if (preco_clube) { classe_cor_botao_desconto preco_clubecor_desc, classe_cor_botao_desconto_hover , texto_preco preco_clube.descricao_html ? preco_clube.descricao_html .replace(/\${qtd_ini_desc}/g, preco_clube.qtd_produto) .replace(/\${qtd_fim_desc}/g, preco_clube.qtd_fim_produto) .replace(/\${valor_fim}/g, preco_clube.valor_fim ? parseFloat(preco_clube.valor_fim).toLocaleFixed(2) : ) .replace(/\${referencia}/g, preco_clube.referencia ? parseFloat(preco_clube.referencia).toLocaleFixed(2) : ) .replace(/\${valor_ini}/g, preco_clube.valor_ini ? parseFloat(preco_clube.valor_ini).toLocaleFixed(2) : ) .replace(/\${valor_fim_somado}/g, preco_clube.valor_fim_somado ? parseFloat(preco_clube.valor_fim_somado).toLocaleFixed(2) : ) .replace(/\${cd_produto_final_nome}/g, preco_clube.cd_produto_final_nome) .replace(/\${cd_produto_final_url}/g, preco_clube.cd_produto_final_url) : ; texto_botao_padrao preco_clube.descricao_botao_padrao_html ? preco_clube.descricao_botao_padrao_html .replace(/\${valor_ini}/g, valor_ini ? valor_ini : ) .replace(/\${qtd_ini_desc}/g, qtd_produto) .replace(/\${qtd_fim_desc}/g, qtd_fim_produto) .replace(/\${valor_fim}/g, valor_fim) .replace(/\${valor_fim_somado}/g, valor_fim_somado) .replace(/\${cd_produto_final_nome}/g, cd_produto_final_nome) : } } if (texto_botao_pbm) { botoes + botao_pbm.replace(%texto_desconto%, texto_botao_pbm).replace(%qtd_produto%, qtd_produto ? qtd_produto : 1).replace(%valor_produto%, preco_pbm.valor_fim); } if (texto_botao_desconto) { botoes + botao_desconto.replace(%classe_cor_botao_desconto%, classe_cor_botao_desconto).replace(%texto_desconto%, texto_botao_desconto).replace(%qtd_produto%, qtd_produto ? qtd_produto : 1).replace(%valor_produto%, valor_fim).replace(%vlr_ini%, vlr_ini).replace(%vlr_desc%, vlr_desc).replace(%tipo_desc%, tipo_desc); } if (texto_botao_padrao) { botoes + botao_default.replace(%comprar%, texto_botao_padrao).replace(%classebotao%, preco_clube ? isDisabled : ).replace(%valor_produto%, valor_ini).replace(%vlr_ini%, vlr_ini).replace(%vlr_desc%, vlr_desc).replace(%tipo_desc%, tipo_desc); } let produto $(`data-produto_id${index}`); if (preco_pbm) { produto.find(#preco_pbm).html(`R$ ${parseFloat(preco_pbm.valor_fim).toLocaleFixed(2)}`); } produto.find(data-targetdesconto-produto).html(html_desconto); produto.find(data-targetdesconto-produto).addClass(view-produto + classe_img); produto.find(.produto-footer).html(botoes); if (preco_pbm) { let produto_url ; if (preco_pbm.hasOwnProperty(produto_url)) { produto_url / + preco_pbmproduto_url; } if (produto.attr(data-target) ! produto_view) { produto.find(.produto-footer).html(` div classproduto-comprar pt-2 stylewidth:inherit> a href${produto_url} classbtn btn-pbm text-white d-block text-center mw-200px font-weight-bold data-loading-textarticle>i classfa fa-spinner fa-spin >/i> aguarde.../article>> article classtext-nowrap> Saiba Mais /article> /a> /div> `); texto_preco `span classfont-weight-bold font-xl text-marine>R$ ${parseFloat(preco_pbm.valor_fim).toLocaleFixed(2)}/span> span classfont-weight-bolder small>no PBM/span`; } } if (!preco_publico.is_disponivel) { produto.addClass(is_indisponivel) botoes ` div classproduto-comprar pt-2 pb-3 stylewidth:inherit> span classfont-weight-bold text-danger bg-white text-nowrap small>Produto indisponível/span> /div> `; for (let i 0; i produto.length; i++) { if ($(produtoi).attr(data-target) produto_view) { $(produtoi).find(data-togglenumber_plus_minus).parent().prev().remove(); $(produtoi).find(data-togglenumber_plus_minus).parent().remove(); } } produto.find(.produto-footer).html(botoes); } produto.find(.produto-footer data-targetbtn-comprar-levemais).on({ mouseenter: function () { classe_cor_botao_desconto_hover # + classe_cor_botao_desconto_hover; $(this).css({backgroundColor: classe_cor_botao_desconto_hover}); }, mouseleave: function () { classe_cor_botao_desconto # + classe_cor_botao_desconto; $(this).css({backgroundColor: classe_cor_botao_desconto}); } }); produto.find(href).on(click.fbqfunc, function (ev) { let id_produto $(ev.target).parents(data-produto_id); let arrayProdutos ; id_produto.parents(.owl-stage).find(.owl-item:not(.cloned) .produto).each((chave, valor) > { arrayProdutos.push($(valor).attr(data-produto_id)); }); let index_list arrayProdutos.indexOf(id_produto.attr(data-produto_id)) + 1; let item_list_name id_produto.parents(.owl-stage).parent().parent().parent().find(.text-border-bottom-amarelo).text(); filtroParaDadosAnaliticos(ViewContent, { items: { id: id_produto.attr(data-produto_id), price: id_produto.find(data-vlr_desc).attr(data-vlr_ini) ? id_produto.find(data-vlr_desc).attr(data-vlr_ini) : , discount: id_produto.find(data-vlr_desc).attr(data-vlr_desc) ? id_produto.find(data-vlr_desc).attr(data-vlr_desc) : , item_name: id_produto.find(data-targetnome_produto).text(), promotion_name: id_produto.find(data-vlr_desc).attr(data-tipo_desc) ? id_produto.find(data-vlr_desc).attr(data-tipo_desc) : , currency: BRL, item_list_name: item_list_name, item_list_id: item_list_name.toLowerCase().replace(/\s/g, _), index: index_list }, , }); }); produto.find(`data-targetpreco-produto`).html(texto_preco); produto.find(data-targetbtn-comprar).off(click).on(click, function (ev) { adicionarProdutoCarrinho(preco_publico.hash, parseInt($(this).attr(data-qtd_produto)), this); }); produto.find(data-targetbtn-comprar-levemais).off(click).on(click, function (ev) { adicionarProdutoCarrinho(preco_publico.is_desc ? preco_publico.hash : preco_clube.hash, parseInt($(this).attr(data-qtd_produto)), this); }); produto.find(data-targetbtn-comprar-pbm).off(click).on(click, function (ev) { adicionarProdutoCarrinho(preco_pbm.hash, parseInt($(this).attr(data-qtd_produto)), this); }); }); } } $(data-targetproduto_view).find(.mw-200px).removeClass(mw-200px).addClass(w-100 font-xl); if (!doSubmitViewItem) { doSubmitViewItem true; let carrosseisProdutos $(.produtos.owl-carousel).parent(); if (carrosseisProdutos.length 0 && $(data-targetproduto_view).length > 0) { doSubmitViewItem false; } if ($(.produtos.owl-carousel).length > 0) { carrosseisProdutos.each((chave, element) > { let itemListName $(element).find(.text-border-bottom-amarelo).html(); let listaItems ; let cont 1; $(element).find(.owl-item:not(.cloned) .produto).each((c, e) > { listaItems.push({ item_id: $(e).attr(data-produto_id), price: $(e).find(data-vlr_desc).attr(data-vlr_ini) ? $(e).find(data-vlr_desc).attr(data-vlr_ini) : , discount: $(e).find(data-vlr_desc).attr(data-vlr_desc) ? $(e).find(data-vlr_desc).attr(data-vlr_desc) : , item_name: $(e).find(.text-body.cursor-pointer.text-limit-2).html(), promotion_name: $(e).find(data-vlr_desc).attr(data-tipo_desc) ? $(e).find(data-vlr_desc).attr(data-tipo_desc) : , item_list_name: itemListName, item_list_id: itemListName ? itemListName.toLowerCase().replace(/\s/g, _) : , currency: BRL, index: cont }); cont++; }); let termo { item_list_name: itemListName, item_list_id: itemListName ? itemListName.toLowerCase().replace(/\s/g, _) : , items: listaItems }; filtroParaDadosAnaliticos(ViewItemList, termo); }); } let pesquisaProdutos $(#search-produtos).parent(); if ($(#search-produtos).length > 0) { let itemListName pesquisaProdutos.find(.font-xs.font-weight-bold.text-uppercase).last().attr(href); let listaItems ; let cont 1; pesquisaProdutos.find(.produto).each((c, e) > { listaItems.push({ item_id: $(e).attr(data-produto_id), price: $(e).find(data-vlr_desc).attr(data-vlr_ini) ? $(e).find(data-vlr_desc).attr(data-vlr_ini) : , discount: $(e).find(data-vlr_desc).attr(data-vlr_desc) ? $(e).find(data-vlr_desc).attr(data-vlr_desc) : , item_name: $(e).find(.text-body.cursor-pointer.text-limit-2).html(), promotion_name: $(e).find(data-vlr_desc).attr(data-tipo_desc) ? $(e).find(data-vlr_desc).attr(data-tipo_desc) : , item_list_name: itemListName, item_list_id: itemListName ? itemListName.toLowerCase().replace(/\s/g, _) : , currency: BRL, index: cont }) }); let termo { item_list_name: itemListName, item_list_id: itemListName ? itemListName.toLowerCase().replace(/\s/g, _) : , items: listaItems }; filtroParaDadosAnaliticos(ViewItemList, termo); } } }, error: function (data) { load(off, $(body)); for (let i 0; i produtos_ids.length; i++) { load(off, $(data-produto_id + produtos_idsi + )); } if (data.statusText ! error) { toastr.error(Ocorreu um erro inesperado ao atualizar os preços dos produtos., Erro); } } }); } } pegarPrecosAtribuirDescontos(); var qtd_adicionado 0; /script> !-- Fim do carrinho scripts -->script> $(#barra-pesquisa).on(focusout, function (e) { setTimeout(() > { $(.dropdown-search).css({ visibility: hidden }); }, 200); }) function validaCPF(t) { var e, n 0; if (00000000000 (t t.replace(/^\d+/g, )) || 11111111111 t || 22222222222 t || 33333333333 t || 44444444444 t || 55555555555 t || 66666666666 t || 77777777777 t || 88888888888 t || 99999999999 t) return !1; for (i 1; i 9; i++)e 10 * (n + parseInt(t.substring(i - 1, i)) * (11 - i)) % 11; if (10 ! e && 11 ! e || (e 0), e ! parseInt(t.substring(9, 10))) return !1; for (n 0, i 1; i 10; i++)e 10 * (n + parseInt(t.substring(i - 1, i)) * (12 - i)) % 11; return 10 ! e && 11 ! e || (e 0), e parseInt(t.substring(10, 11)) } function validaSenha() { return $(#senha_cadastro).val() $(#confirm-senha_cadastro).val() } function conteudoModal(t) { login t ? ($(#html_login).removeClass(d-none), $(#html_cadastro).addClass(d-none)) : ($(#html_cadastro).removeClass(d-none), $(#html_login).addClass(d-none)) } function onoffbody(t) { on t ? $(.body-disabled).css({ visibility: hidden, opacity: 0 }) : $(.body-disabled).css({ visibility: visible, opacity: 1 }) } function objectifyForm(t) { let e {}; for (var i 0; i t.length; i++)ti.value && (eti.name ti.value); return e } $(.cpf).on(blur, function () { validaCPF(this.value) ? this.setCustomValidity() : this.setCustomValidity(cpf invalido) }), $(.index_letra).on(click, function (t) { return t.preventDefault(), t.stopPropagation(), !1 }), $(.index_letra a).hover(function () { var t $(this).attr(href), t $(t).offset().top - $(.itens_index).offset().top + $(.itens_index).scrollTop(); $(.itens_index).stop().animate({ scrollTop: t }, 200) }), $(.btn_footer-collapse).on(click, function (t) { false t.target.getAttribute(aria-expanded) ? ($(t.target).html($(t.target).html().replace(Mais, Menos)), $(t.target).children(img).css({ transform: rotate(180deg) })) : ($(t.target).html($(t.target).html().replace(Menos, Mais)), $(t.target).children(img).css({ transform: rotate(0deg) })) }); window.onload function () { load(off, $(body)) }; $(#modal_localizacao_mapa).on(hidden.bs.modal, function (a) { $(data-targetmap-lista_horarios_p).removeClass(d-none), $(data-targetmap-lista_horarios_div).removeClass(d-none), $(data-targetmap-lista_servicos_div).removeClass(d-none), $(data-targetmap-lista_servicos).removeClass(d-none) }); function minimizar_e_maximizar(i) { i && ($($(i).attr(data-target)).hasClass(show) ? $(i).find(.indicador).removeClass(icon_horizontal-line).addClass(icon_plus) : $(i).find(.indicador).removeClass(icon_plus).addClass(icon_horizontal-line)) } String.prototype.slugify || (String.prototype.slugify function () { return this.toString().toLowerCase().replace(/àÀáÁâÂãäÄÅåª+/g, a).replace(/èÈéÉêÊëË+/g, e).replace(/ìÌíÍîÎïÏ+/g, i).replace(/òÒóÓôÔõÕöÖº+/g, o).replace(/ùÙúÚûÛüÜ+/g, u).replace(/ýÝÿŸ+/g, y).replace(/ñÑ+/g, n).replace(/çÇ+/g, c).replace(/ß+/g, ss).replace(/Ææ+/g, ae).replace(/Øøœ+/g, oe).replace(/%+/g, pct).replace(/\-\-+/g, ).replace(/\-/g, ).replace(/^-+/, ).replace(/-+$/, ) }); $(namesexo).on(change, function () { $(namesexo).removeClass(is-invalid) }), $(#termo-uso).on(change, function () { this.checked ? $(#btn-cadastrar).removeAttr(disabled) : $(#btn-cadastrar).attr(disabled, true) }), $(.cpf).mask(000.000.000-00), $(.telefone).mask((00) 0 0000-0000), $(.cep).mask(00.000-000), $(.rg).mask(00.000.000-0, { placeholder: }), $(.dt-nascimento).mask(00/00/0000), $(.cartao).mask(0000.0000.0000.0000), $(.validade-num).mask(00/00), $(.cvv).mask(000), $(.rg).mask(00.000.000-0), $(.number).mask(#), $(.cnpj).mask(00.000.000/0001-00), $(.input-busca).on(focus, function () { onoffbody(off), $(.dropdown-search).css({ visibility: visible }), $(this).css({ borderBottom: none }) }); var listasearch ; $(.input-busca).on(focusout, function () { onoffbody(on); $(this).css({ borderBottom: 1px solid #e4e7ea })}); $(#barra-pesquisa).on(focus, function (e) { if($(.dropdown-search).children().length 0){ $(.dropdown-search).append(`div classcol-12 col-md-4 idsearch-suggestion>p classfont-weight-bold font-sm mb-3 text-border-bottom-amarelo>Sugestão/p>/div>`); return /* TODO: remover comentário quando a url de pesquisa estiver pronta */ $.ajax({ url: , type: POST, data: { csrfmiddlewaretoken: 17s1iBwNobnxyf5AVLqBFGN01aOc56f4SqfFeT9OHm1lnCpq0Y5L6XET1LVXDFDi, }, success: (data) > { data.dados.forEach(value > { var texto document.createElement(p); texto.classList.add(text-search); texto.classList.add(my-1); texto.style.cursor pointer; $(texto).on(click, function () { let valor value; valor valor.replace(/\s/g, -).trim(); window.location.replace(/pesquisa/ + valor); }); texto.innerHTML value; // for com o texto do resultado da busca // $(#search-suggestion).append(texto); }) load(off, $(.dropdown-search)); }, error: function (data) { load(off, $(.dropdown-search)); } }); } }) function toggleSidebar() { $(body).css({ overflow: auto }), $(.body-disabled).css({ visibility: hidden }); var t document.getElementsByClassName(sidebar-mobile)0; 0px t.style.left ? (t.style.left -100%) : ($(body).css({ overflow: hidden }), $(.body-disabled).css({ visibility: visible }), (t.style.left 0)); } $(.input-padrao).each(function (t, e) { null e.value || null e.value || e.value || e.parentNode.classList.add(active); }), $(.input-padrao).on(focus, function (t) { t.target.parentNode.classList.add(active); }), $(.input-padrao).on(blur, function (t) { 0 this.value.length && t.target.parentNode.classList.remove(active); }), $(.input-padrao:required).on(keypress, function (t) { ! t.target.value ? t.target.setCustomValidity() : t.target.setCustomValidity(preencha o campo); }), $(.mostra-senha).on(click, function (t) { show $(this).attr(data-target) ? ($(this).attr(data-target, close), t.target.parentNode.querySelector(.senha).setAttribute(type, text), (this.style.background url(/staticfiles/img/icons/icon-eye-hide.png) no-repeat center)) : ($(this).attr(data-target, show), t.target.parentNode.querySelector(.senha).setAttribute(type, password), (this.style.background url(/staticfiles/img/icons/icon-eye-show.png) no-repeat center)); }), $(.has-children).on(click, function (t) { t.target.parentNode.children1 && t.target.parentNode.children1.classList.add(active); }), $(.back_sidebar).on(click, function (t) { t.target.parentNode.parentNode && t.target.parentNode.parentNode.classList.remove(active); }); $(.is-numeric).mask(00000000000000000000000000); function alterarPassoReceita(passo){ $(.passo:not(data-passo+passo+)).hide(600); $(.passodata-passo+passo+).show(600); } $(.rg-receita).mask(00.000.000-00) $(.qtd-receita).mask(00) async function getEstados(form, loader){ return load(on, $(loader)); return new Promise(function(resolve, reject) { $.ajax({ type: GET, url: , data: { csrfmiddlewaretoken: 17s1iBwNobnxyf5AVLqBFGN01aOc56f4SqfFeT9OHm1lnCpq0Y5L6XET1LVXDFDi, }, success: function (response) { let estados response && response.estados && response.estados.length > 0 ? response.estados : let html `` estados.forEach(estado > { if(estado.id){ html + `option value${estado.id} ${estado.id 41 ? selected : }>${estado.nm_abrev}/option>` } }) $(form).find(nameestado-documento).html(html); load(off, $(loader)); resolve() }, error: function(error) { load(off, $(loader)); resolve() } }) }) } let path_receita_carrinho function filepond_receita_carrinho(is_required){ $(#receita_anexo_carrinho).filepond({ allowFileTypeValidation: true, acceptedFileTypes: image/jpeg, application/pdf, allowMultiple: false, instantUpload: true, allowImagePreview: false, maxParallelUploads: 1, maxFiles: 1, required: is_required ? is_required : false, onprocessfilestart: function (file) { $(#form_upload_receita_carrinho).find(.submit-receita).addClass(isDisabled) }, onprocessfiles: function () { $(#form_upload_receita_carrinho).find(.submit-receita).removeClass(isDisabled) }, onremovefile: function (error, file) { $(#form_upload_receita_carrinho).find(.submit-receita).removeClass(isDisabled) }, server: { process: (fieldName, file, metadata, load, error, progress, abort, transfer, options) > { var reader new FileReader(); reader.readAsDataURL(file); reader.onloadend function () { var base64data reader.result; var data new FormData(); data.append(csrfmiddlewaretoken, 17s1iBwNobnxyf5AVLqBFGN01aOc56f4SqfFeT9OHm1lnCpq0Y5L6XET1LVXDFDi); data.append(nome, file.name); data.append(arquivo, base64data); data.append(diretorio, receitas/); const request new XMLHttpRequest(); request.open(POST, /core/arquivo/salvar) request.upload.onprogress (e) > { progress(e.lengthComputable, e.loaded, e.total); }; request.onload function () { if (request.status > 200 && request.status 300) { load(request.responseText); let retorno JSON.parse(request.response) path_receita_carrinho retorno.path } else { error(oh no); toastr.error(Ocorreu um erro ao fazer o upload do arquivo., Erro); } }; request.send(data); return { abort: () > { toastr.error(Ocorreu um erro ao fazer o upload do arquivo., Erro); request.abort(); abort(); path_receita_carrinho } }; } }, revert: (uniqueFileId, load, error) > { $.ajax({ type: POST, url: /core/arquivo/deletar, data: { csrfmiddlewaretoken: 17s1iBwNobnxyf5AVLqBFGN01aOc56f4SqfFeT9OHm1lnCpq0Y5L6XET1LVXDFDi, path: JSON.parse(uniqueFileId).path, }, success: function (data) {}, error: function (data) {} }); load() path_receita_carrinho }, }, labelFileLoading: Carregando, labelFileProcessing: Carregando, labelTapToCsancel: Clique para cancelar, labelFileProcessingComplete: Upload completo, labelTapToUndo: Clique para remover, labelButtonRemoveItem: Remover, labelFileTypeNotAllowed: Extensão do arquivo inválida, fileValidateTypeLabelExpectedTypes: As seguintes esxtensões são esperadas: {allTypes}, fileValidateTypeLabelExpectedTypesMap: {image/jpeg: JPG, application/pdf: PDF}, labelIdle: `img src/staticfiles/img/icons/icon_upload02.svg width50 alt classmr-2>Arraste o(s) arquivo(s) aqui ou a classbtn btn-outline-secondary btn-sm>Selecione do computador/a>`, }) }/script>script> document.addEventListener(DOMContentLoaded, function() { var subdomain window.location.hostname.split(.)0; if (subdomain app) { document.querySelector(.whatsapp-float-button).addClass(d-none) } });/script>script> function aplicativo_login(usuario, senha, hash) { return let pagina_anterior document.referrer; $.ajax({ type: POST, url: , data: { username: usuario, password: senha, hash: hash }, success: async function (data) { if (data.status) { } else { } } }); }/script> script> function carregar_carrossel() { $(.carrossel-imagem-mobile).parent().remove(); let slider_id .carousel-topo; let slider_config { title: Banner Home, show_title: 0, status: 1, scheduled_ajax: null, nav: 0, dots: 1, center: 0, items: 1, loop: 1, margin: 0, merge: null, URLhashListener: null, stagePadding: 0, lazyLoad: 0, transition: fadeOut, autoplay: 1, autoplayTimeout: 6000, autoplayHoverPause: 1, autoHeight: 0, nav_brk1: 0, items_brk1: 1, nav_brk2: 0, items_brk2: 1, nav_brk3: 0, items_brk3: 1, nav_brk4: 0, items_brk4: 1 }; let items ((slider_config.items > 0 && slider_config.items ! null) ? slider_config.items : 1); if (slider_config.transition ! slide) { items 1; } let stagePadding slider_config.stagePadding ! ? parseInt(slider_config.stagePadding) : 0; let animate_Out slider_config.transition ! fadeOut; /** Lazyload bug when fewer items exist in the carousel then the ones displayed */ $(slider_id).on(initialized.owl.carousel, function (event) { let scopeSize event.page.size; for (let i 0; i scopeSize; i++) { let imgsrc $(event.target).find(.owl-item).eq(i).find(img).attr(data-src); $(event.target).find(.owl-item).eq(i).find(img).attr(src, imgsrc); $(event.target).find(.owl-item).eq(i).find(img).attr(style, opacity: 1;); } }); $(slider_id).owlCarousel({ dots: parseInt(slider_config.dots) 1, center: (slider_config.center 1 && animate_Out), items: 1, loop: parseInt(slider_config.loop) 1, margin: 20, stagePadding: parseInt(slider_config.center) 1 ? 0 : stagePadding, lazyLoad: parseInt(slider_config.lazyLoad) 1, autoplay: parseInt(slider_config.autoplay) 1, autoplayTimeout: 6000, autoplayHoverPause: parseInt(slider_config.autoplayHoverPause) 1, autoHeight: parseInt(slider_config.autoHeight) 1, animateOut: fadeOut, animateIn: slideron, nav: true, navClass: prev btn, next btn, navText: img src/staticfiles/img/icons/seta-esquerda-verde.svg width15>, img src/staticfiles/img/icons/seta-direita-verde.svg width15>, }); $(.produtos).owlCarousel({ loop: true, margin: 10, dots: true, stagePaddingRight: 80, stagePaddingLeft: 1, nav: true, navClass: prev btn, next btn, navText: img src/staticfiles/img/icons/seta-esquerda-verde.svg width15>, img src/staticfiles/img/icons/seta-direita-verde.svg width15>, responsive: { 0: { items: 2, margin: 5, stagePaddingLeft: 1, stagePaddingRight: 25, }, 600: { items: 3, margin: 5, stagePaddingLeft: 1, stagePaddingRight: 25, }, 768: { items: 4, margin: 5, stagePaddingLeft: 1, stagePaddingRight: 25, }, 800: { items: 4, margin: 5, stagePaddingLeft: 1, stagePaddingRight: 25, }, 1000: { items: 4, margin: 10, stagePaddingLeft: 1, }, 1200: { items: 5, margin: 10, stagePaddingLeft: 1, }, } }); $(#categorias_mundo).owlCarousel({ loop: true, dots: true, stagePaddingRight: 80, nav: true, navClass: prev btn, next btn, navText: img src/staticfiles/img/icons/seta-esquerda-verde.svg width15>, img src/staticfiles/img/icons/seta-direita-verde.svg width15>, responsive: { 0: { items: 2, margin: 5, stagePaddingLeft: 1, stagePaddingRight: 30, }, 390: { items: 2, margin: 20, stagePaddingLeft: 1, stagePaddingRight: 30, }, 450: { items: 2, margin: 25, stagePaddingLeft: 1, stagePaddingRight: 30, }, 600: { items: 3, margin: 5, stagePaddingLeft: 1, stagePaddingRight: 25, }, 800: { items: 5, margin: 10, stagePaddingLeft: 1, stagePaddingRight: 30, }, 1000: { items: 5, margin: 10, stagePaddingLeft: 1, }, 1200: { items: 5, margin: 20, stagePaddingLeft: 15, }, } }); $(.categorias).find(img).attr(width, 120).css(max-width, 120px); $(.categorias).find(img).attr(height, 120); $(.categorias).owlCarousel({ loop: true, dots: false, stagePaddingRight: 80, nav: true, navClass: prev btn, next btn, navText: img src/staticfiles/img/icons/flecha-esquerda.svg width15>, img src/staticfiles/img/icons/flecha-direita.svg width15>, responsive: { 0: { items: 3, margin: 10, stagePaddingLeft: 1, stagePaddingRight: 30, }, 390: { items: 3, margin: 30, stagePaddingLeft: 1, stagePaddingRight: 30, }, 450: { items: 3, margin: 25, stagePaddingLeft: 1, stagePaddingRight: 30, }, 600: { items: 4, margin: 5, stagePaddingLeft: 1, stagePaddingRight: 25, }, 800: { items: 5, margin: 10, stagePaddingLeft: 1, stagePaddingRight: 30, }, 1000: { items: 5, margin: 10, stagePaddingLeft: 1, }, 1200: { items: 5, margin: 20, stagePaddingLeft: 15, }, } }); } carregar_carrossel(); let itens { nome: Verão, url: /categorias/dermocosmeticos/protecao-solar?origemcarrossel_itens_bolinha_2, imagem: /static/img/logo-laranja_hiperzoo.png, }, { nome: Dermos, url: /especial-dermocosmeticos?origemcarrossel_itens_bolinha_3, imagem: /static/img/logo-laranja_hiperzoo.png, }, { nome: Infantil, url: /categorias/infantil?origemcarrossel_itens_bolinha_4, imagem: /static/img/menus/Dermocosmeticos.jpg, }, ; /script>script typetext/javascript async srchttps://d335luupugsy2.cloudfront.net/js/loader-scripts/e98d8fdd-2fc0-4339-bb56-d30ea4e628a5-loader.js >/script>/body>/html>
View on OTX
|
View on ThreatMiner
Please enable JavaScript to view the
comments powered by Disqus.
Data with thanks to
AlienVault OTX
,
VirusTotal
,
Malwr
and
others
. [
Sitemap
]