Skip to content
This repository was archived by the owner on Jul 11, 2026. It is now read-only.
Open
Show file tree
Hide file tree
Changes from all commits
Commits
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
17 changes: 17 additions & 0 deletions .vscode/launch.json
Original file line number Diff line number Diff line change
@@ -0,0 +1,17 @@
{
// Use IntelliSense para saber los atributos posibles.
// Mantenga el puntero para ver las descripciones de los existentes atributos.
// Para más información, visite: https://go.microsoft.com/fwlink/?linkid=830387
"version": "0.2.0",
"configurations": [
{
"type": "node",
"request": "launch",
"name": "Iniciar programa",
"skipFiles": [
"<node_internals>/**"
],
"program": "${workspaceFolder}\\src\\index.html"
}
]
}
143 changes: 143 additions & 0 deletions Docs/src/compenentes/pantalla1.js
Original file line number Diff line number Diff line change
@@ -0,0 +1,143 @@
import { registros } from './pantalla2.js'
import { welcome } from './pantalla3.js'

let root = document.querySelector('#root');
export const pantalla1 = () => {
let p = `

<img class='image' src="/img/portada.jpg">
<h1> Bienvenida a nuestra comunidad
de programadoras </h1>
<img class='logo' src="./img/logo.jpg">
<form class ='input'>
<input type="text" id="email" class="email" placeholder="example@gmail.com" required>
<input type="password" id="password" class="password" placeholder="Password" required>
<input type="button" value="Ingresar" id="getInTo" class="acess">
</form>
<p class='options'> Ingresa con:</p>
<img class="logoF" src="/img/F.jpg">
<img class="logoG" src="/img/G.jpg">
<p class="not">¿No tienes cuenta?</p>
<a class="re" id="registro">Registrate</a>
</div>
<footer>
<p class="dr">Developed © 2020 CW, Inc.</p>
</footer>
`;
root.innerHTML = p;

let bttn = document.querySelector('.logoG');
bttn.addEventListener('click', loginGmail);
function loginGmail (){
var provider = new firebase.auth.GoogleAuthProvider();
firebase.auth().signInWithPopup(provider).then(function(result) {
// This gives you a Google Access Token. You can use it to access the Google API.
var token = result.credential.accessToken;
// The signed-in user info.
let user = {}
user.displayName = result.user.displayName
user.email = result.user.email
user.photoURL = result.user.photoURL
welcome(user)
// ...
}).catch(function(error) {
// Handle Errors here.
var errorCode = error.code;
var errorMessage = error.message;
// The email of the user's account used.
var email = error.email;
// The firebase.auth.AuthCredential type that was used.
var credential = error.credential;
// ...
});
}


let bttn1 = document.querySelector('.logoF');
bttn1.addEventListener('click', loginFb);
function loginFb(){
var provider = new firebase.auth.FacebookAuthProvider();
firebase.auth().signInWithPopup(provider).then(function(result) {
// This gives you a Facebook Access Token. You can use it to access the Facebook API.
var token = result.credential.accessToken;
// The signed-in user info.
var user = result.user;
console.log(user);
// ...
}).catch(function(error) {
// Handle Errors here.
var errorCode = error.code;
var errorMessage = error.message;
// The email of the user's account used.
var email = error.email;
// The firebase.auth.AuthCredential type that was used.
var credential = error.credential;
// ...
});
}

let signInWithEmail = document.querySelector('#getInTo');
signInWithEmail.addEventListener('click', signIn);
function signIn(){
let email= document.querySelector('#email').value;
let password= document.querySelector('#password').value;
firebase.auth().signInWithEmailAndPassword(email, password).then(function(result){
console.log(result);
let user = result.user;
let userInfo = {}
userInfo.displayName = result.user.displayName
userInfo.email = result.user.email
userInfo.photoURL = result.user.photoURL
console.log(userInfo);
welcome(user)
saveUser(userInfo)
})
.catch(function(error) {
// Handle Errors here.
var errorCode = error.code;
var errorMessage = error.message;
console.log(errorCode);
// ...
});
}
function observer(){
firebase.auth().onAuthStateChanged(function(user) {
if (user) {
// User is signed in.
console.log("existe usuario activo")
let displayName = user.displayName;
let email= user.email;
console.log(user);
let emailVerified = user.emailVerified;
let photoURL = user.photoURL;
let isAnonymous = user.isAnonymus;
let uid = user.uid;
let providerData= user.provideData;

} else {
console.log("no exite usuario activo")
// No user is signed in.
}
});
}
observer();
// Aquí irá la función para pasar al perfil del usuario
let registro = document.querySelector('#registro');
registro.addEventListener('click', registra);
function registra(){
registros()
}
}

