Eventos próximos
Actividades, ferias, shows y más en tu zona.
Entrada libre
z.depto))].sort();
if (!this.search) return names;
const q = this.search.toLowerCase();
return names.filter(d => d.toLowerCase().includes(q) || this.zonas.some(z => z.depto === d && z.nombre.toLowerCase().includes(q)));
},
get zonasDeDepto() {
if (!this.selectedDepto) return [];
const q = this.search.toLowerCase();
return this.zonas.filter(z => z.depto === this.selectedDepto && (!q || z.nombre.toLowerCase().includes(q)));
},
navigate(slug) {
const p = { ...this.params };
if (slug) p.zona = slug; else delete p.zona;
const qs = new URLSearchParams(p).toString();
window.location.href = this.baseUrl + (qs ? '?' + qs : '');
},
cercaTuyo() {
if (!navigator.geolocation) { this.pickerOpen = true; return; }
this.gpsLoading = true;
navigator.geolocation.getCurrentPosition(
(pos) => {
const lat = pos.coords.latitude, lng = pos.coords.longitude;
let closest = null, minDist = Infinity;
this.zonas.forEach(z => {
const d = Math.hypot(z.lat - lat, z.lng - lng);
if (d < minDist) { minDist = d; closest = z.slug; }
});
this.gpsLoading = false;
if (closest) this.navigate(closest);
},
() => { this.gpsLoading = false; this.pickerOpen = true; },
{ timeout: 8000 }
);
}
}">
- Sin resultados
- Sin localidades