Skip to content
Open
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
84 commits
Select commit Hold shift + click to select a range
c637655
Se agregó un saludo en el readme
JackelineGS Mar 7, 2023
47ffd2a
Se agrego un saludo en el readme de la rama de Jackeline
JackelineGS Mar 7, 2023
7cd4420
agrego carpeta
abrakel Mar 7, 2023
c324f63
avances HTML yCSS
abrakel Mar 7, 2023
60010cd
Se agregó opciones de filtro y orden en HTML y se dio diseño en CSS
abrakel Mar 9, 2023
a7c22a1
Merge branch 'alejandra-avances'
abrakel Mar 9, 2023
325dbae
modificaciones en HTML, CSS y js
JackelineGS Mar 9, 2023
111dadc
cambios en los documentos principales
JackelineGS Mar 9, 2023
785e518
documentos HTML y CSS actualizados
JackelineGS Mar 9, 2023
1235e2a
se agrego comentario en el index.html
JackelineGS Mar 9, 2023
c70bb99
Merge branch 'main' of github.com:JackelineGS/DEV005-data-lovers into…
JackelineGS Mar 9, 2023
7654239
Arreglos marco de pagina web en css
abrakel Mar 10, 2023
0437631
Merge branch 'alejandra-avances' of github.com:JackelineGS/DEV005-dat…
JackelineGS Mar 10, 2023
f06732f
Creacion de las cards de peliculas con formato en CSS
abrakel Mar 13, 2023
c3358bc
cambios en html y css
JackelineGS Mar 13, 2023
4127bbf
Merge branch 'alejandra-avances' of github.com:JackelineGS/DEV005-dat…
JackelineGS Mar 13, 2023
789ee8b
modificacaciones en el diseño de las tarjetas
JackelineGS Mar 13, 2023
37d5462
cambios en el tamaño de letra
JackelineGS Mar 14, 2023
e460d2f
dar formato al card para que no pierda sus dimensiones al cambiar de …
abrakel Mar 15, 2023
688c92a
se agregó la funcion para ordenar
JackelineGS Mar 15, 2023
6b32966
se realizaron cambios en css para que la página sea responsive, se ag…
JackelineGS Mar 15, 2023
7feb9d2
Se terminó la funcion sortData y se consiguió la interacción con el u…
JackelineGS Mar 17, 2023
b5f1fdb
Se añadio la funcion filtrar por año y se adapto para celular
abrakel Mar 20, 2023
a4bb3a1
en data.js se agrego la función de ordenar por productor, se modifico…
JackelineGS Mar 20, 2023
1b8390c
se agrego la etiqueta optgroup y se agrego la opcion todas
JackelineGS Mar 20, 2023
0dccf55
Merge pull request #2 from JackelineGS/alejandra-avances
JackelineGS Mar 20, 2023
5c1b719
se realizó el merge del código desarrollado de Alejandra y Jackeline
JackelineGS Mar 20, 2023
47c45c4
se modificaron las funciones
JackelineGS Mar 20, 2023
d5cb5f1
Merge pull request #3 from JackelineGS/Jackeline-codigo
abrakel Mar 20, 2023
d3e0467
Merge branch 'alejandra-avances' of github.com:JackelineGS/DEV005-dat…
JackelineGS Mar 20, 2023
4fc22d0
Se movio el código para brindar mayor información de las tarjetas al …
JackelineGS Mar 20, 2023
721b462
Se juntaron las dos funciones de filtrar en una sola
JackelineGS Mar 21, 2023
71e2b71
se modificaron las dimensiones del card, se agregó el botón y selecto…
JackelineGS Mar 21, 2023
e1a9282
Agregamos placeholder para que ya no usar letras en el encabezado
JackelineGS Mar 21, 2023
dab39b7
Se agregó la última función para poder observar mas detalles de la ta…
JackelineGS Mar 22, 2023
86841b5
Se agrego media query para dar responsividad, se creo button para pas…
abrakel Mar 23, 2023
684bb17
Se corrigieron problemas de diseño y se dió diseño a la segunda pagina
abrakel Mar 23, 2023
07269ab
cambios en el estilo de las tarjetas de la segunda página
JackelineGS Mar 24, 2023
b6c878e
Se agrego los estilos para un dispositivo de 480, se agregaron estilo…
JackelineGS Mar 24, 2023
80bb6ef
Se agregaron cambios en el diseño del MediaQuery
JackelineGS Mar 24, 2023
bcc0997
Se agregó la función buscar
JackelineGS Mar 24, 2023
d57bcd0
Se agrego la funcion de busqueda para los titulos de las peliculas
abrakel Mar 24, 2023
2f206b7
Se crearon los test para las funciones
JackelineGS Mar 28, 2023
c7481c8
Se agregaron los calculos de la funcion calcular
JackelineGS Mar 28, 2023
52add9c
Se agregaron cambios en la estructura
JackelineGS Mar 28, 2023
cee5166
Se agregó botón para volver a la pagina de inicio y añadió esa misma …
abrakel Mar 29, 2023
c40ebb0
Dar estilo a la página 2 y hacerla responsiva
abrakel Mar 29, 2023
cfaa984
cambios en la funcion calcular
JackelineGS Mar 29, 2023
b0303e8
se agrego el archivo package-lock.json
JackelineGS Mar 29, 2023
7410fa3
se incluyo la estructura de html en el main usando innerHTML
JackelineGS Mar 29, 2023
c2ea9da
se comento la seccion del innerHTML de la funcion calcular
JackelineGS Mar 29, 2023
537efb1
se corrigieron los estilos del @media
JackelineGS Mar 29, 2023
451abb0
se corrigieron los estilos del @media
JackelineGS Mar 29, 2023
8e39802
Se agrego el código de calcular y el modal
JackelineGS Mar 29, 2023
5fa56f7
Se organizaron los test de Alejandra y Jackeline
JackelineGS Mar 30, 2023
9cfcd75
Se agregó una ventana modal para mostrar un calculo en base a los per…
abrakel Mar 30, 2023
8deae40
Se generaron cambios en los test
JackelineGS Mar 30, 2023
5de6c08
Se culminaron los test y se creo el mock para los test
JackelineGS Mar 30, 2023
2a5a06c
Se hicieron correcciones a los test y se terminaron
abrakel Mar 30, 2023
7a6f54a
Realizamos cambios en la sección Premabulo de readme
JackelineGS Mar 30, 2023
0748cc9
Redimensionar el tamaño de la imagen
JackelineGS Mar 30, 2023
82b6693
se agregó una imagen al readme
JackelineGS Mar 30, 2023
25ad3eb
Se cambiaron las dimensiones de la imagen
JackelineGS Mar 30, 2023
2aa690b
Se redimensionó el tamaño de la imagen
JackelineGS Mar 30, 2023
25c31be
Se redimensionó el tamaño de la imagen
JackelineGS Mar 30, 2023
9c6841a
Se redimensionó la imagen
JackelineGS Mar 30, 2023
7a215b7
Modificaciones de las dimensiones de la imagen
JackelineGS Mar 30, 2023
eb635de
Se centro la posición de la imagen
JackelineGS Mar 30, 2023
7990887
Se cambio la imagen de la sección Preambulo
JackelineGS Mar 30, 2023
2e42ab2
Se arregló el índice del readme
JackelineGS Mar 30, 2023
af565d9
Se agrego la segunda sección del readme
JackelineGS Mar 30, 2023
242f177
se agregó contenido en la sección 3 y 4
JackelineGS Mar 31, 2023
0607ee7
Se agregaron los diseños de alta fidelidad
JackelineGS Mar 31, 2023
e3e9168
Se cambio la extensión de la imagen
JackelineGS Mar 31, 2023
74e2a85
Se corrigió la extensión de las imágenes
JackelineGS Mar 31, 2023
10aa19a
Se agregaron las secciones 4 y 5 del readme
JackelineGS Mar 31, 2023
7073b99
Se corrigió la semantica de markdown
JackelineGS Mar 31, 2023
e6fee17
Se corrigió la semántica de markdown
JackelineGS Mar 31, 2023
d0c127d
Cambio para probar la extension
JackelineGS Mar 31, 2023
b3cf429
Se probó la ruta para agregar una imagen
JackelineGS Mar 31, 2023
1ab6a5a
Se corrigió la ruta para agregar las imagenes
JackelineGS Mar 31, 2023
662e40d
Se agregaron los estilos CSS finales, se ordeno la información dentro…
JackelineGS Mar 31, 2023
cb2c19b
Se modifico propiedades de boton mas info de la segunda pagina con me…
abrakel Mar 31, 2023
c9bb9d2
Merge branch 'alejandra-avances' of github.com:JackelineGS/DEV005-dat…
JackelineGS Mar 31, 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
660 changes: 91 additions & 569 deletions README.md

