Adivulgamix

Código: 9496JB5XV
Selecione a opção de TORRICELLA: BOTAS:
R$ 279,90
VER MAIS .... Estoque: Disponível
R$ 224,85
VER MAIS .... Estoque: Disponível
R$ 279,90
VER MAIS .... Estoque: Disponível
A partir de R$ 224,85
* Este prazo de entrega está considerando a disponibilidade do produto + prazo de entrega.
 
Eventos perto de você Ative sua localização

👋 Bem-vindo

📍 Ative sua localização

Raio de busca Até 20 km
0 eventos encontrados
0 eventos
próximos
 
 

Carregando eventos...

//====================================================== // AGENDA SUL V2 // PORTAL //====================================================== //====================================================== // AGENDA SUL V2 // PORTAL PROFISSIONAL // PARTE 01 //====================================================== //====================================================== // CONFIGURAÇÕES //====================================================== const SCRIPT_URL = "https://script.google.com/macros/s/AKfycbzWVX_EfUMPLwAiTRPThC1B4m9FnG5H93d10Xqr-0ijFEdpwcNSq8Tzt9jS-qgnAB0D/exec"; const CENTRO_INICIAL = [-26.25,-50.30]; const ZOOM_INICIAL = 8; const INTERVALO_ATUALIZACAO = 30000; //====================================================== // VARIÁVEIS //====================================================== let mapa; let cluster; let popupAtual=null; let rotaAtual=null; let usuario=null; let eventos=[]; let eventosFiltrados=[]; //====================================================== // CORRIGE COORDENADAS //====================================================== function corrigirCoordenada(valor){ if(valor===undefined) return null; if(valor===null) return null; valor=String(valor).trim(); if(valor==="") return null; valor=valor.replace(",", "."); if(valor.includes(".")){ return parseFloat(valor); } if(valor.startsWith("-26")){ return parseFloat( "-26."+valor.substring(3) ); } if(valor.startsWith("-27")){ return parseFloat( "-27."+valor.substring(3) ); } if(valor.startsWith("-28")){ return parseFloat( "-28."+valor.substring(3) ); } if(valor.startsWith("-29")){ return parseFloat( "-29."+valor.substring(3) ); } if(valor.startsWith("-49")){ return parseFloat( "-49."+valor.substring(3) ); } if(valor.startsWith("-50")){ return parseFloat( "-50."+valor.substring(3) ); } if(valor.startsWith("-51")){ return parseFloat( "-51."+valor.substring(3) ); } return parseFloat(valor); } //==================================================== // TRAÇAR ROTA //==================================================== function tracarRota(evento){ if(!usuario){ alert("Primeiro ative sua localização."); return; } if(!evento.latitude || !evento.longitude){ alert("Este evento não possui localização."); return; } // Remove rota anterior if(rotaAtual){ mapa.removeControl(rotaAtual); } // Cria nova rota rotaAtual=L.Routing.control({ waypoints:[ L.latLng( usuario.latitude, usuario.longitude ), L.latLng( Number(evento.latitude), Number(evento.longitude) ) ], routeWhileDragging:false, addWaypoints:false, draggableWaypoints:false, fitSelectedRoutes:true, showAlternatives:false, createMarker:function(){ return null; } }).addTo(mapa); // Quando encontrar a rota rotaAtual.on("routesfound",function(e){ const rota=e.routes[0]; const km=(rota.summary.totalDistance/1000).toFixed(1); const tempo=Math.round( rota.summary.totalTime/60 ); L.popup() .setLatLng([ Number(evento.latitude), Number(evento.longitude) ]) .setContent(`
${evento.titulo}

🚗 ${tempo} minutos
📍 ${km} km

