Skip to content
Open
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
75 commits
Select commit Hold shift + click to select a range
d370bb6
probando ssh
Caarolinaa Jan 9, 2023
c6109a7
se agregan elementos en vistas home y register
Caarolinaa Jan 12, 2023
e5cccdf
agregamos routes en archivo main.js
Caarolinaa Jan 12, 2023
220f79a
trabajamos con toNavigate, agregamos nuevo archivo registerOk.js
Caarolinaa Jan 13, 2023
51b7ef9
componentes terminados
Caarolinaa Jan 16, 2023
297c65f
implementación firebase
Caarolinaa Jan 17, 2023
446091f
agregando funciones signIn, onAuth, sigOutFirebase, registerFirebase
Caarolinaa Jan 17, 2023
71e5823
Agrega función signUpWithPass. Agrega type a los inputs. Modifica ubi…
KamilaOjeda Jan 18, 2023
91447f9
Formatea código.
KamilaOjeda Jan 18, 2023
5357d5f
agregando dependencias de deploy package.json
Caarolinaa Jan 19, 2023
51d7a2d
Soluciona problema de salida: undefind, de la funcion signUpWithPass.
KamilaOjeda Jan 20, 2023
18d616c
trabajando funciones en home.js y register.ok
Caarolinaa Jan 20, 2023
a6982f4
Quita: window.
KamilaOjeda Jan 20, 2023
b106ac9
Soluciona conflicto en file firebase.js.
KamilaOjeda Jan 20, 2023
186d65d
Agrega viewer() en componente home. Inicializa viewer en firebase.js.…
KamilaOjeda Jan 20, 2023
8b3cf2b
se agrega login con Google, captura de errores y mensajes de alerta
Caarolinaa Jan 20, 2023
455e233
Agrega links de google fonts para las tipografías elegidas del proyecto.
KamilaOjeda Jan 23, 2023
fdcb11e
Agrega estilos generales con variables para paleta de colores y tipog…
KamilaOjeda Jan 23, 2023
dfe0da5
Agrega links de fondos e iconos en file index.html.
KamilaOjeda Jan 23, 2023
fef9614
Agrega imagen de logo y primeras pruebas de estilos en styles.css.
KamilaOjeda Jan 23, 2023
df73a31
Cambia de ubicación file style.css.
KamilaOjeda Jan 23, 2023
e66c35a
Soluciona problemas para enlazar css con html (mime).
KamilaOjeda Jan 23, 2023
6ed6206
Agrega grid a style.css para la pantalla de home.
KamilaOjeda Jan 23, 2023
a33975e
Agrega estilos mobile first 375x667 vista Home/Login.
KamilaOjeda Jan 23, 2023
4c13a9c
Agrega estilos media queries min-width:500px y 700px vista Home/Login.
KamilaOjeda Jan 24, 2023
f28cd07
Agrega pequeños cambios no relevantes.
KamilaOjeda Jan 24, 2023
3f75bf3
Agrega carpeta para estilos que contiene 4 files de css para los esti…
KamilaOjeda Jan 24, 2023
4427a02
Agrega estilos a vista de registerOk. Maqueta en vista registerOk.js.…
KamilaOjeda Jan 25, 2023
d88b730
agregando estilos a register.js y selector
Caarolinaa Jan 25, 2023
cc1e0f9
Agrega cambios selectores generales en style.css.
KamilaOjeda Jan 25, 2023
cb0b5ae
solucionando errorpara mostrar div en register
Caarolinaa Jan 25, 2023
acfd4ee
Merge branch 'feature-home-style-js' of github.com:Caarolinaa/DEV002-…
Caarolinaa Jan 25, 2023
860aab0
algunos ajustes en html y css
aringapoki Jan 26, 2023
8af731e
Merge branch 'feature-style' of github.com:Caarolinaa/DEV002-social-n…
aringapoki Jan 26, 2023
d632d72
Completa estilos de la vista Home/Login. Incluye media queries para e…
KamilaOjeda Jan 26, 2023
fe87796
Agrega estilos de placer holder, focus input y pointer cursor a vista…
KamilaOjeda Jan 26, 2023
799006d
agregando estilos a register.js
Caarolinaa Jan 26, 2023
4e8703a
creación de vista feed desde JS
aringapoki Jan 26, 2023
623542f
Merge branch 'feature-style-feed' of github.com:Caarolinaa/DEV002-soc…
Caarolinaa Jan 26, 2023
180cb83
union de estilos css, register, home, feed
Caarolinaa Jan 26, 2023
61806a5
estilos home
aringapoki Jan 26, 2023
f856595
trabajando en los test de signIn - test-c
Caarolinaa Jan 30, 2023
1e92809
agregando funciones de firestore
Caarolinaa Jan 30, 2023
b935950
Merge branch 'feature-firestore' of github.com:Caarolinaa/DEV002-soci…
aringapoki Jan 30, 2023
d079a95
agregando funciones de firestore y nuevo archivo post.js
Caarolinaa Jan 31, 2023
599131b
Merge branch 'feature-firestore' of github.com:Caarolinaa/DEV002-soci…
aringapoki Jan 31, 2023
21bada3
resolviendo funcion de profileName
Caarolinaa Jan 31, 2023
1594926
Agrega currentUser en viewer.
KamilaOjeda Jan 31, 2023
8b0db91
agregando funciones y templates strings en post.js
Caarolinaa Feb 1, 2023
37fbc4b
comentamos el avance de post.js por error
Caarolinaa Feb 1, 2023
67d4f6c
Agrega user.displayName en feed.
KamilaOjeda Feb 1, 2023
ef66182
Soluciona conflictos al hacer pull feature-post.
KamilaOjeda Feb 1, 2023
a7e5b50
Intenta solucionar issues.
KamilaOjeda Feb 1, 2023
b8a575a
Corrige ruta en gitignore.
KamilaOjeda Feb 1, 2023
1d5a120
Merge branch 'feature-post' of github.com:Caarolinaa/DEV002-social-ne…
aringapoki Feb 1, 2023
7956a9d
Soluciona problema de rutas MIME. Funciona en la web.
KamilaOjeda Feb 1, 2023
df221ec
solo guardo cambios para crear una nueva rama
aringapoki Feb 1, 2023
17ea6bd
Agrega satisfactoriamente funciones savePost y getPost.
KamilaOjeda Feb 1, 2023
36e999d
Agrega función onGetPosts para mostrar en la actualización de las pu…
KamilaOjeda Feb 1, 2023
d83f8a1
funciona getPosts, pero no la funcion postPrint porque no la guardé c…
aringapoki Feb 1, 2023
06d58e0
funciona con onGetPosts
aringapoki Feb 2, 2023
3504179
Agrega funcion deletePost, que sirve para eliminar un solo post recup…
KamilaOjeda Feb 2, 2023
a7d67fc
funciona delete, pero aún cualquier usuario puede eliminar post
aringapoki Feb 2, 2023
885f166
Agrega funciones deletePost, updatePost, getPost, para manipular las …
KamilaOjeda Feb 2, 2023
370c5bf
funciona onGetPost, deletePost
aringapoki Feb 2, 2023
e29819c
Soluciona conflictos al juntar con ramita pruebaTimeline.
KamilaOjeda Feb 2, 2023
aef53a4
Soluciona conflictos al juntar con ramita pruebaTimeline.
KamilaOjeda Feb 2, 2023
bcf76cc
Soluciona conflictos que ocurrieron al juntar los errores resueltos d…
KamilaOjeda Feb 2, 2023
373b19b
agrega orden por fecha, serverTimestamp, orderBy
aringapoki Feb 2, 2023
00c4074
Merge branch 'pruebaTimeline' into feature-post
aringapoki Feb 2, 2023
8f9d673
merge con función register arreglada, funciona ya addPost, onSnapshot…
aringapoki Feb 2, 2023
11a8011
Merge branch 'feature-posts-timeline' of github.com:Caarolinaa/DEV002…
aringapoki Feb 3, 2023
5fd090b
Merge pull request #23 from Caarolinaa/feature-post
aringapoki Feb 3, 2023
d771463
Revert "Feature post"
aringapoki Feb 3, 2023
b7b8648
Merge pull request #24 from Caarolinaa/revert-23-feature-post
aringapoki Feb 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
3 changes: 2 additions & 1 deletion .gitignore
Original file line number Diff line number Diff line change
Expand Up @@ -3,4 +3,5 @@
coverage/
node_modules/
.yarn.lock
package-lock.json
package-lock.json
/src/Firebase/firebaseConfig.js
8 changes: 5 additions & 3 deletions package.json
Original file line number Diff line number Diff line change
Expand Up @@ -2,7 +2,7 @@
"name": "social-network",
"version": "1.0.0",
"description": "Social Network @ Laboratoria",
"main": "src/index.html",
"main": "main.js",
"keywords": [
"javascript",
"firebase",
Expand All @@ -15,7 +15,8 @@
"stylelint": "stylelint --aei src/**/*.css",
"pretest": "npm run htmlhint && npm run eslint && npm run stylelint",
"test": "jest --coverage",
"start": "serve -s src/"
"start": "serve -s src/",
"deploy": "gh-pages -d src"
},
"devDependencies": {
"@babel/core": "^7.11.4",
Expand All @@ -25,6 +26,7 @@
"eslint-config-airbnb-base": "^15.0.0",
"eslint-plugin-import": "^2.18.2",
"eslint-plugin-jest": "^25.3.0",
"gh-pages": "^4.0.0",
"htmlhint": "^1.0.0",
"jest": "^27.0.1",
"regenerator-runtime": "^0.13.1",
Expand All @@ -40,4 +42,4 @@
"version": "5.5.0",
"commit": "51e941edf1cc991930aefd7dd9c406a7c43741c1"
}
}
}
25 changes: 25 additions & 0 deletions src/Firebase/firebase.js
Original file line number Diff line number Diff line change
@@ -0,0 +1,25 @@
import { app } from "../Firebase/firebaseConfig.js";
import { getAuth, createUserWithEmailAndPassword, signOut, GoogleAuthProvider, onAuthStateChanged, updateProfile, signInWithPopup, signInWithEmailAndPassword } from 'https://www.gstatic.com/firebasejs/9.15.0/firebase-auth.js';

