Skip to content
Open
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
85 commits
Select commit Hold shift + click to select a range
bb90e44
HU1 diseño
SenseiGen Mar 22, 2023
5a88f78
2nd day
MariaGarciaB Mar 23, 2023
5f07fc7
Merge pull request #1 from Gvoisier/GV
SenseiGen Mar 24, 2023
53a13b8
primer commit
MariaGarciaB Mar 24, 2023
965059b
Primer commit
MariaGarciaB Mar 24, 2023
1793d7f
index html
mariilo97 Mar 27, 2023
f22418e
prueba
mariilo97 Mar 27, 2023
e5e131c
OH con Genesis
SenseiGen Mar 27, 2023
c889917
Botones Iniciar sesión y login funcionando
SenseiGen Mar 27, 2023
8139390
para stage
MariaGarciaB Mar 27, 2023
bcd7e1d
Merge branch 'main' of https://github.com/Gvoisier/DEV004-social-netw…
MariaGarciaB Mar 27, 2023
6ba753b
funcionalidad botones inicio
MariaGarciaB Mar 27, 2023
a581bbd
SPA corregido
SenseiGen Mar 28, 2023
3e96306
pre arreglo SPA
MariaGarciaB Mar 28, 2023
55ee710
Implementación Firebase
SenseiGen Mar 28, 2023
d556d4a
Merge pull request #2 from Gvoisier/GV
SenseiGen Mar 28, 2023
f0e9abe
prueba
mariilo97 Mar 28, 2023
e6a4d5d
Merge branch 'main' of https://github.com/Gvoisier/DEV004-social-netw…
MariaGarciaB Mar 28, 2023
f8b3e8c
prueba pull
MariaGarciaB Mar 28, 2023
22174d5
prueba
MariaGarciaB Mar 28, 2023
51dceb4
Merge branch 'main' of https://github.com/Gvoisier/DEV004-social-netw…
mariilo97 Mar 28, 2023
83bcc79
iput name register
MariaGarciaB Mar 29, 2023
c21cf18
Merge pull request #3 from MariaGarciaB/main
MariaGarciaB Mar 29, 2023
0c0f3ef
logins incompletos
mariilo97 Apr 10, 2023
6835ed1
Merge pull request #4 from Gvoisier/ML
mariilo97 Apr 10, 2023
55888f1
autentificación uduarios en user y loginGoogle
MariaGarciaB Apr 10, 2023
9fd2e28
bienvenida Login
MariaGarciaB Apr 10, 2023
337913e
HU1, HU2
MariaGarciaB Apr 12, 2023
9e2bcab
HU1 e HU2
MariaGarciaB Apr 12, 2023
7a683b9
mediaquery prueba
MariaGarciaB Apr 12, 2023
2bf6be8
mediaqueri md
MariaGarciaB Apr 12, 2023
dcd3a9c
Merge branch 'MG' of https://github.com/Gvoisier/DEV004-social-networ…
MariaGarciaB Apr 12, 2023
1e87cdd
login y registro exitoso
MariaGarciaB Apr 12, 2023
ee5e2c4
Merge pull request #5 from Gvoisier/MG
MariaGarciaB Apr 12, 2023
7db103c
cerrando sesion incompleto
mariilo97 Apr 14, 2023
32bc472
Merge pull request #6 from Gvoisier/ML
mariilo97 Apr 14, 2023
2f32a4b
Modelo responsive
MariaGarciaB Apr 14, 2023
fa07af1
Merge pull request #7 from Gvoisier/MG
MariaGarciaB Apr 14, 2023
83f474b
loginUser, loginGoogle, Register funcional
MariaGarciaB Apr 17, 2023
674a88f
Merge pull request #8 from Gvoisier/MG
MariaGarciaB Apr 17, 2023
3c94e24
estructura muro y diseño
mariilo97 Apr 18, 2023
12947b2
Merge pull request #9 from Gvoisier/ML
mariilo97 Apr 18, 2023
9d7bfa3
trabajo en feed
MariaGarciaB Apr 18, 2023
dcdade7
estructura muro y captua input
MariaGarciaB Apr 18, 2023
2c776b1
Merge pull request #10 from Gvoisier/MG
MariaGarciaB Apr 19, 2023
fdf16eb
CSS actualizado, comienzo comentarios muro
MariaGarciaB Apr 20, 2023
9b63dad
Merge pull request #11 from SenseiGen/MG
MariaGarciaB Apr 20, 2023
ff914eb
recibir en consola firebase
mariilo97 Apr 20, 2023
6f53433
impresion de post
mariilo97 Apr 20, 2023
8ed0d1a
Merge pull request #12 from SenseiGen/ML
mariilo97 Apr 20, 2023
2a71433
Diseño post en Feed
MariaGarciaB Apr 21, 2023
62f7540
Merge pull request #13 from SenseiGen/MG
MariaGarciaB Apr 21, 2023
13ce021
eliminar post funcional sin terminar
mariilo97 Apr 24, 2023
5c87963
Merge pull request #14 from SenseiGen/ML
mariilo97 Apr 24, 2023
e18ceca
organización botones comentarios
MariaGarciaB Apr 25, 2023
82bd1a2
Editar en proceso
MariaGarciaB Apr 25, 2023
223057d
Merge pull request #15 from SenseiGen/MG
MariaGarciaB Apr 25, 2023
25667ed
Botones editar y eliminar sólo para usuario conectado
MariaGarciaB Apr 26, 2023
392449f
Merge pull request #16 from SenseiGen/MG
MariaGarciaB Apr 26, 2023
825d37c
editar incompleto
mariilo97 Apr 27, 2023
7123594
Merge pull request #17 from SenseiGen/ML
mariilo97 Apr 27, 2023
f796e33
funcion editar completa
MariaGarciaB Apr 27, 2023
22cb2a8
Editar Completo + README
MariaGarciaB Apr 27, 2023
c090f87
Merge pull request #18 from SenseiGen/MG
MariaGarciaB Apr 27, 2023
ae13a16
Merge pull request #19 from SenseiGen/ML
mariilo97 Apr 27, 2023
cd54547
Mejora de Readme
mariilo97 Apr 27, 2023
86647de
Mejora Readme 2
mariilo97 Apr 27, 2023
1c0902d
Merge pull request #20 from SenseiGen/ML
mariilo97 Apr 27, 2023
30e8d8b
Campo vacío al dar click
MariaGarciaB Apr 28, 2023
bd98328
Merge branch 'main' into MG
MariaGarciaB Apr 28, 2023
ec61817
Merge pull request #21 from SenseiGen/MG
MariaGarciaB Apr 28, 2023
f473f28
readme prueba
mariilo97 Apr 28, 2023
8af2bcf
pruebas
MariaGarciaB Apr 29, 2023
ad76e56
Responsive Completo
mariilo97 Apr 29, 2023
1b47198
Merge pull request #22 from SenseiGen/ML
mariilo97 Apr 29, 2023
f4d1ac6
Orden de post
mariilo97 May 2, 2023
7045b64
Merge pull request #23 from SenseiGen/ML
mariilo97 May 2, 2023
fe2f2bd
para stash
MariaGarciaB May 2, 2023
e855eaa
Merge branch 'main' of https://github.com/Gvoisier/DEV004-social-netw…
MariaGarciaB May 2, 2023
2d7dbbd
onNavigate Google correcto
MariaGarciaB May 11, 2023
6ee0f8a
Mejorar funcionalidad con loginGoogle
mariilo97 May 11, 2023
52e6001
Merge pull request #24 from SenseiGen/ML
mariilo97 May 11, 2023
76b2a79
mejoras css
MariaGarciaB Oct 4, 2023
8f6e97f
mejoras en css
MariaGarciaB Oct 19, 2023
c0bce48
mejoras en css
MariaGarciaB Oct 19, 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
559 changes: 25 additions & 534 deletions README.md