`) .openOn(mapa); }); } //==================================================== // GOOGLE MAPS //==================================================== //====================================================== // INICIAR PORTAL //====================================================== window.addEventListener( "DOMContentLoaded", iniciarPortal ); async function iniciarPortal(){ console.log("AgendaSul iniciado."); iniciarMapa(); await carregarEventos(); iniciarPesquisa(); iniciarFiltros(); iniciarSliderDistancia(); iniciarPainelLocalizacao(); iniciarTopoCompacto(); } //==================================================== // SLIDER DISTÂNCIA //==================================================== //==================================================== // SLIDER DISTÂNCIA //==================================================== //==================================================== // SLIDER DISTÂNCIA //==================================================== //==================================================== // SLIDER DISTÂNCIA //==================================================== function iniciarSliderDistancia(){ const slider = document.getElementById("filtroDistancia"); if(!slider) return; slider.addEventListener("input",function(){ atualizarDistancia(this); }); atualizarDistancia(slider); } //==================================================== // ATUALIZA DISTÂNCIA //==================================================== //==================================================== // ATUALIZA DISTÂNCIA //==================================================== function atualizarDistancia(slider){ if(!slider) return; const valor = parseInt(slider.value); const texto = valor <= 0 ? "500 metros" : valor + " km"; document.getElementById("textoDistancia").textContent = texto; aplicarFiltros(); atualizarPainelResumo(); atualizarMapaDistancia(); } //==================================================== // MAPA DISTÂNCIA //==================================================== let circuloPesquisa = null; function atualizarMapaDistancia(){ if(!usuario || !mapa) return; const slider = document.getElementById( "filtroDistanciaResumo" ); if(!slider) return; const km = parseInt(slider.value); const metros = (km <= 0) ? 500 : km * 1000; if(circuloPesquisa){ mapa.removeLayer(circuloPesquisa); } circuloPesquisa = L.circle( [ usuario.latitude, usuario.longitude ], { radius: metros, color:"#2563EB", fillColor:"#2563EB", fillOpacity:0.08, weight:2 } ).addTo(mapa); //------------------------------------------------ // ZOOM AUTOMÁTICO //------------------------------------------------ let zoom = 8; if(km <= 0){ zoom = 17; }else if(km <= 1){ zoom = 15; }else if(km <= 5){ zoom = 13; }else if(km <= 10){ zoom = 12; }else if(km <= 20){ zoom = 11; }else if(km <= 50){ zoom = 10; }else if(km <= 100){ zoom = 9; }else{ zoom = 8; } mapa.setView( [ usuario.latitude, usuario.longitude ], zoom, { animate:true, duration:0.7 } ); } //==================================================== // TOPO LIMPO NO CELULAR //==================================================== function iniciarTopoCompacto(){ const topo = document.getElementById("topo"); const btnToggle = document.getElementById("btnToggleTopo"); if(!topo || !btnToggle) return; btnToggle.addEventListener("click", function(){ topo.classList.toggle("aberto"); }); function ajustarTopo(){ if(window.innerWidth > 768){ topo.classList.add("aberto"); }else{ topo.classList.remove("aberto"); } } ajustarTopo(); window.addEventListener("resize", ajustarTopo); } //====================================================== // MAPA //====================================================== function iniciarMapa(){ mapa=L.map( "mapa", { zoomControl:true } ).setView( CENTRO_INICIAL, ZOOM_INICIAL ); L.tileLayer( "https://{s}.tile.openstreetmap.org/{z}/{x}/{y}.png", { attribution:"© OpenStreetMap", maxZoom:19 } ).addTo(mapa); cluster=L.markerClusterGroup({ showCoverageOnHover:false, spiderfyOnMaxZoom:true, disableClusteringAtZoom:15 }); mapa.addLayer(cluster); L.control.scale({ metric:true, imperial:false }).addTo(mapa); } //====================================================== // API //====================================================== async function carregarEventos(){ try{ const resposta= await fetch( SCRIPT_URL+"?api=portal", { cache:"no-cache" } ); if(!resposta.ok){ throw new Error( "Erro ao acessar API." ); } eventos= await resposta.json(); eventos.forEach(function(e){ e.latitude= corrigirCoordenada( e.latitude ); e.longitude= corrigirCoordenada( e.longitude ); }); eventosFiltrados = [ ...eventos ]; // Preenche o filtro de cidades carregarFiltroCidades(); console.log( "Eventos carregados:", eventos.length ); renderizarPortal(); } catch(erro){ console.error( erro ); document .getElementById( "listaEventos" ) .innerHTML=`

Não foi possível carregar os eventos.