export const auth = getAuth(app);
export const provider = new GoogleAuthProvider();

//Crear Usuario
export const signUpWithPass = (auth, email, password) => createUserWithEmailAndPassword(auth, email, password)
export const signInWithPass = (auth, email, password) => signInWithEmailAndPassword(auth, email, password)
export const viewer = () => {
onAuthStateChanged(auth, (user) => {
if (user) {
// currentUser.email = user.email;
// currentUser.uid = user.uid;
console.log("user logged in " + user.email)
} else {
console.log("user logged out ")
}
});
};
export const logout = (auth) => signOut(auth)
export const popUpGoogle = (auth, provider) => signInWithPopup(auth, provider)



21 changes: 21 additions & 0 deletions src/Firebase/firebaseConfig.js
Original file line number Diff line number Diff line change
@@ -0,0 +1,21 @@
// Import the functions you need from the SDKs you need
import { initializeApp } from 'https://www.gstatic.com/firebasejs/9.15.0/firebase-app.js';

// TODO: Add SDKs for Firebase products that you want to use
// https://firebase.google.com/docs/web/setup#available-libraries

// Your web app's Firebase configuration
// For Firebase JS SDK v7.20.0 and later, measurementId is optional
export const firebaseConfig = {
apiKey: "AIzaSyDPHtZUcsIC4Le451IhyZuwQmB8XHFma3Y",
authDomain: "social-network-39dcf.firebaseapp.com",
projectId: "social-network-39dcf",
storageBucket: "social-network-39dcf.appspot.com",
messagingSenderId: "1024927465075",
appId: "1:1024927465075:web:6d61cb6a3d3f57ddc43406",
measurementId: "G-MK58E6Q1EJ"
};