Large diffs are not rendered by default.

438 changes: 435 additions & 3 deletions package.json

Large diffs are not rendered by default.

121 changes: 121 additions & 0 deletions src/components/Feed.js
Original file line number Diff line number Diff line change
@@ -0,0 +1,121 @@
import { log } from "async";
import {
logOut,
crearPost,
refPost,
db,
editRef,
actualUser,
} from "../lib/autenticar";
import { onNavigate } from "../router/index";
import { onSnapshot, doc, deleteDoc } from "@firebase/firestore";

// CREAR ELEMENTOS DEL MURO
export const Feed = () => {
// console.log("Esto debería funcionar", actualUser())
// Elementos header (mostrar logo)
const HomeDiv = document.createElement("div");
HomeDiv.classList.add("overlay");

// Crear el contenedor principal
const container = document.createElement("div");
container.classList.add("container");
const header = document.createElement("header");
header.id = "encabezadoFeed";

//Logo Mamá Genial
const img = document.createElement('img');
img.setAttribute('src', './img/logo.png');
img.setAttribute('alt', 'Logo MaMá Genial');
img.id = 'logoFeed';
header.appendChild(img);
HomeDiv.appendChild(header);
// Elementos muro (todo para publicar)
const main = document.createElement("main");
main.id = "muro";
const inputFeed = document.createElement("input");
inputFeed.id = "inputComentarios";
inputFeed.placeholder = "¿Cómo te sientes hoy?";
const buttonPublicar = document.createElement("button");
buttonPublicar.id = "publicar";
buttonPublicar.textContent = "Publicar";
buttonPublicar.addEventListener("click", () => {
crearPost(inputFeed.value);
inputFeed.value = "";
});
main.append(inputFeed, buttonPublicar);

// Pintar los comentarios realizados
const articlePost = document.createElement("article");
articlePost.id = "postRealizado";
onSnapshot(refPost(), (querySnapshot) => {
articlePost.innerHTML = "";
querySnapshot.forEach((post) => {
console.log(post.data().email, post.data().comentario, post.data().date);
// Elementos para darle diseño a los comentarios realizados
const p = document.createElement("p");
p.textContent = post.data().comentario;
const strong = document.createElement("strong");
strong.textContent = post.data().email;
const botonesPost = document.createElement("section");
botonesPost.id = "btPost";
// Elementos para editar y eliminar comentarios
const buttonEliminar = document.createElement("button");
buttonEliminar.id = "eliminar";
buttonEliminar.textContent = "Eliminar";
buttonEliminar.addEventListener("click", async () => {
await deleteDoc(doc(db, "post", post.id));
});
const inputEditable = document.createElement("input");
inputEditable.id = "editable";
inputEditable.value = post.data().comentario;

// Utilizar el editar para guardar los cambios realizados en el input
const buttonGuardar = document.createElement("button");
buttonGuardar.id = "guardar";
buttonGuardar.textContent = "Guardar";
buttonGuardar.addEventListener("click", async () => {
console.log(inputFeed.value);
await editRef(post.id, { comentario: inputEditable.value });
inputEditable.style.display = "none";
});
const buttonEditar = document.createElement("button");
buttonEditar.id = "editar";
buttonEditar.textContent = "Editar";

buttonEditar.addEventListener("click", () => {
buttonEditar.style.display = "none";
p.style.display = "none";
inputEditable.style.display = "block";
buttonGuardar.style.display = "block";
});
const emailUser = actualUser().email;
if (emailUser === post.data().email) {
buttonEliminar.style.display = "block";
buttonEditar.style.display = "block";
buttonGuardar.style.display = "none";
inputEditable.style.display = "none";
} else {
buttonEliminar.style.display = "none";
buttonEditar.style.display = "none";
buttonGuardar.style.display = "none";
inputEditable.style.display = "none";
}
botonesPost.append(buttonEditar, buttonEliminar, buttonGuardar);
articlePost.append(strong, p, inputEditable, botonesPost);
HomeDiv.appendChild(articlePost);
});
});
const nav = document.createElement("nav");
const buttonCerrarSesion = document.createElement("button");
buttonCerrarSesion.id = "cerrarSesion";
// BOTON CERRAR SESIÓN Y EVENTO (interacción)
buttonCerrarSesion.textContent = "Cerrar Sesión";
buttonCerrarSesion.addEventListener("click", () => {
logOut().then((resp) => onNavigate("/"));
});
nav.appendChild(buttonCerrarSesion);
HomeDiv.append(header, container, nav, main);

return HomeDiv;
};
103 changes: 103 additions & 0 deletions src/components/Home.js
Original file line number Diff line number Diff line change
@@ -0,0 +1,103 @@
import { onNavigate } from '../router/index';
import { loginUser, loginGoogle } from '../lib/autenticar';

