Solucionado (ver solução)
Solucionado
(ver solução)
2
respostas

A página apenas pisca

Algo está errado e eu não consegui descobrir oque pode ser. Sem fazer a parte que limparia a UL e imprimiria apenas a pesquisa, a minha lista é duplicada, aparecendo 2x todo o conteúdo. Quando coloco a parte que limpa a UL, a página apenas pisca e nada acontece. Baixei o código feito pela instrutora, comparei e não encontrei nenhum erro, iniciei o Json dela e fiz um teste com o código dela e aconteceu a mesma coisa. Apaguei e escrevi novamente o evento.preventDefault() algumas vezes, mas não adiantou... Alguém consegue imaginar oque poderia ser?

import { conectaApi } from "./conectaApi.js";
import constroiCard from "./mostrarVideos.js";

async function buscarVideo(evento) {
    evento.preventDefault();
    const dadosDePesquisa = document.querySelector("[data-pesquisa]").value;
    const busca = await conectaApi.buscaVideo(dadosDePesquisa);

    const lista = document.querySelector("[data-lista]");

    while (lista.firstChild) {
        lista.removeChild(lista.firstChild);
    }

    busca.forEach(elemento => lista.appendChild(
        constroiCard(elemento.titulo, elemento.descricao, elemento.url, elemento.imagem)))
        
}

const botaoDePesquisa = document.querySelector("[data-botao-pesquisa]");

botaoDePesquisa.addEventListener("click", evento => buscarVideo(evento))
2 respostas
solução!

Bom dia Bruno, dei uma lida por aí, e vi que o parâmetro "q=${termoDeBusca}" parece ter sido removido nas novas versões do json server. Caso vc quisesse fazer dessa forma teria que voltar para alguma versão dele que ainda possui esse parâmetro:

Código buscaVideo

A melhor forma que encontrei de resolver, foi fazendo a busca depois da conexão. Remove o termo de busca da conexão no conectaAPI já que ele não está fazendo diferença para a pesquisa:

Código conectaAPI

Adiciona o toLowerCase() nos dados de pesquisa; Remove os dados de pesquisa do método buscaVideo() pois ele não faz mais essa pesquisa diretamente no json server; Faz uma condição para verificar se o título de cada elemento da lista em minúsculo inclui os dados de pesquisa, se incluir aí sim ele constrói o card.

Código buscarVideo

Eu estava tendo o mesmo problema e a sua resposta ajudou muito, Marcos Antonio. Obrigado!