// Initialize Firebase
export const app = initializeApp(firebaseConfig);

92 changes: 92 additions & 0 deletions src/components/feed.js
Original file line number Diff line number Diff line change
@@ -0,0 +1,92 @@
import { toNavigate } from "../main.js";
import { register } from "../components/register.js"
import { auth, logout } from "../Firebase/firebase.js";

export const feed = () => {
//Creamos elementos del Feed
const feedDiv = document.createElement("div");
feedDiv.classList = "feedDiv"
const header = document.createElement("div");

const imgHeader = document.createElement("img");
imgHeader.src = "../img/Logo VeganShip.png"
imgHeader.classList = "imgHeader"

const inputSearchHeader = document.createElement("input");
inputSearchHeader.placeholder = "tu búsqueda"

const buttonSignOut = document.createElement("button");
buttonSignOut.textContent = "Cerrar Sesión";

const newPostContainer = document.createElement("section");
newPostContainer.classList = "newPostContainer";
const newPostLocation = document.createElement("input");
newPostLocation.placeholder = "ubicación"

const newPostTag = document.createElement("input");
newPostTag.placeholder = "etiquetas"

const newPostContent = document.createElement("textarea");
newPostContent.classList = "newPostContent"
const newPostButton = document.createElement("button");
const postFeed = document.createElement("section");
const post = document.createElement("article");
const postHeader = document.createElement("div");
postHeader.classList = "postHeader"
const imgProfilePost = document.createElement("img");
imgProfilePost.src = "../img/sandia-logo.png";
imgProfilePost.classList = "imgProfilePost";

const postUserName = document.createElement("h3");
postUserName.textContent = "Vaquita Vegana";
const postLocation = document.createElement("h4");
postLocation.textContent = "Villa Dulce"
//botón para hacer drop down menu con a href
const moreOptions = document.createElement("button");
moreOptions.textContent = "más"
const postContentContainer = document.createElement("div");
postContentContainer.classList = "postContentContainer"
const postTag = document.createElement("a");
postTag.textContent = "#recetas";
const postContent = document.createElement("p");
postContent.textContent = "receta de dobladitas";
const likeButton = document.createElement("button");
likeButton.textContent = "like";

feedDiv.appendChild(header);
header.appendChild(imgHeader);
header.appendChild(inputSearchHeader);
header.appendChild(buttonSignOut);
feedDiv.appendChild(newPostContainer);
newPostContainer.appendChild(newPostLocation);
newPostContainer.appendChild(newPostTag);
newPostContainer.appendChild(newPostContent);
newPostContainer.appendChild(newPostButton);
feedDiv.appendChild(postFeed);
postFeed.appendChild(post);
post.appendChild(postHeader);
postHeader.appendChild(imgProfilePost);
postHeader.appendChild(postUserName);
postHeader.appendChild(postLocation);
postHeader.appendChild(moreOptions);
postFeed.appendChild(postContentContainer);
postContentContainer.appendChild(postTag);
postContentContainer.appendChild(postContent);
postContentContainer.appendChild(likeButton);




buttonSignOut.addEventListener("click", () => toNavigate("/"));
buttonSignOut.addEventListener("click", async (e) => {
e.preventDefault() //cancela comportamiento por defecto de refrescar la pagina
try {
await logout(auth)
} catch (error) {
console.log(error)
}
toNavigate("/");
})

return feedDiv;
}
127 changes: 127 additions & 0 deletions src/components/home.js
Original file line number Diff line number Diff line change
@@ -0,0 +1,127 @@
import { toNavigate } from "../main.js";
import { auth, signInWithPass, viewer, provider, popUpGoogle } from "../Firebase/firebase.js";

