Skip to content
Open
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
35 commits
Select commit Hold shift + click to select a range
258d90e
prueba2
CaroParedesA Feb 17, 2023
afab68e
borrar prueba
macarenapazg Feb 19, 2023
ff4334b
Función que muestra img and name de la data pokemon
CaroParedesA Feb 21, 2023
102aa38
Se agregan div para mostrar pokemon y css card
CaroParedesA Feb 21, 2023
21c1c0c
cambio tarjeta y CSS
CaroParedesA Feb 23, 2023
862e2b6
modificaciones rama macarena
macarenapazg Feb 24, 2023
11711e1
cambio estilos de tarjetas y banner
macarenapazg Feb 24, 2023
beaab6b
Merge branch 'main' into macarena
macarenapazg Feb 24, 2023
7673a93
Merge pull request #2 from macarenapazg/macarena
macarenapazg Feb 24, 2023
b877e3b
cambio estilos de tarjetas y banner
CaroParedesA Feb 25, 2023
60d9c13
mejora estilos y tarjeta
CaroParedesA Feb 27, 2023
cbb6832
probando funcion filter
CaroParedesA Feb 27, 2023
08d075b
Merge branch 'main' into CaroCode
CaroParedesA Feb 27, 2023
edc5405
Merge pull request #3 from macarenapazg/CaroCode
macarenapazg Feb 27, 2023
a76f73f
Trabajando en botón filtrar
CaroParedesA Feb 27, 2023
1132d6d
Merge branch 'CaroCode' of https://github.com/macarenapazg/DEV004-dat…
CaroParedesA Feb 27, 2023
6be5c4f
Merge pull request #4 from macarenapazg/CaroCode
CaroParedesA Feb 27, 2023
a3deac9
filtro por order
CaroParedesA Mar 5, 2023
060ba57
Merge pull request #5 from macarenapazg/CaroCode
macarenapazg Mar 6, 2023
52966e3
cambios filtrar
macarenapazg Mar 6, 2023
2471915
Merge branch 'macarena' of https://github.com/macarenapazg/DEV004-dat…
macarenapazg Mar 6, 2023
ee5d0dd
se agrega gradient y estilo a selector
CaroParedesA Mar 6, 2023
a905065
Merge pull request #6 from macarenapazg/CaroCode
macarenapazg Mar 6, 2023
b066517
cambios de orden y css rama macarena
macarenapazg Mar 7, 2023
b86123b
cambios en css
CaroParedesA Mar 7, 2023
39d1cce
Merge pull request #7 from macarenapazg/CaroCode
macarenapazg Mar 7, 2023
28b4898
cambio en data e inicio test
CaroParedesA Mar 7, 2023
f9bbb26
Merge pull request #8 from macarenapazg/CaroCode
macarenapazg Mar 7, 2023
8165a16
Merge branch 'main' of https://github.com/macarenapazg/DEV004-data-lo…
macarenapazg Mar 7, 2023
5d11e3c
@media en 3 dispositivos
CaroParedesA Mar 8, 2023
3d680f9
Merge pull request #9 from macarenapazg/CaroCode
macarenapazg Mar 9, 2023
d02c923
Merge branch 'main' of https://github.com/macarenapazg/DEV004-data-lo…
macarenapazg Mar 9, 2023
a08e1bd
agregar puntos de combatey avance en test
macarenapazg Mar 10, 2023
6cab54a
test de funcion ordenar y Calcular
macarenapazg Mar 14, 2023
9af3ab1
cambios test rama macarena
macarenapazg Mar 20, 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
13,159 changes: 13,159 additions & 0 deletions package-lock.json

Large diffs are not rendered by default.

Binary file added src/Imagenespkm/Titulo.png
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Binary file added src/Imagenespkm/descarga-removebg-preview.png
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Binary file added src/Imagenespkm/imagenbanner.png
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Binary file added src/Imagenespkm/logo laboratoria.png
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Binary file added src/Imagenespkm/pokebola.png
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
46 changes: 39 additions & 7 deletions src/data.js
Original file line number Diff line number Diff line change
@@ -1,9 +1,41 @@
// estas funciones son de ejemplo