//Guarda en B.D cloud firestore usuarios registrados en la colleccion usersRef
function saveUser (user){
let usuario = {
uid: user.uid,
nombre: user.displayName,
email: user.email,
foto: user.photoURL
}
usersRef.doc(user.uid).set(usuario)
}


67 changes: 67 additions & 0 deletions Docs/src/compenentes/pantalla2.js
Original file line number Diff line number Diff line change
@@ -0,0 +1,67 @@
import { pantalla1 } from './pantalla1.js'

let root = document.querySelector('#root');
export const registros = () =>{
let template = `
<div class='head'>
<h2>&lt;Code Woman&gt;</h2>
</div>
<p class='p1'>¡Hola! para formar parte de la comunidad de programadoras de América Latina, llena el formulario que se encuentra en la parte de abajo y da click en crear cuenta. </p>
<input type="text" id="name" class="name" placeholder="Nombre completo" required>
<input type="email" id="email" class="mail" placeholder="Correo electronico" required>
<input type="password" id="password" class="acs" placeholder="Contraseña" minlength="6" required>
<input type="password" id="confirmPassword" class="confirm" placeholder="Confirma tu contraseña" minlength="6" required>
<input type="checkbox" class="polit" value="2" checked><p class='acept'>'Acepto las condiciones de servicio y la
política de privacidad de Code Woman.'</p>
<input type="button" id="createAccount" value='Crear' class="creat">
<p class='ctn'>¿Ya tiene cuenta?</p>
<p id='iniciar' class='iniciar'>Iniciar sesión</p>
`;
root.innerHTML = template;

//Boton para iniciar sesion que manda a la primera pantalla
let bttnInit = document.querySelector('#iniciar');
bttnInit.addEventListener('click', pantalla1);

//Creando una cuenta de usuario con correo electrónico
let newUser= document.querySelector('#createAccount');
newUser.addEventListener('click', createUser)
function createUser(){
let email= document.querySelector("#email").value;
let password= document.querySelector("#password").value;
let confPassword = document.querySelector("#confirmPassword").value;
if (password == confPassword)
{
console.log('todo ok');

firebase.auth().createUserWithEmailAndPassword(email, password)
.then(function(){
verifyAccount()
})
.catch(function(error) {
// Handle Errors here.
var errorCode = error.code;
var errorMessage = error.message;
console.log(errorCode);
console.log(errorMessage);
// ...
});
}else{
alert('Las contraseñas no coinciden');
}
}

// Después de registro con correo se envía un correo de email para confirmación
function verifyAccount(){
var user = firebase.auth().currentUser;

user.sendEmailVerification().then(function() {
console.log("enviando correo...");
alert('Te enviamos un correo verificalo por favor y puedes continuar !');
}).catch(function(error) {
console.log(error);
// An error happened.
});
}

}
29 changes: 29 additions & 0 deletions Docs/src/compenentes/pantalla3.js
Original file line number Diff line number Diff line change
@@ -0,0 +1,29 @@
import { pantalla1 } from './pantalla1.js'
import { publicaciones } from './posts.js'

let root = document.querySelector('#root');
export const welcome = (user) => {
let renderWelcome = `
<div class='head'>
<h2> &lt;Code Woman&gt; </h2>
<input class='inicio' type='button' value='Inicio'/>
<input class='perfil' type='button' value='Perfil'/>
<input class='salir' type='button' value='Salir'/>
</div>
<div id='welcomeInit'>
<p class='welcomB'> Bienvenida a Code Woman </p>
<p class='welcomeName'> ${user.displayName} </p>
<img class='photo' src=${user.photoURL} />
</div>
`;
root.innerHTML = renderWelcome;

let salir = document.querySelector('.salir');
salir.addEventListener('click', pantalla1)

let bttninicio = document.querySelector('.inicio');
bttninicio.addEventListener('click',pos);
function pos (){
publicaciones (user);
}
}
Loading