Tengo un problema con la filtracion de videos:
//GET
async function listarvideos() {
  try {
    const conexion = await fetch("http://localhost:3001/videos");
    const conexionconvertida = conexion.json();
    // retorna la conexion
    return conexionconvertida;
  } catch (error) {
    console.error('Error al obtener los datos', error);
  }
}
// POST
async function enviarVideos(titulo,descripcion,url,imagen){
  const conexion = await fetch("http://localhost:3001/videos", {
    method: "POST",
    headers: {"Content-type":"application/json"},
    body:JSON.stringify({
      titulo:titulo,
      descripcion: `${descripcion} mil visualizaciones`,
      url:url,
      imagen:imagen
    })
  })
  const conexionconvertida = conexion.json();
  if(!conexion.ok){
    throw new Error("Ha ocurrido un error al enviar el video");
  }
  return conexionconvertida;
}
// BUSCAR VIDEOS
async function buscarVideos(palabraClave){
  const conexion = await fetch(`http://localhost:3001/videos?q=${palabraClave}`);
  const conexionconvertida = conexion.json();
  return conexionconvertida
}
export const conexionAPI={
  listarvideos, enviarVideos,buscarVideos
}
import {conexionAPI } from "./conexionAPI.js";
// importa la funcion crearcard del archivo mostrarVideos.js
import crearCard from "./mostrarVideos.js";
async function filtrarVideo(evento){
  evento.preventDefault();
  // trae los datos del elemento input con el atributo data-busqueda
  const datosdebusqueda = document.querySelector("[data-busqueda]").value;
  // conexion con el archivo conexionAPI y utiliza la funcion buscarVideos
  const busqueda = await conexionAPI.buscarVideos(datosdebusqueda);
  
  const lista = document.querySelector("[data-lista]");
  while(lista.firstChild){
    lista.removeChild(lista.firstChild);
  }
  lista.replaceChildren();
  busqueda.forEach(elemento => lista.appendChild(crearCard(elemento.titulo,elemento.descripcion,elemento.url,elemento.imagen)));
  
  //busqueda.forEach(video => lista.appendChild(crearCard(video.titulo,video.descripcion,video.url,video.imagen)));
   
  if(busqueda.length==0){
    lista.innerHTML= `<h2 class="mensaje__titulo">No fueron encontrados elementos para ${datosdebusqueda}</h2>`
  }
   //console.log(busqueda);
}
const boton = document.querySelector("[data-boton-busqueda]");
boton.addEventListener("click", evento => filtrarVideo(evento))
import {conexionAPI } from "./conexionAPI.js";
const lista = document.querySelector("[data-lista]")
export default function crearCard(titulo,descripcion,url,imagen){
  const video = document.createElement("li");
  video.className = "videos__item";
  video.innerHTML = `
  <iframe width="100%" height="72%" src="${url}"
  title="${titulo}" frameborder="0" allow="accelerometer; autoplay; clipboard-write; encrypted-media; gyroscope; picture-in-picture"
  allowfullscreen></iframe>
  <div class="descripcion-video">
    <img src="${imagen}">
    <h3>${titulo}</h3>
    <p>${descripcion}</p>
  </div>`
  return video
}
async function listarVideos(){
  try {
    // Realizar la solicitud a la API
    const listaAPI = await conexionAPI.listarvideos();
    // Iterar sobre la lista de videos y agregarlos a la lista
    listaAPI.forEach(video => lista.appendChild(crearCard(video.titulo,video.descripcion,video.url,video.imagen)));
  } catch (error) {
    lista.innerHTML = `<h2 class="mensaje__titulo"> Ha ocurrido un problema de conexion :( </h2>`;
    //console.error('Error al listar videos:', error);
  }
}
listarVideos();
 
  
 
             
             
            