Large diffs are not rendered by default.

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 diseños/diseño_alta_fidelidad/pagina1_web.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 diseños/diseño_alta_fidelidad/pagina2.png
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
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 diseños/diseño_alta_fidelidad/pagina2_web.png
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
7,959 changes: 7,959 additions & 0 deletions package-lock.json

Large diffs are not rendered by default.

6 changes: 3 additions & 3 deletions package.json
Original file line number Diff line number Diff line change
Expand Up @@ -19,9 +19,9 @@
"eslint": "^8.3.0",
"gh-pages": "^3.1.0",
"htmlhint": "^1.0.0",
"jest": "^27.0.1",
"jest": "^27.5.1",
"opener": "^1.5.1",
"serve": "^13.0.2"
"serve": "^14.2.0"
},
"engines": {
"node": ">=16.x"
Expand All @@ -31,4 +31,4 @@
"version": "5.6.0",
"commit": "ffa75c8b2bede153844195479abeff01f3e34227"
}
}
}
35 changes: 28 additions & 7 deletions src/data.js
Original file line number Diff line number Diff line change
@@ -1,9 +1,30 @@
// estas funciones son de ejemplo

export const example = () => {
return 'example';
};
export function filterMovies(peliculas, years) {
return peliculas.filter(año => año.release_date === years);
}