export const example = () => {
return 'example';
// import pokemon from "./data/pokemon/pokemon.js";
// import { ObtenerPokemon } from "./main.js";
export const filtrarPokemon = (tipo, data) => {
if(tipo === '') {return false}
//IF != all else ObtenerPokemon
if (tipo !== "all") {
// eslint-disable-next-line eqeqeq
const pokemonTipos = data.pokemon.filter((poke) => poke.type == tipo);
return pokemonTipos;
} else {
return data.pokemon
}
};

export const anotherExample = () => {
return 'OMG';
};
export function ordenarpoke(order, data) {
if(order === ''){return false}
if (order === "asc") {
return data.pokemon.sort((a, b) => {
if (a.name < b.name) return -1;
if (a.name > b.name) return 1;
return 0;
});
} else {
return data.pokemon.sort((a, b) => {
if (a.name > b.name) return -1;
if (a.name < b.name) return 1;
return 0;
});
}

}

export function calcularCP(calcular, data) {
if (calcular === "max") {
return data.pokemon.sort((a, b) => {
if (Number(a.stats["max-cp"]) > Number(b.stats["max-cp"])) return -1;
if (Number(a.stats["max-cp"]) < Number(b.stats["max-cp"])) return 1;
return a - b;
}).slice(0, 7);
}
}
Binary file added src/imagenespkm/descarga-removebg-preview.png
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
57 changes: 53 additions & 4 deletions src/index.html
Original file line number Diff line number Diff line change
@@ -1,12 +1,61 @@
<!DOCTYPE html>
<html>
<html lang="es">
<head>
<meta charset="utf-8">
<title>Data Lovers</title>
<meta charset="utf-8" />
<meta name="viewport" content="initial-scale=1">
<title>Bienvenidos a la Pokédex</title>
<link rel="stylesheet" href="style.css" />
<link rel="shortcut icon" href="./imagenespkm/pokebola.png" type="image/x-icon">
</head>
<body>
<header id="banner">
<img src="./Imagenespkm/Titulo.png" class="Titulo" alt="Titulo" />
<img
src="./Imagenespkm/imagenbanner.png"
class="imagenpkm"
alt="bannerPkm"
/>
</header>

<div id="selectores">
<select name="" id="tipos">
<option disabled selected>Selecciona algun tipo</option>
<option value="all">Todos</option>
<option value="bug">Bug</option>
<option value="dark">Dark</option>
<option value="dragon">Dragon</option>
<option value="electric">Electric</option>
<option value="fairy">Fairy</option>
<option value="fighting">Fighting</option>
<option value="fire">Fire</option>
<option value="flying">Flying</option>
<option value="ghost">Ghost</option>
<option value="grass">Grass</option>
<option value="ground">Ground</option>
<option value="ice">ice</option>
<option value="normal">Normal</option>
<option value="poison">Poison</option>
<option value="psychic">Psychic</option>
<option value="rock">Rock</option>
<option value="steel">Steel</option>
<option value="water">Water</option>
</select>

<select name="" id="ordenar">
<option disabled selected>Ordenar</option>
<option value="asc">Ordena de la A a la Z</option>
<option value="des">Ordena de la Z a la A</option>
</select>

<select name="" id="calcular">
<option disabled selected>Puntos de Combate</option>
<option value="max">Top 7</option>
</select>

</div>
<div id="root"></div>

<div id="mostrarPoke"></div>
<script src="main.js" type="module"></script>
</body>
</html>
</html>
69 changes: 64 additions & 5 deletions src/main.js
Original file line number Diff line number Diff line change
@@ -1,6 +1,65 @@
import { example } from './data.js';
// import data from './data/lol/lol.js';
import data from './data/pokemon/pokemon.js';
// import data from './data/rickandmorty/rickandmorty.js';
import data from "./data/pokemon/pokemon.js";
import { filtrarPokemon, ordenarpoke, calcularCP } from "./data.js"; //se agrega la funcion ordenarpoke
// import pokemon from "./data/pokemon/pokemon.js";

console.log(example, data);
const mostrarPoke = document.getElementById("mostrarPoke");

//funcion para mostrar pokemon desde la data. nombre e imagen, que los divide en grupo
export function ObtenerPokemon(data) {
data.forEach((pokemon) => {
mostrarPoke.innerHTML += `<div class="container">
<div class="card">
<div class="cardSuperior">
<div class="puntosComb"> CP: ${pokemon.stats["max-cp"]} </div>
<div class="numpkm">${pokemon.num} </div>
</div>
<img src="${pokemon.img}" class= "cardImg" alt="${pokemon.name}" ></img>
<h4>${pokemon.name} </h4>
<h5>${pokemon.type} </h5>
<p>${pokemon.about} </p>
</div>
</div>`;
});
}

ObtenerPokemon(data.pokemon); //argumento de tipo array

const selectTipos = document.getElementById("tipos");

selectTipos.addEventListener("change", function () {

const verPokemones = document.getElementById("mostrarPoke");
verPokemones.innerHTML = "";

const tipo = selectTipos.value;

const pokFiltrado = filtrarPokemon(tipo, data);
ObtenerPokemon(pokFiltrado);
});

// Ordenar Alfabeticamente

const selectOrdenar = document.getElementById("ordenar");
selectOrdenar.addEventListener ("change", function (){
mostrarPoke.innerHTML = "";
const order = selectOrdenar.value ;
const pokOrdenado = ordenarpoke(order, data);
ObtenerPokemon(pokOrdenado);


})


// maximo y minimo cp

const selectCalcular = document.getElementById("calcular");
selectCalcular.addEventListener ("change", function(){
mostrarPoke.innerHTML = "";

const calcular = selectCalcular.value ;
const calcularPokeCP = calcularCP(calcular,data);
ObtenerPokemon(calcularPokeCP);



})
181 changes: 181 additions & 0 deletions src/style.css
Original file line number Diff line number Diff line change
@@ -0,0 +1,181 @@
* {
margin: 0;
padding: 0;
box-sizing: border-box;
font-family: "Poppins", sans-serif;
}
body {
background: #4da0b0;
background: -webkit-linear-gradient(to bottom, #d39d38, #4da0b0);
background: linear-gradient(to bottom, #d39d38, #4da0b0);
}
h4 {
text-transform: uppercase;
margin: 10px 10px 0px 10px; /*arriba derecha abajo */
}
p {
padding: 10px;
}
#banner {
background: -webkit-linear-gradient(to top, #d39d38, #4da0b0);
background: linear-gradient(to top, #d39d38, #4da0b0);
fallback: for old;
text-align: center;
width: 100%;
height: 420px;
}
*.Titulo {
height: 100px;
text-align: center;
position: relative;
top: 3px;
}

.imagenpkm {
display: block;
margin: auto;
position: relative;
top: -22px;
width: auto;
height: 323px;
}
#selectores {
text-align: center;
margin-top: 10px;
z-index: -1;
}
select {
background-color: #8dcac1;
border: thin solid #974845;
border-radius: 10px;
display: inline-block;
font: inherit;
line-height: 1.5em;
padding: 0.5em 3.5em 0.5em 1em;
}
.cardImg {
margin-top: 10px;
}
#mostrarpoke {
margin: 20px;
display: flex;
flex-direction: row;
}
.cardSuperior{
display: flex;
}
.puntosComb{
flex-direction: row;
text-align: left;
margin: 15px;
font-weight: bold;
color: #413827;
width: 150px;
}
.numpkm {
flex-direction: row-reverse;
text-align: right;
margin: 15px;
font-weight: bold;
color: #413827;
width: 150px;
}

.container {
background-color: #f2e17d;
width: 260px;
height: 380px;
text-align: center;
margin: 30px;
box-shadow: 0 10px 20px rgb(65, 56, 39);
border-radius: 15px;
float: left;
}
@media (max-width: 412px) {
.container {
border-radius: 25px dashed;
width: auto;
height: 323px;
}
.banner {
background: -webkit-linear-gradient(to top, #d39d38, #4da0b0);
background: linear-gradient(to top, #d39d38, #4da0b0);
fallback: for old;
text-align: center;
width: 100%;
height: 215px;
}
.imagenpkm {
display: flex;
margin: auto;
position: relative;
top: 0px;
width: auto;
height: 150px;
}
.Titulo {
height: 50px;
text-align: center;
position: relative;
top: 3px;
display: flex;
}

}

@media (max-width: 768px) {
.banner {
background: -webkit-linear-gradient(to top, #d39d38, #4da0b0);
background: linear-gradient(to top, #d39d38, #4da0b0);
fallback: for old;
text-align: center;
width: 100%;
height: 215px;
}
.imagenpkm {
display: flex;
margin: auto;
position: relative;
top: 0px;
width: auto;
height: 300px;
}
.Titulo {
height: 107px;
text-align: center;
position: relative;
top: 3px;
display: flex;
}

}
@media (max-width: 414px) {
#banner {
background: linear-gradient(to top, #d39d38, #4da0b0);
text-align: center;
width: 100%;
height: 235px;
}

#selectores {
text-align: center;
margin-left: -67px;
margin-right: 44px;
}
.imagenpkm {
display: flex;
margin: auto;
position: relative;
top: 9px;
height: 170px;
width: 294px;
}
.Titulo {
height: 39px;
text-align: center;
position: relative;
top: 3px;
display: flex;
}

}
Loading