`; } } //==================================================== // GEOLOCALIZAÇÃO //==================================================== function localizarUsuario(){ if(!navigator.geolocation){ alert("Seu navegador não suporta geolocalização."); return; } navigator.geolocation.getCurrentPosition( function(pos){ usuario={ latitude:pos.coords.latitude, longitude:pos.coords.longitude }; // Remove marcador anterior if(window.marcadorUsuario){ mapa.removeLayer(window.marcadorUsuario); } // Cria marcador da localização window.marcadorUsuario=L.circleMarker( [ usuario.latitude, usuario.longitude ], { radius:8, color:"#2563EB", fillColor:"#2563EB", fillOpacity:0.8, weight:3 } ) .addTo(mapa) .bindPopup("📍 Você está aqui") .openPopup(); // Centraliza o mapa mapa.flyTo( [ usuario.latitude, usuario.longitude ], 13, { animate:true, duration:1.5 } ); // Esconde o botão const botao=document.getElementById("btnAtivarLocalizacao"); if(botao){ botao.style.display="none"; } console.log( "Localização obtida:", usuario.latitude, usuario.longitude ); calcularDistancias(); }, function(erro){ console.error(erro); switch(erro.code){ case erro.PERMISSION_DENIED: alert("Você negou a permissão para acessar sua localização."); break; case erro.POSITION_UNAVAILABLE: alert("Não foi possível determinar sua localização."); break; case erro.TIMEOUT: alert("O tempo para localizar você expirou."); break; default: alert("Erro desconhecido ao obter sua localização."); } }, { enableHighAccuracy:true, timeout:15000, maximumAge:0 } ); } //==================================================== // DISTÂNCIAS //==================================================== function calcularDistancias(){ if(!usuario) return; eventos.forEach(function(evento){ if( !evento.latitude || !evento.longitude ){ evento.distancia=999999; return; } evento.distancia= calcularKm( usuario.latitude, usuario.longitude, Number(evento.latitude), Number(evento.longitude) ); }); eventos.sort(function(a,b){ return a.distancia-b.distancia; }); eventosFiltrados=[ ...eventos ]; renderizarPortal(); atualizarPainelResumo(); } //==================================================== // PAINEL INTELIGENTE //==================================================== function atualizarPainelResumo(){ if(!usuario) return; //------------------------------------------------ // SAUDAÇÃO //------------------------------------------------ const hora=new Date().getHours(); let saudacao="👋 Bem-vindo"; if(hora>=5 && hora<12){ saudacao="☀️ Bom dia"; }else if(hora>=12 && hora<18){ saudacao="🌤 Boa tarde"; }else{ saudacao="🌙 Boa noite"; } document.getElementById("saudacao").textContent=saudacao; //------------------------------------------------ // EVENTOS ATÉ 20 KM //------------------------------------------------ const proximos=eventos.filter(function(e){ return e.distancia!==undefined && e.distancia<=20; }); document.getElementById("totalEventos").textContent=proximos.length; //------------------------------------------------ // CIDADE //------------------------------------------------ if(proximos.length){ document.getElementById("cidadeUsuario").textContent= "📍 Próximo de "+proximos[0].cidade; }else{ document.getElementById("cidadeUsuario").textContent= "Nenhum evento encontrado até 20 km"; } //------------------------------------------------ // CONTADORES //------------------------------------------------ let baile=0; let show=0; let festa=0; let igreja=0; let rodeio=0; let infantil=0; proximos.forEach(function(e){ const cat=String( e.categoria||"" ).toLowerCase(); if(cat.includes("baile")) baile++; if(cat.includes("show")) show++; if(cat.includes("festa")) festa++; if(cat.includes("igreja")) igreja++; if(cat.includes("rodeio")) rodeio++; if(cat.includes("infantil")) infantil++; }); document.getElementById("qtBaile").textContent=baile; document.getElementById("qtShow").textContent=show; document.getElementById("qtFesta").textContent=festa; document.getElementById("qtIgreja").textContent=igreja; document.getElementById("qtRodeio").textContent=rodeio; document.getElementById("qtInfantil").textContent=infantil; //------------------------------------------------ // EVENTO MAIS PRÓXIMO //------------------------------------------------ if(proximos.length){ proximos.sort(function(a,b){ return a.distancia-b.distancia; }); const e=proximos[0]; document.getElementById( "eventoMaisProximo" ).innerHTML=`
${e.titulo}
📍 ${e.cidade}
🚗 ${e.distancia.toFixed(1)} km
📅 ${formatarData(e.data)} às ${formatarHora(e.hora)}

