// VARIABLES
let selector = document.getElementById("miSelector");
let input = document.getElementById("miInput");
let boton = document.getElementById("miBoton");
let lista = document.getElementById("miListado");
let archivo = 'peliculas.json';
// ESCUCHADORES DE EVENTOS
selector.addEventListener("change", cambiarArchivo);
selector.addEventListener("cambioModo", mensajeModo);
input.addEventListener("input", verificarInput);
boton.addEventListener("click", buscar);
// FUNCIONES
function cambiarArchivo() {
archivo = selector.value;
lista.innerHTML = "
Escribe algo para buscar";
input.value = "";
let evento = new CustomEvent("cambioModo");
selector.dispatchEvent(evento);
}
function mensajeModo() {
alert("El archivo de busqueda ahora es " + selector.value);
}
function verificarInput() {
input.value = input.value.replace(/[^a-zA-Z ]/g, "");
}
function buscar() {
lista.innerHTML = "";
if (input.value.trim() === "") {
lista.innerHTML = "Escribe algo para buscar";
return;
}
fetch(archivo)
.then(res => res.json())
.then(data => {
let encontrados = 0;
for (let item of data.data) {
console.log(item);
if (item.nombre.includes(input.value.toUpperCase())) {
encontrados++;
let li = document.createElement("li");
li.textContent = item.nombre;
let p = document.createElement("p");
p.textContent = item.sinopsis;
let img = document.createElement("img");
img.src = item.imagen;
img.alt = item.nombre;
img.style.width = "200px";
img.style.marginTop = "10px";
img.style.borderRadius = "8px";
li.appendChild(p);
li.appendChild(img);
lista.appendChild(li);
}
}
if (encontrados === 0) {
lista.innerHTML = "No se encontraron resultados";
}
});
}