export const anotherExample = () => {
return 'OMG';
};
export function filtrarPro(peliculas,type){
return peliculas.filter(elemento => elemento.producer === type);
}

export function sortData(peliculas){
peliculas.sort(function(a,b){
if(a.title < b.title){ return -1; }
else if(a.title > b.title){ return 1; }
else {
return 0;
}

});
return peliculas;
}

export function sortNum(peliculas, type){
peliculas.sort(function (a,b) {
if (type === "año"){
return a.release_date - b.release_date;
} else if (type === "puntaje"){
return a.rt_score - b.rt_score;
}})
return peliculas;
}
2 changes: 1 addition & 1 deletion src/data/ghibli/ghibli.json
Original file line number Diff line number Diff line change
Expand Up @@ -2432,4 +2432,4 @@
"vehicles": []
}
]
}
}
1 change: 1 addition & 0 deletions src/img/backblack.svg
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
1 change: 1 addition & 0 deletions src/img/backblue.svg
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
1 change: 1 addition & 0 deletions src/img/backdarkblue.svg
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/img/calcifer.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/img/ghibli1.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/img/ghibli2.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/img/logoghibli.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/img/totorohoja.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/img/totoromouse.gif
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
14 changes: 12 additions & 2 deletions src/index.html
Original file line number Diff line number Diff line change
Expand Up @@ -2,11 +2,21 @@
<html>
<head>
<meta charset="utf-8">
<meta name="viewport" content="width=device-width, initial-scale=1">
<title>Data Lovers</title>
<link rel="stylesheet" href="style.css" />
</head>
<body>
<div id="root"></div>
<main id="root">
<header>
</header>
<section>
</section>
</main>
<div id="left"></div>
<div id="right"></div>
<div id="bottom"></div>
<div id="top"></div>
<script src="main.js" type="module"></script>
</body>
</html>
</html>
240 changes: 235 additions & 5 deletions src/main.js
Original file line number Diff line number Diff line change
@@ -1,6 +1,236 @@
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 { filterMovies, sortData, filtrarPro, sortNum } from './data.js';
import data from './data/ghibli/ghibli.js';

