-
Notifications
You must be signed in to change notification settings - Fork 0
/
Copy pathapp.js
91 lines (66 loc) · 2.76 KB
/
app.js
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
const campoPesquisa = document.getElementById("campo-pesquisa");
campoPesquisa.addEventListener('keyup', (event) => {
if (event.keyCode ===13){
pesquisar();
}
});
function pesquisar() {
// Obtém a seção onde os resultados da pesquisa serão exibidos
let section = document.getElementById("resultados-pesquisa");
// Obtém o valor do campo de pesquisa e remove espaços em branco
let campoPesquisa = document.getElementById("campo-pesquisa").value.trim();
// Expressão regular para verificar se a pesquisa contém pelo menos um caractere válido
const regex = /^[^\s]+$/;
// Verifica se a pesquisa é válida
if (!regex.test(campoPesquisa)){
console.log("Pesquisa inválida")
return;
}
// se campoPesquisa for uma string sem nada
if (!campoPesquisa) {
section.innerHTML = "<p>Nada foi encontrado. Você precisa digitar o nome de um filme</p>"
return
}
campoPesquisa = campoPesquisa.toLowerCase();
console.log(campoPesquisa);
// Inicializa uma string vazia para armazenar os resultados da pesquisa
let resultados = "";
let titulo = "";
let descricao = "";
// Itera sobre cada dado na lista de dados
for (let dado of dados) {
titulo = dado.titulo.toLowerCase()
descricao = dado.descricao.toLowerCase()
// Verifica se alguma das tags contém o termo de pesquisa (em lowercase)
let temTag = false;
for (let tag of dado.tags){
if (tag.toLowerCase().includes(campoPesquisa)){
temTag = true;
break; // Se encontrou uma tag correspondente, não precisa continuar a busca
}
}
// se titulo includes campoPequisa
if (titulo.includes(campoPesquisa) || descricao.includes(campoPesquisa) || temTag){
// cria um novo elemento
resultados += `
<div class="item-resultado">
<img src="posters/${dado.imagem}.jpg" alt="Poster do filme ${dado.titulo}">
<h2>
<a href="#" target="_blank">${dado.titulo}</a>
</h2>
<p class="descricao-meta">
${dado.descricao}.</p>
<a href=${dado.link} target="_blank" >Details</a>
</div>
`;
}
// então, faça...
console.log(dado.titulo.includes(campoPesquisa))
// Cria um novo elemento HTML para cada resultado
}
if (!resultados) {
resultados = "<p>Nada foi encontrado</p>"
}
// Atribui o HTML gerado à seção de resultados
section.innerHTML = resultados;
}