export const home = () => {
//Creamos elementos del Formulario
//const containerHeader = document.createElement("header");
//const imgHeader = document.createElement("img");
const homeDiv = document.createElement("div");
const container = document.createElement("section")
const containerLogo = document.createElement("figure");
const imgLogo = document.createElement("img");
const containerForm = document.createElement("div");
const loginForm = document.createElement("form");
const labelMail = document.createElement("label");
const inputMail = document.createElement("input");
const labelPassword = document.createElement("label");
const inputPassword = document.createElement("input");
const buttonLogin = document.createElement("button");
const containerGoogle = document.createElement("div");
const iconLogoGoogle = document.createElement("i");
const buttonGoogle = document.createElement("button");
const containerRegister = document.createElement("div");
const labelRegister = document.createElement("label");
const hrefRegister = document.createElement("a");

homeDiv.className = "div-container";
container.className = "container";
//containerHeader.className = "container-header";
//imgHeader.className = "img-header";
containerLogo.className = "container-logo";
imgLogo.src = "../img/Logo VeganShip.png";
imgLogo.className = "img-logo";
containerForm.className = "container-form";
loginForm.className = "login-form";
labelMail.className = "label-mail labels";
labelMail.textContent = "Correo electrónico";
inputMail.type = "email";
inputMail.id = "i-input-login-mail";
inputMail.className = "input-login-mail inputs";
inputMail.placeholder = "tucorreo@gmail.com";
inputMail.required = "true";
labelPassword.className = "label-pass labels";
labelPassword.textContent = "Contraseña";
inputPassword.type = "text";
inputPassword.id = "i-input-login-password";
inputPassword.className = "input-login-password inputs";
inputPassword.placeholder = "xxxxxxxxxxxxxx";
inputPassword.required = "true";
buttonLogin.textContent = "Iniciar sesión";
buttonLogin.className = "button-login buttons";
containerGoogle.className = "container-google";
iconLogoGoogle.id = "span-i";
iconLogoGoogle.className = "fa-brands fa-google";
buttonGoogle.textContent = "Continuar con Google";
buttonGoogle.className = "button-google buttons";
containerRegister.className = "container-register";
labelRegister.textContent = "¿No tienes una cuenta?";
hrefRegister.textContent = "Regístrate";
hrefRegister.className = "href-register";

//homeDiv.appendChild(loginForm);
homeDiv.appendChild(container);
container.appendChild(containerLogo);
containerLogo.appendChild(imgLogo);
container.appendChild(containerForm);
containerForm.appendChild(loginForm);
loginForm.appendChild(labelMail);
loginForm.appendChild(inputMail);
loginForm.appendChild(labelPassword);
loginForm.appendChild(inputPassword);
loginForm.appendChild(buttonLogin);
container.appendChild(containerGoogle);
containerGoogle.appendChild(buttonGoogle);
buttonGoogle.appendChild(iconLogoGoogle);
container.appendChild(containerRegister);
containerRegister.appendChild(labelRegister);
containerRegister.appendChild(hrefRegister);

//loginForm.appendChild(loginForm);
// loginForm.appendChild(hrefRegister);
// loginForm.appendChild(buttonGoogle);

viewer();

buttonLogin.addEventListener("click", () => {
loginForm.addEventListener("submit", async (e) => {
e.preventDefault()
const emailLogin = inputMail.value
const passwordLogin = inputPassword.value
console.log(emailLogin, passwordLogin)
try {
const userCredentials = await signInWithPass(auth, emailLogin, passwordLogin)
console.log(userCredentials.user)
} catch (error) {
if (error.code === "auth/user-not-found"){
alert("usuario NO encontrado");
}else if (error.code === "auth/wrong-password"){
alert("Contraseña incorrecta");
} else if (error.code){
console.log(error.code);
}
}

toNavigate("/feed");
})
})

hrefRegister.addEventListener("click", () => toNavigate("/register"));
buttonGoogle.addEventListener("click", async (e) => {
e.preventDefault()

try {
const credentials = await popUpGoogle(auth, provider);
console.log(credentials.user);
toNavigate("/feed");
} catch (error) {
console.log(error);
}
});


return homeDiv;
}




Loading