export const Home = () => {
const HomeDiv = document.createElement('section');
HomeDiv.classList.add('container');
const buttonRegister = document.createElement('button');
const buttonLogin = document.createElement('button');
const buttonLoginGoogle = document.createElement('button');

buttonRegister.textContent = 'Registrate';
buttonRegister.classList.add('custom-button');
buttonLogin.textContent = 'Inicia Sesión';
buttonLogin.classList.add('custom-button');
buttonLogin.setAttribute('id', 'idLogin');
buttonLoginGoogle.textContent = 'Continua con Google';
buttonLoginGoogle.classList.add('google-button');
buttonLoginGoogle.setAttribute('id', 'idGoogle');
const header = document.createElement('header');
const img = document.createElement('img');
img.setAttribute('src', './img/logo.png');
img.setAttribute('alt', 'Logo de la marca MaMá Genial');
img.id = 'logoEncabezado';
header.appendChild(img);
HomeDiv.appendChild(header);

const main = document.createElement('main');
const article = document.createElement('article');
const h1 = document.createElement('h1');
h1.classList.add('page-title');
h1.textContent = 'Para Continuar, Inicia Sesión';
/* const inputGoogle = document.createElement('input');
inputGoogle.placeholder = 'Continua con Google';
inputGoogle.setAttribute('type', 'email'); */
// buttonLoginGoogle.addEventListener('click', () => onNavigate('/feed'));

// INTERACCIÓN BOTON GOOGLE
buttonLoginGoogle.addEventListener('click', () => {
// llamar a la funcion logincongoogle
loginGoogle()
.then((credential) => {
const user = credential.user;
// const user = credential.user.uid;
console.log(user);
if (user !== undefined) {
onNavigate('/feed');
}
})
.catch((error) => {
console.log(error);
});
});
const inputEmail = document.createElement('input');
inputEmail.placeholder = 'Ingresa tu Correo';
inputEmail.setAttribute('type', 'email');
inputEmail.classList.add('custom-input');
const inputPassword = document.createElement('input');
inputPassword.placeholder = 'Ingresa tu Contraseña';
inputPassword.setAttribute('type', 'password');
inputPassword.classList.add('custom-input');
/* img.setAttribute('alt', 'Logo de la marca MaMá Genial');
img.id = 'logoEncabezado'; */
article.append(h1, inputEmail, inputPassword, buttonLogin, buttonRegister, buttonLoginGoogle);
main.appendChild(article);
HomeDiv.appendChild(main);

// DIRECCIONA REGISTER
buttonRegister.addEventListener('click', () => onNavigate('/register'));

// INTERACCION LOGIN (alertas, ver valores en consola )
buttonLogin.addEventListener('click', () => {
if (inputEmail.value === '' || inputPassword.value === '') {
swal({
title: '¡Verifica tus datos!',
text: 'la contraseña debe ser mayor a 6 digitos',
icon: 'info',
dangerMode: true,
});
} else {
console.log(inputEmail.value, inputPassword.value);
loginUser(inputEmail.value, inputPassword.value)
.then((res) => { // then para promesa cumplida
// enviarlo al muro
console.log(res);

// REDIRECCIONA EL LOGIN (pone alertas en usuarios no reistrados)
onNavigate('/feed');
})
.catch((error) => { // para promesa fallida
console.log(error.message);
swal({
title: '¡Usuario no registrado!',
text: 'Crea una cuenta',
icon: 'info',
dangerMode: true,
});
// quisa aqui ponemos el borrar campos
});
}
});

return HomeDiv;
};
17 changes: 17 additions & 0 deletions src/components/Login.js
Original file line number Diff line number Diff line change
@@ -0,0 +1,17 @@
import { onNavigate } from '../router/index';


