|
1 | | -// import { example } from './dataFunctions.js'; |
2 | | -// import { renderItems } from './view.js'; |
| 1 | +// import { type } from './dataFunctions.js'; |
| 2 | +import data from "./data/pokemon/pokemon.js"; |
| 3 | +import { |
| 4 | + filterByName, |
| 5 | + filterByResistant, |
| 6 | + filterByType, |
| 7 | + averageWeight, |
| 8 | +} from "./dataFunctions.js"; |
3 | 9 |
|
4 | | -// // import data from './data/lol/lol.js'; |
5 | | -// import data from './data/pokemon/pokemon.js'; |
6 | | -// // import data from './data/rickandmorty/rickandmorty.js'; |
| 10 | +// console.log(filterType(data.pokemon, "grass")); |
7 | 11 |
|
8 | | -// console.log(example, renderItems, data); |
9 | | -const imageGrid = document.getElementById('imageGrid'); |
| 12 | +const pokemons = data.pokemon; |
10 | 13 |
|
11 | | -function crearImagenes() { |
12 | | - const numeroDeImagenes = 251; |
| 14 | +const pokemonsContainer = document.getElementById("pokemonsContainer"); |
13 | 15 |
|
14 | | - for (let i = 1; i <= numeroDeImagenes; i++) { |
15 | | - const imageBox = document.createElement('div'); |
16 | | - imageBox.className = 'image-box'; |
| 16 | +pokemonsContainer.innerHTML = ""; |
| 17 | +pokemons.forEach((pokemon) => { |
| 18 | + const pokemonCard = document.createElement("li"); |
| 19 | + pokemonCard.setAttribute("class", "contenedor-imagen-pokemon"); |
| 20 | + pokemonCard.innerHTML = ` |
| 21 | + <p class="pokename">${pokemon.name}</p> |
| 22 | + <img class="img-pokemon" id="imagePokemon" src="${pokemon.img}"> |
| 23 | + <p class="poketipo">${pokemon.type}<p> |
| 24 | + `; |
| 25 | + pokemonsContainer.appendChild(pokemonCard); |
| 26 | +}); |
| 27 | +/*const NumberCount = document.querySelector("li[data-testid='number-count']");*/ |
17 | 28 |
|
18 | | - const image = document.createElement('img'); |
19 | | - image.src = `imagen${i}.jpg`; // Cambiar por la ruta de tus imágenes |
20 | | - image.alt = `Imagen ${i}`; |
| 29 | +const filterType = document.querySelector("select[data-testid='filter-type']"); |
21 | 30 |
|
22 | | - imageBox.appendChild(image); |
23 | | - imageGrid.appendChild(imageBox); |
24 | | - } |
25 | | -} |
| 31 | +filterType.addEventListener("change", function () { |
| 32 | + const selectValue = filterType.value; |
| 33 | + const pokemonsFiltered = filterByType(pokemons, selectValue); |
| 34 | + pokemonsContainer.innerHTML = ""; |
| 35 | + pokemonsFiltered.forEach((pokemon) => { |
| 36 | + const pokemonCard = document.createElement("li"); |
| 37 | + pokemonCard.setAttribute("class", "contenedor-imagen-pokemon"); |
| 38 | + pokemonCard.innerHTML = ` |
| 39 | + <p class="pokename">${pokemon.name}</p> |
| 40 | + <img class="img-pokemon" id="imagePokemon" src="${pokemon.img}"> |
| 41 | + <p class="poketipo">${pokemon.type}<p> |
| 42 | + `; |
| 43 | + pokemonsContainer.appendChild(pokemonCard); |
| 44 | + }); |
| 45 | +}); |
26 | 46 |
|
27 | | -window.onload = crearImagenes; |
| 47 | +const filterResistant = document.querySelector( |
| 48 | + "select[data-testid='filter-resistant']" |
| 49 | +); |
28 | 50 |
|
| 51 | +filterResistant.addEventListener("change", function () { |
| 52 | + const selectValue = filterResistant.value; |
| 53 | + const pokemonsFiltered = filterByResistant(pokemons, selectValue); |
| 54 | + pokemonsContainer.innerHTML = ""; |
| 55 | + pokemonsFiltered.forEach((pokemon) => { |
| 56 | + const pokemonCard = document.createElement("li"); |
| 57 | + pokemonCard.setAttribute("class", "contenedor-imagen-pokemon"); |
| 58 | + pokemonCard.innerHTML = ` |
| 59 | + <p class="pokename">${pokemon.name}</p> |
| 60 | + <img class="img-pokemon" id="imagePokemon" src="${pokemon.img}"> |
| 61 | + <p class="poketipo">${pokemon.type}<p> |
| 62 | + `; |
| 63 | + pokemonsContainer.appendChild(pokemonCard); |
| 64 | + }); |
| 65 | +}); |
| 66 | + |
| 67 | +const nameInput = document.querySelector("input[id='name']"); |
| 68 | + |
| 69 | +const btnBuscar = document.querySelector("button[id='buscar']"); |
| 70 | +btnBuscar.addEventListener("click", function () { |
| 71 | + const byName = nameInput.value; |
| 72 | + const pokemonsByName = filterByName(pokemons, byName); |
| 73 | + pokemonsContainer.innerHTML = ""; |
| 74 | + pokemonsByName.forEach((pokemon) => { |
| 75 | + const pokemonCard = document.createElement("li"); |
| 76 | + pokemonCard.setAttribute("class", "contenedor-imagen-pokemon"); |
| 77 | + pokemonCard.innerHTML = ` |
| 78 | + <p class="pokename">${pokemon.name}</p> |
| 79 | + <img class="img-pokemon" id="imagePokemon" src="${pokemon.img}"> |
| 80 | + <p class="poketipo">${pokemon.type}<p> |
| 81 | + `; |
| 82 | + pokemonsContainer.appendChild(pokemonCard); |
| 83 | + }); |
| 84 | +}); |
| 85 | + |
| 86 | +const averagePokemonWeight = document.querySelector( |
| 87 | + "h2[data-testid='Average-weight']" |
| 88 | +); |
| 89 | +const averagePokemonWeightValue = averageWeight(pokemons); |
| 90 | +averagePokemonWeight.innerHTML = |
| 91 | + "Average Pokemon Weight: " + averagePokemonWeightValue; |
0 commit comments