`; } } //==================================================== // HAVERSINE //==================================================== function calcularKm( lat1, lon1, lat2, lon2 ){ const R=6371; const dLat=(lat2-lat1)*Math.PI/180; const dLon=(lon2-lon1)*Math.PI/180; const a= Math.sin(dLat/2)**2+ Math.cos(lat1*Math.PI/180)* Math.cos(lat2*Math.PI/180)* Math.sin(dLon/2)**2; const c= 2* Math.atan2( Math.sqrt(a), Math.sqrt(1-a) ); return R*c; } //==================================================== // RENDERIZAR PORTAL //==================================================== function renderizarPortal(){ desenharMarcadores(); desenharLista(); } //==================================================== // MARCADORES //==================================================== function desenharMarcadores(){ cluster.clearLayers(); eventosFiltrados.forEach(function(evento){ if(!evento.latitude) return; if(!evento.longitude) return; const marcador=L.marker([ Number(evento.latitude), Number(evento.longitude) ]); marcador.bindPopup( criarPopup(evento) ); marcador.on("click",function(){ abrirEvento(evento.id); }); cluster.addLayer(marcador); }); } //==================================================== // LISTA //==================================================== function desenharLista(){ const lista=document.getElementById("listaEventos"); lista.innerHTML=""; if(eventosFiltrados.length===0){ lista.innerHTML=`
Nenhum evento encontrado.
`; return; } eventosFiltrados.forEach(function(evento){ lista.appendChild( criarCard(evento) ); }); } //==================================================== // CARD //==================================================== //==================================================== // CARD PROFISSIONAL //==================================================== //==================================================== // CARD PREMIUM AGENDASUL //==================================================== function criarCard(evento){ const card=document.createElement("div"); card.className="cardEvento"; //------------------------------------------------ // IMAGEM //------------------------------------------------ const foto= evento.imagem1 || "https://placehold.co/900x600?text=AgendaSul"; //------------------------------------------------ // CATEGORIA //------------------------------------------------ const categoria= evento.categoria || "Evento"; //------------------------------------------------ // DATA //------------------------------------------------ let dia="--"; let mes="---"; if(evento.data){ const partes=evento.data.split("/"); if(partes.length===3){ dia=partes[0]; const meses=[ "JAN", "FEV", "MAR", "ABR", "MAI", "JUN", "JUL", "AGO", "SET", "OUT", "NOV", "DEZ" ]; mes=meses[ Number(partes[1])-1 ]; } } //------------------------------------------------ // DISTÂNCIA //------------------------------------------------ const distancia= evento.distancia ? evento.distancia.toFixed(1)+" km" : "--"; //------------------------------------------------ // HTML //------------------------------------------------ card.innerHTML=`
${categoria.toUpperCase()}
${dia}
${mes}

${evento.titulo}

${formatarData(evento.data)}
${formatarHora(evento.hora)}
${evento.local}
${evento.cidade}
Apenas ${distancia} de você
${evento.descricao||""}
`; //------------------------------------------------ // CARD //------------------------------------------------ card.onclick=function(){ abrirEvento(evento.id); }; //------------------------------------------------ // MAPA //------------------------------------------------ card .querySelector(".btnMapa") .onclick=function(e){ e.stopPropagation(); tracarRota(evento); }; //------------------------------------------------ // INGRESSOS //------------------------------------------------ card .querySelector(".btnIngresso") .onclick=function(e){ e.stopPropagation(); abrirIngresso(evento.ingressos); }; return card; } //==================================================== // POPUP //==================================================== //==================================================== // POPUP //==================================================== function criarPopup(evento){ return `
${evento.titulo}

${evento.cidade}

${evento.local}

${formatarData(evento.data)}

${formatarHora(evento.hora)}

