Skip to content
Open
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
46 commits
Select commit Hold shift + click to select a range
77f7175
commit de prueba
gfielstedt Nov 18, 2022
9633c01
Merge pull request #1 from gfielstedt/main
jocava1028 Nov 18, 2022
f9043cc
impresión de data en pantalla
gfielstedt Dec 6, 2022
eb8d194
imprime los primeros 151
gfielstedt Dec 6, 2022
d711922
Merge pull request #2 from gfielstedt/gina
jocava1028 Dec 7, 2022
634c64f
borrar comentarios
jocava1028 Dec 7, 2022
cc8f695
Merge pull request #2 from jocava1028/thejohis
gfielstedt Dec 7, 2022
583cec2
odena cards
gfielstedt Dec 7, 2022
d7a9bd2
Los pokemon se alinearon de 6
gfielstedt Dec 7, 2022
862a03e
las card tomaron a radio y se movieron a 6
gfielstedt Dec 7, 2022
c059f68
Merge pull request #3 from gfielstedt/gina
jocava1028 Dec 7, 2022
4e2c006
impresión de los ultimos 100 y botones ok
gfielstedt Dec 8, 2022
294afaf
Merge pull request #4 from gfielstedt/gina
jocava1028 Dec 9, 2022
c31688c
input search ok
gfielstedt Dec 9, 2022
df90432
Merge pull request #5 from gfielstedt/gina
jocava1028 Dec 9, 2022
191a688
se organizaron las tarjetas
jocava1028 Dec 9, 2022
90977bf
Merge branch 'gina' into thejohis
gfielstedt Dec 9, 2022
579e464
Merge pull request #3 from jocava1028/thejohis
gfielstedt Dec 9, 2022
8011bb3
se organizaron las tarjetas en columnas de 5
gfielstedt Dec 9, 2022
6a6635a
solucion de conflicto
gfielstedt Dec 9, 2022
7f4bc2f
se dio margen al flex box
jocava1028 Dec 9, 2022
d6ccf4d
Merge branch 'thejohis' of https://github.com/jocava1028/DEV002-data-…
jocava1028 Dec 9, 2022
725fab9
Merge pull request #4 from jocava1028/conflictos
gfielstedt Dec 9, 2022
308ab7d
solucion de conflictos ccs
gfielstedt Dec 9, 2022
73a68b3
se descomento linea 58 mainjs
jocava1028 Dec 10, 2022
baea8de
se comenta la linea 58 de main
jocava1028 Dec 11, 2022
66a6f56
resolvio conflicto
jocava1028 Dec 11, 2022
e10b1b9
cardvacia ok
gfielstedt Dec 12, 2022
cfc77ca
Merge pull request #6 from gfielstedt/gina
jocava1028 Dec 12, 2022
8976654
Merge branch 'jocava1028:main' into gina
gfielstedt Dec 12, 2022
3ccbf3b
Merge pull request #7 from gfielstedt/gina
jocava1028 Dec 12, 2022
3105ab0
se trabajo en css img1 en html haed y el footer
jocava1028 Dec 12, 2022
452e341
se trabajo css y html
jocava1028 Dec 13, 2022
7f147f2
se modifica barra de navegacion se cambia el botton por select y se a…
jocava1028 Dec 15, 2022
7e5f18c
se trabajo funcion filter en data js se le dio estilo y filtro por tipo
jocava1028 Dec 22, 2022
f1ed853
paso test de funcion filtro
jocava1028 Dec 23, 2022
6de1325
Merge pull request #8 from jocava1028/thejohis
jocava1028 Dec 23, 2022
c4c7bb8
se dio estructura y estilo a funcion sort (ordenar)
jocava1028 Dec 23, 2022
8e35407
se trabajo en funcion sort
jocava1028 Dec 27, 2022
07f43a0
se termino con la funcion ordenar y se inicio con el calculo agregado
jocava1028 Dec 28, 2022
4a0f2f2
se corrio test de funcion sort
jocava1028 Dec 30, 2022
ef3254a
se hizo el calculo y se corrio el test
jocava1028 Jan 2, 2023
3000ec7
ultimos arregleglos en html y diseño en css
jocava1028 Jan 3, 2023
f865e0a
se centro la tabla en css
jocava1028 Jan 3, 2023
982722f
Merge pull request #9 from jocava1028/thejohis
jocava1028 Jan 3, 2023
ccf4d92
Se agrego el readme
jocava1028 Jan 3, 2023
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
635 changes: 58 additions & 577 deletions README.md

Large diffs are not rendered by default.

11,855 changes: 11,855 additions & 0 deletions package-lock.json

Large diffs are not rendered by default.

57 changes: 52 additions & 5 deletions src/data.js
Original file line number Diff line number Diff line change
@@ -1,9 +1,56 @@
// estas funciones son de ejemplo

export const example = () => {
return 'example';
};
export const filterType = (data, selectedType) => {
const filteredData = data.filter(pokemon => pokemon.type.includes(selectedType))
return filteredData
}