console.log(example, data);
const header = document.querySelector("header");
header.innerHTML=""
header.innerHTML= `<picture class="logo">
<source id="logo2" class="l-ghibli" srcset="img/logoghibli.png" media="(max-width: 480px)">
<img id="logo1" src="img/ghibli1.png" alt="Logo estudio Ghibli">
</picture>
<div class="barra">
<div class="buscar">
<input class="b-busqueda" type="search" placeholder="Buscar título">
</div>
<div class="filtro">
<select class="selection-option">
<option value="" disabled selected hidden>Seleccionar Filtro</option>
<option value="todas">Todas</option>
<optgroup label="Productores">
<option value="Isao Takahata">Isao Takahata</option>
<option value="Hayao Miyazaki">Hayao Miyazaki</option>
<option value="Toru Hara">Toru Hara</option>
<option value="Toshio Suzuki">Toshio Suzuki</option>
<option value="Yoshiaki Nishimura">Yoshiaki Nishimura</option>
</optgroup>
<optgroup label="Año">
<option value="1986">1986</option>
<option value="1988">1988</option>
<option value="1989">1989</option>
<option value="1991">1991</option>
<option value="1992">1992</option>
<option value="1994">1994</option>
<option value="1995">1995</option>
<option value="1997">1997</option>
<option value="1999">1999</option>
<option value="2001">2001</option>
<option value="2002">2002</option>
<option value="2004">2004</option>
<option value="2006">2006</option>
<option value="2008">2008</option>
<option value="2010">2010</option>
<option value="2011">2011</option>
<option value="2013">2013</option>
<option value="2014">2014</option>
</optgroup>
</select>
</div>
<div class="filtro">
<select class="seleccionar">
<option value="" disabled selected hidden>Ordenar Por</option>
<option value="alfabeticamente">A-Z</option>
<option value="año">Año</option>
<option value="puntaje">Puntaje</option>
</select>
</div>
</div>`
function crearTarjetas(peliculas){
const container = document.querySelector("section");
container.innerHTML = "";
peliculas.forEach(pelicula =>
container.innerHTML += `
<div class="card">
<div class="card-body-img">
<img class="poster" src="${pelicula.poster}" alt="Imagen de la película"/>
</div>
<div class="card-body-text">
<h5 class="card-title">${pelicula.title}</h5>
<span class="año">Año: ${pelicula.release_date}</span>
<span class="score">Productor: ${pelicula.producer}</span>
<span class="score">Score: ${pelicula.rt_score}</span>
<button name="button" class="button-info" data-id="${pelicula.id}">Más información</button>
</div>
</div>
`
);
}
crearTarjetas(data.films);
//Función para ordenar datos
const elemento = document.querySelector(".seleccionar");
elemento.addEventListener("change", (event) => {
const datasort = sortData(data.films, event.target.value);
if(event.target.value === "alfabeticamente") {
return crearTarjetas(datasort);
} else if (event.target.value === "año") {
return crearTarjetas(sortNum(data.films, event.target.value));
} else if (event.target.value === "puntaje") {
return crearTarjetas(sortNum(data.films, event.target.value));
}
});
// Función para filtrar
const seleccionar = document.querySelector(".selection-option");
seleccionar.addEventListener("change", (event) => {
const productor = filtrarPro(data.films, event.target.value);
const peliculaAño = filterMovies(data.films, event.target.value);
if(event.target.value === "todas") {
crearTarjetas(data.films);
} else if (peliculaAño.length === 0) {
crearTarjetas(productor);
}
else {
crearTarjetas(peliculaAño);
}
});
//Función para buscar
const search = document.querySelector(".b-busqueda");
const result = document.querySelector("section")
const filtrar = () => {
result.innerHTML ="";
const text = search.value.toLowerCase();
for (const film of data.films){
const title = film.title.toLowerCase();
if(title.indexOf(text) !== -1){
result.innerHTML += `
<div class="card">
<div class="card-body-img">
<img class="poster" src="${film.poster}" alt="Imagen de la película"/>
</div>
<div class="card-body-text">
<h5 class="card-title">${film.title}</h5>
<span class="año">Año: ${film.release_date}</span>
<span class="score">Productor: ${film.producer}</span>
<span class="score">Score: ${film.rt_score}</span>

</div>
</div>
`
}
}
if(result.innerHTML === ""){
result.innerHTML = "Pelicula no encontrada";
}
}
search.addEventListener("keyup", filtrar);