`; } //==================================================== // ABRIR EVENTO //==================================================== function abrirEvento(id){ const evento= eventos.find( e=>String(e.id)==String(id) ); if(!evento) return; mapa.flyTo( [ Number(evento.latitude), Number(evento.longitude) ], 15, { animate:true, duration:1.4 } ); if(popupAtual){ mapa.closePopup( popupAtual ); } popupAtual=L.popup() .setLatLng([ Number(evento.latitude), Number(evento.longitude) ]) .setContent( criarPopup(evento) ) .openOn(mapa); } //==================================================== // INGRESSOS //==================================================== function abrirIngresso(url){ if(!url) return; window.open( url, "_blank" ); } //==================================================== // PESQUISA //==================================================== function iniciarPesquisa(){ const txt = document.getElementById("txtPesquisa"); if(!txt) return; txt.addEventListener("input", function(){ aplicarFiltros(); }); } //==================================================== // FILTROS //==================================================== function iniciarFiltros(){ const cidade = document.getElementById("filtroCidade"); const categoria = document.getElementById("filtroCategoria"); const periodo = document.getElementById("filtroPeriodo"); const distancia = document.getElementById("filtroDistancia"); const ordenacao = document.getElementById("ordenacao"); const limpar = document.getElementById("btnLimparFiltros"); if(cidade){ cidade.addEventListener("change", aplicarFiltros); } if(categoria){ categoria.addEventListener("change", aplicarFiltros); } if(periodo){ periodo.addEventListener("change", aplicarFiltros); } if(distancia){ distancia.addEventListener("change", aplicarFiltros); } if(ordenacao){ ordenacao.addEventListener("change", aplicarFiltros); } if(limpar){ limpar.addEventListener("click", limparFiltros); } } function aplicarFiltroTempo(tipo){ const hoje=new Date(); eventosFiltrados=eventos.filter(function(e){ if(!e.data) return false; const p=e.data.split("/"); if(p.length!=3) return false; const data=new Date( Number(p[2]), Number(p[1])-1, Number(p[0]) ); const dias=(data-hoje)/86400000; switch(tipo){ case "todos": return true; case "hoje": return dias>=0 && dias<1; case "semana": return dias>=0 && dias<=7; case "mes": return ( data.getMonth()==hoje.getMonth() && data.getFullYear()==hoje.getFullYear() ); } return true; }); renderizarPortal(); } function limparFiltros(){ document.getElementById("txtPesquisa").value=""; document.getElementById("filtroCidade").value=""; document.getElementById("filtroCategoria").value=""; document.getElementById("filtroPeriodo").value="todos"; document.getElementById("filtroDistancia").value=20; document.getElementById("textoDistancia").textContent="Até 20 km"; document.getElementById("ordenacao").value="proximos"; aplicarFiltros(); } //==================================================== // VALIDAR PERÍODO //==================================================== function validarPeriodo( evento, tipo ){ if( tipo=="todos" ) return true; if( !evento.data ) return false; const partes= evento.data.split("/"); if( partes.length!=3 ) return false; const dataEvento= new Date( Number(partes[2]), Number(partes[1])-1, Number(partes[0]) ); const hoje= new Date(); hoje.setHours( 0,0,0,0 ); const diff= Math.floor( (dataEvento-hoje)/86400000 ); switch(tipo){ case "hoje": return diff===0; case "amanha": return diff===1; case "semana": return diff>=0 && diff<=7; case "30dias": return diff>=0 && diff<=30; case "mes": return( dataEvento.getMonth()== hoje.getMonth() && dataEvento.getFullYear()== hoje.getFullYear() ); } return true; } //==================================================== // ORDENAR EVENTOS //==================================================== function ordenarEventos(){ const tipo= document .getElementById("ordenacao") .value; switch(tipo){ case "proximos": eventosFiltrados.sort(function(a,b){ return (a.distancia||999999)-(b.distancia||999999); }); break; case "nome": eventosFiltrados.sort(function(a,b){ return String(a.titulo||"") .localeCompare( String(b.titulo||""), "pt-BR" ); }); break; case "cidade": eventosFiltrados.sort(function(a,b){ return String(a.cidade||"") .localeCompare( String(b.cidade||""), "pt-BR" ); }); break; case "data": eventosFiltrados.sort(function(a,b){ return converterData(a.data)-converterData(b.data); }); break; } } //==================================================== // CONVERTER DATA //==================================================== function converterData(data){ if(!data) return new Date(2099,0,1); const p=data.split("/"); if(p.length!=3) return new Date(2099,0,1); return new Date( Number(p[2]), Number(p[1])-1, Number(p[0]) ); } //==================================================== // CARREGAR CIDADES //==================================================== //==================================================== // CARREGAR CIDADES //==================================================== function carregarFiltroCidades(){ const select = document.getElementById("filtroCidade"); if(!select) return; select.innerHTML = ''; const cidades = []; eventos.forEach(function(e){ const nome = String(e.cidade || "") .trim(); if(nome && !cidades.includes(nome)){ cidades.push(nome); } }); cidades.sort(function(a,b){ return a.localeCompare(b,"pt-BR"); }); cidades.forEach(function(cidade){ const option = document.createElement("option"); option.value = cidade; option.textContent = cidade; select.appendChild(option); }); console.log("Cidades carregadas:", cidades); } //==================================================== // APLICAR FILTROS //==================================================== function aplicarFiltros(){ const pesquisa= document .getElementById("txtPesquisa") .value .toLowerCase() .trim(); const cidade= document .getElementById("filtroCidade") .value .toLowerCase(); const categoria= document .getElementById("filtroCategoria") .value .toLowerCase(); const periodo= document .getElementById("filtroPeriodo") .value; const distanciaMax= parseFloat( document.getElementById("filtroDistancia").value ); eventosFiltrados= eventos.filter(function(evento){ //------------------------- // PESQUISA //------------------------- if(pesquisa){ const texto=( String(evento.titulo||"")+" "+ String(evento.cidade||"")+" "+ String(evento.local||"")+" "+ String(evento.categoria||"")+" "+ String(evento.organizador||"") ) .toLowerCase(); if(!texto.includes(pesquisa)) return false; } //------------------------- // CIDADE //------------------------- if(cidade){ const cidadeEvento = String(evento.cidade || "") .trim() .toLowerCase(); const cidadeFiltro = cidade .trim() .toLowerCase(); if(cidadeEvento !== cidadeFiltro){ return false; } } //------------------------- // CATEGORIA //------------------------- if(categoria){ const categoriaEvento = String(evento.categoria || "") .trim() .toLowerCase(); const categoriaFiltro = categoria .trim() .toLowerCase(); if(categoriaEvento !== categoriaFiltro){ return false; } } //------------------------- //------------------------- // DISTÂNCIA //------------------------- if(usuario && evento.distancia != null){ const limite = (distanciaMax <= 0) ? 0.5 : distanciaMax; if(evento.distancia > limite){ return false; } } //------------------------- // DATA //------------------------- if( !validarPeriodo( evento, periodo ) ){ return false; } return true; }); ordenarEventos(); renderizarPortal(); const info=document.getElementById("totalEventosDistancia"); if(info){ info.innerHTML= eventosFiltrados.length+ " eventos encontrados"; } } //==================================================== // ATUALIZAÇÃO AUTOMÁTICA //==================================================== //==================================================== // DEBUG //==================================================== console.log("AgendaSul Portal carregado."); //==================================================== // FORMATAR DATA //==================================================== function formatarData(data){ if(!data) return ""; try{ // Formato ISO if(String(data).includes("T")){ const d=new Date(data); return d.toLocaleDateString("pt-BR"); } return data; }catch(e){ return data; } } //==================================================== // FORMATAR HORA //==================================================== function formatarHora(hora){ if(!hora) return ""; try{ if(String(hora).includes("T")){ const d=new Date(hora); return d.toLocaleTimeString( "pt-BR", { hour:"2-digit", minute:"2-digit" } ); } return hora; }catch(e){ return hora; } } //==================================================== // PAINEL LOCALIZAÇÃO //==================================================== //==================================================== // BOTÃO LOCALIZAÇÃO //==================================================== function iniciarPainelLocalizacao(){ const botao = document.getElementById("btnAtivarLocalizacao"); if(!botao) return; botao.addEventListener("click", localizarUsuario); } //==================================================== // ABRIR NO GOOGLE MAPS //==================================================== function abrirGoogleMaps(id){ if(!usuario){ alert("Ative sua localização primeiro."); return; } const evento = eventos.find(function(e){ return String(e.id) === String(id); }); if(!evento){ alert("Evento não encontrado."); return; } const url = "https://www.google.com/maps/dir/" + usuario.latitude + "," + usuario.longitude + "/" + evento.latitude + "," + evento.longitude; window.open(url, "_blank"); } //==================================================== // MAIS FILTROS //==================================================== const btnMostrarFiltros = document.getElementById("btnMostrarFiltros"); const painelFiltros = document.getElementById("maisFiltros"); if(btnMostrarFiltros && painelFiltros){ btnMostrarFiltros.addEventListener("click", function(){ painelFiltros.classList.toggle("ativo"); if(painelFiltros.classList.contains("ativo")){ this.innerHTML = ` Ocultar filtros `; }else{ this.innerHTML = ` Mais filtros `; } }); } //==================================================== // ESCONDER PESQUISA E FILTROS AO ROLAR //==================================================== //========================================== // TOPO INTELIGENTE //========================================== //==================================================== // RESUMO CLICÁVEL //==================================================== document.querySelectorAll(".itemResumo") .forEach(function(item){ item.addEventListener("click",function(){ const categoria= this.dataset.categoria; document.getElementById( "filtroCategoria" ).value=categoria; aplicarFiltros(); window.scrollTo({ top:document.getElementById("listaEventos").offsetTop, behavior:"smooth" }); }); });
R$ 279,90
VER MAIS .... Estoque: Disponível
R$ 224,85
VER MAIS .... Estoque: Disponível
R$ 279,90
VER MAIS .... Estoque: Disponível
A partir de R$ 224,85
Sobre a loja

Festa maravilhosa

Social
Pague com
Selos
  • Site Seguro

V.c - CPF: 082.890.259-39 © Todos os direitos reservados. 2026


Para continuar, informe seu e-mail