export const anotherExample = () => {
return 'OMG';
export const filterGen = (data, gen) => {
const filteredData = data.filter((pokemon) => {
if (gen === 'gen-1') {
return pokemon.num <= 151;
} else if (gen === "gen-2") {
return pokemon.num > 151;
} else {
return data
}
});
return filteredData
};

export const sort = (data, sortBy, sortOrder) => {
let sortData
if (sortOrder === 'A-Z') {
sortData = data.sort((pokemonA, pokemonB) => {
if (pokemonA[sortBy] < pokemonB[sortBy]) {
return -1;
}
else if (pokemonA[sortBy] > pokemonB[sortBy]) {
return 1;
} else {
return 0;
}
})
return sortData
} else if (sortOrder === 'Z-A') {
sortData = data.sort((pokemonA, pokemonB) => {
if (pokemonA[sortBy] < pokemonB[sortBy]) {
return 1;
}
else if (pokemonA[sortBy] > pokemonB[sortBy]) {
return -1;
} else {
return 0;
}
})
return sortData
} else {
return data
}
}
export const computeStats = (data, type, total) => {
const pokemon = data.filter(pokemon => pokemon.type.includes(type));
const numberOfPokemon = pokemon.length;
const percent = (numberOfPokemon / total ) * 100;
return [numberOfPokemon, percent.toFixed(2)]
}
84 changes: 74 additions & 10 deletions src/index.html
Original file line number Diff line number Diff line change
@@ -1,12 +1,76 @@
<!DOCTYPE html>
<html>
<head>
<meta charset="utf-8">
<title>Data Lovers</title>
<link rel="stylesheet" href="style.css" />
</head>
<body>
<div id="root"></div>
<script src="main.js" type="module"></script>
</body>
</html>

<head>
<meta name="viewport" content="width=device-width, initial-scale=1.0">
<meta charset="utf-8">
<title>Data Lovers</title>
<meta http-equiv="X-UA-Compatible" content="IE=edge">

<link rel="stylesheet" href="style.css" />
</head>

<body>

<div class="img">
<img id="img" src="media/barra-pokemon.jpeg" alt="">
</div>

<header>
<nav>
<div class="nav-1">

<select id="select-generation">
<option value="gen">Generation I &#38; II</option>
<option value="gen-1">Generation I</option>
<option value="gen-2">Generation II</option>
</select>

<select id="select-type">
<option value="type">SelectType</option>
<option value="normal">Normal</option>
<option value="water">Agua</option>
<option value="grass">Hierba</option>
<option value="bug">Bicho</option>
<option value="electric">Electrico</option>
<option value="fairy">Hada</option>
<option value="fighting">Lucha</option>
<option value="flying">Volador</option>
<option value="ghost">Fantasma</option>
<option value="ground">Tierra</option>
<option value="ice">Hielo</option>
<option value="fire">Fuego</option>
<option value="poison">Veneno</option>
<option value="psychic">Psiquico</option>
<option value="rock">Roca</option>
<option value="steel">Acero</option>
<option value="dark">Siniestro</option>
<option value="dragon">Dragon</option>
</select>

<select id="select-sort">
<option value="A-Z">Sort A-Z</option>
<option value="Z-A">Sort Z-A</option>
</select>

<button id="Statistic">Statistic</button>
</div>
</nav>
</header>

<main>
<div class="cardsContainer" id="cardsContainer"></div>
<div id="table-container"></div>
</main>

<footer>
<div class="img">
<img id="img2" src="media/barra-pokemon.jpeg" alt="">
</div>
</footer>


<script src="main.js" type="module"></script>
</body>

</html>
212 changes: 208 additions & 4 deletions src/main.js
Original file line number Diff line number Diff line change
@@ -1,6 +1,210 @@
import { example } from './data.js';
// import data from './data/lol/lol.js';
import {
filterGen, filterType, sort, computeStats
} from './data.js';// import data from './data/lol/lol.js';
import data from './data/pokemon/pokemon.js';
// import data from './data/rickandmorty/rickandmorty.js';

console.log(example, data);



const cardsContainer = document.getElementById("cardsContainer")
const tableContainer = document.getElementById("table-container")
const dataPokemon = data.pokemon

const displeyCard = (d) => {
cardsContainer.innerHTML = ` `;
tableContainer.innerHTML = ` `;
d.forEach(element => {

const cardPokemon = document.createElement("div")

cardPokemon.innerHTML += ` <section class= "flex-cont"> <section class= "flex-box">
<img src ="${element.img}">
<p>${element.name}</p>
<p>${element.num}</p></div>
</section>
</section>

`
cardsContainer.appendChild(cardPokemon);

})
}

displeyCard(dataPokemon)

const displayStats = () => {
tableContainer.innerHTML = ` `;
cardsContainer.innerHTML = ` `;

const tablePokemon = document.createElement("table")

tablePokemon.innerHTML += `
<tr class="tabla">
<th>tipo</th>
<th>cantidad</th>
<th>porcentaje</th>
</tr>

<tr>
<td>Normal</td>
<td>${computeStats(dataPokemon, 'normal', 251)[0]}</td>
<td>${computeStats(dataPokemon, 'normal', 251)[1]} %</td>
</tr>

<tr>
<td>Agua</td>
<td>${computeStats(dataPokemon, 'water', 251)[0]}</td>
<td>${computeStats(dataPokemon, 'water', 251)[1]}%</td>
</tr>

<tr>
<td>Hierba</td>
<td>${computeStats(dataPokemon, 'grass',251)[0]}</td>
<td>${computeStats(dataPokemon, 'grass', 251)[1]}%</td>
</tr>

<tr>
<td>Bicho</td>
<td>${computeStats(dataPokemon, 'bug', 251)[0]}</td>
<td>${computeStats(dataPokemon, 'bug', 251)[1]}%</td>
</tr>

<tr>
<td>Electrico</td>
<td>${computeStats(dataPokemon, 'electric', 251)[0]}</td>
<td>${computeStats(dataPokemon, 'electric', 251)[1]}%</td>
</tr>

<tr>
<td>Hada</td>
<td>${computeStats(dataPokemon, 'fairy', 251)[0]}</td>
<td>${computeStats(dataPokemon, 'fairy', 251)[1]}%</td>
</tr>

<tr>
<td>Lucha</td>
<td>${computeStats(dataPokemon, 'fighting', 251)[0]}</td>
<td>${computeStats(dataPokemon, 'fighting', 251)[1]}%</td>
</tr>

<tr>
<td>Volador</td>
<td>${computeStats(dataPokemon, 'flying', 251)[0]}</td>
<td>${computeStats(dataPokemon, 'flying', 251)[1]}%</td>
</tr>

<tr>
<td>Fantasma</td>
<td>${computeStats(dataPokemon, 'ghost', 251)[0]}</td>
<td>${computeStats(dataPokemon, 'ghost', 251)[1]}%</td>
</tr>

<tr>
<td>Tierra</td>
<td>${computeStats(dataPokemon, 'ground', 251)[0]}</td>
<td>${computeStats(dataPokemon, 'ground', 251)[1]}%</td>
</tr>

<tr>
<td>Hielo</td>
<td>${computeStats(dataPokemon, 'ice', 251)[0]}</td>
<td>${computeStats(dataPokemon, 'ice', 251)[1]}%</td>
</tr>

<tr>
<td>Fuego</td>
<td>${computeStats(dataPokemon, 'fire', 251)[0]}</td>
<td>${computeStats(dataPokemon, 'fire', 251)[1]}%</td>
</tr>

<tr>
<td>Veneno</td>
<td>${computeStats(dataPokemon, 'poison', 251)[0]}</td>
<td>${computeStats(dataPokemon, 'poison', 251)[1]}%</td>""
</tr>

<tr>
<td>Psiquico</td>
<td>${computeStats(dataPokemon, 'psychic', 251)[0]}</td>
<td>${computeStats(dataPokemon, 'psychic', 251)[1]}%</td>
</tr>

<tr>
<td>Roca</td>
<td>${computeStats(dataPokemon, 'rock', 251)[0]}</td>
<td>${computeStats(dataPokemon, 'rock', 251)[1]}%</td>
</tr>

<tr>
<td>Acero</td>
<td>${computeStats(dataPokemon, 'steel', 251)[0]}</td>
<td>${computeStats(dataPokemon, 'steel', 251)[1]}%</td>
</tr>

<tr>
<td>Siniestro</td>
<td>${computeStats(dataPokemon, 'dark', 251)[0]}</td>
<td>${computeStats(dataPokemon, 'dark', 251)[1]}%</td>
</tr>

<tr>
<td>dragon</td>
<td>${computeStats(dataPokemon, 'dragon', 251)[0]}</td>
<td>${computeStats(dataPokemon, 'dragon', 251)[1]}%</td>
</tr>

`
tableContainer.appendChild(tablePokemon);
}



//filter
let generation
let generationI = filterGen(dataPokemon, "gen-1")
let generationII = filterGen(dataPokemon, "gen-2")


const selectGeneration = document.getElementById('select-generation')
selectGeneration.addEventListener('change', (event) => {
generation = event.target.value;
if (event.target.value === 'gen-1') {
displeyCard(generationI)
} else if (event.target.value === 'gen-2') {
displeyCard(generationII)
} else {

displeyCard(dataPokemon)
}
})

const selectType = document.getElementById('select-type')
selectType.addEventListener('change', (event) => {
let typeSelected = event.target.value;
let filteredPokemon = filterType(dataPokemon, typeSelected)
if (generation === 'gen-1') {
let filteredTypeAndGenI = filterType(generationI, typeSelected)
displeyCard(filteredTypeAndGenI)
} else if (generation === 'gen-2') {
let filteredTypeAndGenII = filterType(generationII, typeSelected)
displeyCard(filteredTypeAndGenII)
} else {
displeyCard(filteredPokemon)

}

})

const selectSort = document.getElementById('select-sort')
selectSort.addEventListener('change', (event) => {
let sortSelected = event.target.value;
let sortPokemon = sort(dataPokemon, "name", sortSelected)

displeyCard(sortPokemon)

})
const buttonStats = document.getElementById('Statistic')
buttonStats.addEventListener('click', () => {
displayStats()
})

Binary file added src/media/barra-pokemon.jpeg
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Loading