//Segunda pagina

const masInfo = document.querySelectorAll(".button-info");
const container = document.querySelector("section");
const headerPag2 = document.querySelector("header")
for(const info of masInfo) {
info.addEventListener("click", (event) => {
const resultado = data.films.find(elemento => elemento.id === event.target.dataset.id);


headerPag2.innerHTML= `
<a href="index.html">
<picture class="logo">
<source id="logo2" class="l-ghibli" srcset="img/logoghibli.png" media="(max-width: 480px)">
<img id="logo1" src="img/ghibli1.png" alt="Logo estudio Ghibli">
</picture>
</a>
`
container.innerHTML = "";
container.innerHTML +=`
<div class="buttons-up">
<a class="home" href="index.html">
<img class="backarrow" src="img/backblack.svg" alt="Volver a peliculas">
</a>
<button class="estadistic" id="modal">Más Info</button>
</div>
<div id="ventanaModal" class="modal">
<div class="modal-content">
<span class="close">&times;</span>
<h2>Más información sobre los personajes</h2>
<p class="people-info"></p>
</div>
</div>`
container.innerHTML +=`
<div class="card-info">
<div class="card-body-img2">
<img class="poster" src="${resultado.poster}" alt="Imagen de la película"/>
</div>
<div class="card-body-text2">
<span class="card-title"> <strong>Nombre:</strong> ${resultado.title}</span>
<span class="card-title"> <strong>Año:</strong> ${resultado.release_date}</span>
<span class="card-title"> <strong>Director:</strong> ${resultado.director}</span>
<span class="card-title"> <strong>Productor:</strong> ${resultado.producer}</span>
<span class="card-title"> <strong>Puntaje:</strong> ${resultado.rt_score}</span>
<span class="card-title"> <strong>Descripción:</strong> ${resultado.description}</span>
</div>
</div>`
resultado.people.forEach(elemento => {
container.innerHTML+=
`
<div class="card-people">
<div class="c-people">
<div class="card-body-img3">
<img class="p-people" src="${elemento.img}" alt="Imagen del personaje"/>
</div>
<div class="card-body-text3">
<span class="nombre"><strong>Nombre: </strong> ${elemento.name}</span>
<span class="año"><strong>Edad: </strong> ${elemento.age}</span>
<span class="score"><strong>Especie: </strong> ${elemento.specie}</span>
</div>
</div>
</div>`
});

const bestadistic = document.querySelector(".estadistic");
const modal = document.getElementById("ventanaModal");
const closeButton = document.querySelector(".close");
const peopleInfo = document.querySelector(".people-info");
let female = 0;
let male = 0;
let other = 0;
let animal = 0;
let human = 0;
for(const i of resultado.people){
if (i.gender === "Female"){
female += 1;
} else if (i.gender === "Male"){
male += 1;
} else {
other += 1;
} if (i.specie === "Human"){
human += 1;
} else {
animal +=1;
}
}
bestadistic.addEventListener("click", function (){
modal.style.display = "block";
closeButton.addEventListener("click", function(){
modal.style.display = "none";
});
window.addEventListener("click", function (event) {
if (event.target === modal){
modal.style.display = "none";
}
});
peopleInfo.innerHTML = ("<strong>En esta película hay:<br></strong>"+ "" +human + " humanos, "+ animal +" animales"+
"<strong><br><br>Visto de otra forma:</strong><br>" +female+" son mujeres, "+male+" son hombres y "+other+" son de otro genero");
});
});
}
Loading