//CREAMOS LOS ELEMENTOS (para el muro)
export const Login = () => {
const HomeDiv = document.createElement("div");
HomeDiv.textContent = "Bienvenida al login";
const buttonHome = document.createElement("button");

buttonHome.textContent = "Regresar al Home";
buttonHome.addEventListener("click", () => onNavigate("/"));

HomeDiv.appendChild(buttonHome);
// HomeDiv.appendChild(buttonLogin);

return HomeDiv;
};
56 changes: 56 additions & 0 deletions src/components/Register.js
Original file line number Diff line number Diff line change
@@ -0,0 +1,56 @@
import { createUser } from '../lib/autenticar';
import { onNavigate } from '../router/index';

//CREANDO ELEMENTOS DE REGISTER
export const Register = () => {
const HomeDiv = document.createElement('main');
const img = document.createElement('img');
img.setAttribute('src', './img/logo.png');
img.setAttribute('alt', 'Logo de la marca MaMá Genial');
img.id = 'logoEncabezadoRegister';
const h2 = document.createElement('h2');
h2.textContent = 'Bienvenida al registro';
const inputName = document.createElement('input');
inputName.placeholder = 'Ingresa tu Nombre';
inputName.setAttribute('type', 'text');
const inputEmail = document.createElement('input');
inputEmail.placeholder = 'Ingresa tu correo';
inputEmail.setAttribute('type', 'email');
const inputPassword = document.createElement('input');
inputPassword.placeholder = 'Ingresa tu contraseña';
inputPassword.setAttribute('type', 'password');
const buttonHome = document.createElement('button');
const buttonRegister = document.createElement('button');
buttonRegister.textContent = 'Registrate';

buttonHome.textContent = 'Regresar al Home';

//INTERACCION (EVETOS CLICK >> 3 botones de home)
buttonHome.addEventListener('click', () => onNavigate('/'));
buttonRegister.addEventListener('click', () => {
if (inputEmail.value === '' || inputPassword.value === '') {
swal({
title: '¡Completa todos los campos!',
text: 'la contraseña debe ser mayor a 6 digitos',
icon: 'info',
dangerMode: true,
});
} else {
console.log(inputName.value, inputEmail.value, inputPassword.value); // promesa pendiente
createUser(inputName.value, inputEmail.value, inputPassword.value)
.then((res) => { // then para promesa cumplida
// enviarlo al muro
buttonRegister.addEventListener('click', () => onNavigate('/feed'));
console.log(res);
})
.catch((error) => { // para promesa fallida
console.log(error);
});
}
});


HomeDiv.append(img, h2, inputName, inputEmail, inputPassword, buttonRegister, buttonHome);

return HomeDiv;
};
Binary file added src/img/HU1.JPG
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/HU2.JPG
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/HU3.JPG
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/banner.JPG
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/bannerM.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/logo.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/maternidad.jpg
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/maternidadC.JPG
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/maternidadD.jpg
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/maternidadb.JPG
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
25 changes: 14 additions & 11 deletions src/index.html
Original file line number Diff line number Diff line change
@@ -1,12 +1,15 @@
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8">
<meta name="viewport" content="width=device-width, initial-scale=1.0">
<meta http-equiv="X-UA-Compatible" content="ie=edge">
<title>Document</title>
</head>
<body>
<script type="module" src="main.js"></script>
</body>
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8">
<meta name="viewport" content="width=device-width, initial-scale=1.0">
<meta http-equiv="X-UA-Compatible" content="ie=edge">
<title>MaMáGenial!!!!!!</title>
<link rel="stylesheet" href="style.css"/>
</head>
<body>
<section id="root"></section>
<script type="module" src="main.js"></script>
<script src="https://unpkg.com/sweetalert/dist/sweetalert.min.js"></script>
</body>
</html>
Loading