From 0b15e478d13fcb1aed0e8f98e4d36d8e504c7811 Mon Sep 17 00:00:00 2001 From: FernandaFloresC Date: Fri, 17 Jun 2022 20:10:11 -0400 Subject: [PATCH 01/56] probando css --- src/index.html | 13 ++++++++++++- src/style.css | 4 ++++ 2 files changed, 16 insertions(+), 1 deletion(-) create mode 100644 src/style.css diff --git a/src/index.html b/src/index.html index 788db3c9..d8c9e6cc 100644 --- a/src/index.html +++ b/src/index.html @@ -4,9 +4,20 @@ - Document + Tips para el Adulto Independiente + + fondo +
+ + + +
+ + + + \ No newline at end of file diff --git a/src/style.css b/src/style.css new file mode 100644 index 00000000..dc118502 --- /dev/null +++ b/src/style.css @@ -0,0 +1,4 @@ +body{ + +background-color: peachpuff; +} From 6b9d449f1b31e3d2dc2b8043dac1d3a22e5bab16 Mon Sep 17 00:00:00 2001 From: unknown Date: Mon, 20 Jun 2022 10:38:05 -0400 Subject: [PATCH 02/56] templaate test --- src/lib/index.js | 30 +++++++++++++++++++++++++++++- 1 file changed, 29 insertions(+), 1 deletion(-) diff --git a/src/lib/index.js b/src/lib/index.js index d1930899..5b333877 100644 --- a/src/lib/index.js +++ b/src/lib/index.js @@ -1,6 +1,34 @@ // aqui exportaras las funciones que necesites +export const templateIndex = () => { + const screenIndex = `
+
+ +
+
+

+ Únete a la comunidad y + conoce todos los secretos + para vivir sol@ antes de los 30 + + (づ ̄ 3 ̄)づ +

+
+
+ +

+ ¿No tienes cuenta aún? Regístrate aquí. +

+
+
+ `; +return screenIndex; + +}; + export const myFunction = () => { // aqui tu codigo console.log('Hola mundo!'); -}; +}; \ No newline at end of file From 51fe488f662f44f42822ea129883c261f262e293 Mon Sep 17 00:00:00 2001 From: FernandaFloresC Date: Mon, 20 Jun 2022 11:56:06 -0400 Subject: [PATCH 03/56] agregamos los templates y routes de prueba --- src/fondo.jpg | Bin 0 -> 126262 bytes src/lib/index.js | 59 +++++++++++++++++++++++++++++++++++++++++++--- src/lib/router.js | 0 src/lib/routes.js | 17 +++++++++++++ src/style.css | 13 ++++++---- 5 files changed, 82 insertions(+), 7 deletions(-) create mode 100644 src/fondo.jpg create mode 100644 src/lib/router.js create mode 100644 src/lib/routes.js diff --git a/src/fondo.jpg b/src/fondo.jpg new file mode 100644 index 0000000000000000000000000000000000000000..f517241ad5a9cebb452391d89517020d1dd3f5f1 GIT binary patch literal 126262 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

v+W`)92mO<(LCxX!{ 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

TuiNo2KLQ0+syFHLwa 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

bnJI^n4C~jTD+Q)a1p0Ydo6z+ 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 Of9!nmwsQyPU;o+2jA(rT literal 0 HcmV?d00001 diff --git a/src/lib/index.js b/src/lib/index.js index 5b333877..55d832ad 100644 --- a/src/lib/index.js +++ b/src/lib/index.js @@ -1,5 +1,8 @@ // aqui exportaras las funciones que necesites +//Templates de la pantalla + +//Funcion que crea el template de la pantalla Inicio export const templateIndex = () => { const screenIndex = `

@@ -28,7 +31,57 @@ return screenIndex; }; -export const myFunction = () => { - // aqui tu codigo - console.log('Hola mundo!'); +//Funcion que crea el template de la pantalla Login +export const templateLogin = () => { + const screenLogin = `
+
+ +
+
+ + +
+
+ +

+ ¿No tienes cuenta aún? Regístrate aquí. +

+
+
+`; + //console.log('Hola mundo!'); +}; + +export const templateRegister = () => { + const screenRegister = `
+
+ +
+
+
+ + + + + + +
+
+
+ + +
+
+ `; +return screenIndex; + }; \ No newline at end of file diff --git a/src/lib/router.js b/src/lib/router.js new file mode 100644 index 00000000..e69de29b diff --git a/src/lib/routes.js b/src/lib/routes.js new file mode 100644 index 00000000..5a574483 --- /dev/null +++ b/src/lib/routes.js @@ -0,0 +1,17 @@ + + + +const PATHS = { + home: { + path: "/", + template: `

🏠 Home

`, + }, + Login: { + path: "/about", + template: `

👩🏻‍💻 Sobre mi

`, + }, + Registro: { + path: "/contact", + template: `

📱 Contacto

`, + } +} \ No newline at end of file diff --git a/src/style.css b/src/style.css index dc118502..98f66b8d 100644 --- a/src/style.css +++ b/src/style.css @@ -1,4 +1,9 @@ -body{ - -background-color: peachpuff; -} +body { + background-color: peachpuff; +background-image: linear-gradient(to bottom, + Color/ rgba(245, 246, 252, 1), + color/ rgba(117, 19, 93, 0.3) + ), + url(https://images.pexels.com/photos/5966631/pexels-photo-5966631.jpeg?auto=compress&cs=tinysrgb&dpr=2&h=750&w=1260); + background-size: cover; + } \ No newline at end of file From 3f666a1c861acce4ad9183128ad915bb029104db Mon Sep 17 00:00:00 2001 From: unknown Date: Mon, 20 Jun 2022 12:07:25 -0400 Subject: [PATCH 04/56] tz --- src/index.html | 2 +- src/lib/index.js | 33 ++++++++++++++++++++++++++++----- 2 files changed, 29 insertions(+), 6 deletions(-) diff --git a/src/index.html b/src/index.html index d8c9e6cc..f6341b7a 100644 --- a/src/index.html +++ b/src/index.html @@ -12,7 +12,7 @@
- +
diff --git a/src/lib/index.js b/src/lib/index.js index 5b333877..36bfd53a 100644 --- a/src/lib/index.js +++ b/src/lib/index.js @@ -1,5 +1,7 @@ // aqui exportaras las funciones que necesites + +//Funcion que crea el template de la pantalla export const templateIndex = () => { const screenIndex = `
@@ -24,11 +26,32 @@ export const templateIndex = () => {
`; -return screenIndex; - +return screenIndex; }; -export const myFunction = () => { - // aqui tu codigo - console.log('Hola mundo!'); +export const templateLogin = () => { + const screenLogin = `
+
+ +
+
+ + +
+
+ +

+ ¿No tienes cuenta aún? Regístrate aquí. +

+
+
+`; + + //console.log('Hola mundo!'); }; \ No newline at end of file From a49900f6df65b705ccf4218e9f1d716bd8245bf6 Mon Sep 17 00:00:00 2001 From: FernandaFloresC Date: Mon, 20 Jun 2022 18:45:00 -0400 Subject: [PATCH 05/56] gradiente rosa con meme --- README.md | 519 --------------------------------------------- src/adultoMeme.jpg | Bin 0 -> 80546 bytes src/index.html | 8 +- src/style.css | 24 ++- thumb.png | Bin 25279 -> 0 bytes 5 files changed, 20 insertions(+), 531 deletions(-) create mode 100644 src/adultoMeme.jpg delete mode 100644 thumb.png diff --git a/README.md b/README.md index c4715efc..e69de29b 100644 --- a/README.md +++ b/README.md @@ -1,519 +0,0 @@ -# Creando una Red Social - -## Índice - -* [1. Preámbulo](#1-preámbulo) -* [2. Resumen del proyecto](#2-resumen-del-proyecto) -* [3. Objetivos de aprendizaje](#3-objetivos-de-aprendizaje) -* [4. Consideraciones generales](#4-consideraciones-generales) -* [5. Criterios de aceptación mínimos del proyecto](#5-criterios-de-aceptación-mínimos-del-proyecto) -* [6. Hacker edition](#6-hacker-edition) -* [7. Entrega](#7-entrega) -* [8. Pistas, tips y lecturas complementarias](#8-pistas-tips-y-lecturas-complementarias) - -## 1. Preámbulo - -Instagram, Snapchat, Twitter, Facebook, Twitch, Linkedin, etc. Las redes -sociales han invadido nuestras vidas. Las amamos u odiamos, y muchos no podemos -vivir sin ellas. - -![adem-ay-Tk9m_HP4rgQ-unsplash](https://user-images.githubusercontent.com/110297/135544666-4efa54f1-4ff6-4c4c-b398-6df04ef56117.jpg) - -Hay redes sociales de todo tipo y para todo tipo de intereses. Por ejemplo, -en una ronda de financiamiento con inversionistas, se presentó una red social -para químicos en la que los usuarios podían publicar artículos sobre sus -investigaciones, comentar en los artículos de sus colegas, y filtrar artículos -de acuerdo a determinadas etiquetas o su popularidad, lo más reciente, o lo -más comentado. - -## 2. Resumen del proyecto - -En este proyecto construirás una Red Social sobre lo que decidan tú y tu equipo. -Podría ser, por ejemplo, sobre alimentación saludable, feminismo, educación, -salud, energías renovables, amantes de las [Empanadas](https://es.wikipedia.org/wiki/Empanada) -o de los [Tacos de Canasta](https://es.wikipedia.org/wiki/Taco), de la -[Feijoada](https://es.wikipedia.org/wiki/Feijoada), o de lo que sea. - -Tu Red Social tendrá que permitir a cualquier usuario crear una cuenta de -acceso y loguearse con ella; crear, editar, borrar y _"likear"_ publicacciones. - -El objetivo principal de aprendizaje de este proyecto es construir una -[Single-page Application (SPA)](https://es.wikipedia.org/wiki/Single-page_application) -[_responsive_](https://curriculum.laboratoria.la/es/topics/css/02-responsive) (con más de una vista / página) -en la que podamos **leer y escribir datos**. - -## 3. Objetivos de aprendizaje - -Reflexiona y luego marca los objetivos que has llegado a entender y aplicar en tu proyecto. Piensa en eso al decidir tu estrategia de trabajo. - -### HTML - -- [ ] **Uso de HTML semántico** - -
Links

- - * [HTML semántico](https://curriculum.laboratoria.la/es/topics/html/02-html5/02-semantic-html) - * [Semantics - MDN Web Docs Glossary](https://developer.mozilla.org/en-US/docs/Glossary/Semantics#Semantics_in_HTML) -

- -### CSS - -- [ ] **Uso de selectores de CSS** - -
Links

- - * [Intro a CSS](https://curriculum.laboratoria.la/es/topics/css/01-css/01-intro-css) - * [CSS Selectors - MDN](https://developer.mozilla.org/es/docs/Web/CSS/CSS_Selectors) -

- -- [ ] **Modelo de caja (box model): borde, margen, padding** - -
Links

- - * [Box Model & Display](https://curriculum.laboratoria.la/es/topics/css/01-css/02-boxmodel-and-display) - * [The box model - MDN](https://developer.mozilla.org/en-US/docs/Learn/CSS/Building_blocks/The_box_model) - * [Introduction to the CSS box model - MDN](https://developer.mozilla.org/en-US/docs/Web/CSS/CSS_Box_Model/Introduction_to_the_CSS_box_model) - * [CSS display - MDN](https://developer.mozilla.org/pt-BR/docs/Web/CSS/display) - * [display - CSS Tricks](https://css-tricks.com/almanac/properties/d/display/) -

- -- [ ] **Uso de flexbox en CSS** - -
Links

- - * [A Complete Guide to Flexbox - CSS Tricks](https://css-tricks.com/snippets/css/a-guide-to-flexbox/) - * [Flexbox Froggy](https://flexboxfroggy.com/#es) - * [Flexbox - MDN](https://developer.mozilla.org/en-US/docs/Learn/CSS/CSS_layout/Flexbox) -

- -- [ ] **Uso de CSS Grid Layout** - -
Links

- - * [A Complete Guide to Grid - CSS Tricks](https://css-tricks.com/snippets/css/complete-guide-grid/) - * [Grids - MDN](https://developer.mozilla.org/en-US/docs/Learn/CSS/CSS_layout/Grids) -

- -### Web APIs - -- [ ] **Uso de selectores del DOM** - -
Links

- - * [Manipulación del DOM](https://curriculum.laboratoria.la/es/topics/browser/02-dom/03-1-dom-methods-selection) - * [Introducción al DOM - MDN](https://developer.mozilla.org/es/docs/Web/API/Document_Object_Model/Introduction) - * [Localizando elementos DOM usando selectores - MDN](https://developer.mozilla.org/es/docs/Web/API/Document_object_model/Locating_DOM_elements_using_selectors) -

- -- [ ] **Manejo de eventos del DOM (listeners, propagación, delegación)** - -
Links

- - * [Introducción a eventos - MDN](https://developer.mozilla.org/es/docs/Learn/JavaScript/Building_blocks/Events) - * [EventTarget.addEventListener() - MDN](https://developer.mozilla.org/es/docs/Web/API/EventTarget/addEventListener) - * [EventTarget.removeEventListener() - MDN](https://developer.mozilla.org/es/docs/Web/API/EventTarget/removeEventListener) - * [El objeto Event](https://developer.mozilla.org/es/docs/Web/API/Event) -

- -- [ ] **Manipulación dinámica del DOM** - -
Links

- - * [Introducción al DOM](https://developer.mozilla.org/es/docs/Web/API/Document_Object_Model/Introduction) - * [Node.appendChild() - MDN](https://developer.mozilla.org/es/docs/Web/API/Node/appendChild) - * [Document.createElement() - MDN](https://developer.mozilla.org/es/docs/Web/API/Document/createElement) - * [Document.createTextNode()](https://developer.mozilla.org/es/docs/Web/API/Document/createTextNode) - * [Element.innerHTML - MDN](https://developer.mozilla.org/es/docs/Web/API/Element/innerHTML) - * [Node.textContent - MDN](https://developer.mozilla.org/es/docs/Web/API/Node/textContent) -

- -- [ ] **Ruteado (History API, evento hashchange, window.location)** - -
Links

- - * [Manipulando el historial del navegador - MDN](https://developer.mozilla.org/es/docs/DOM/Manipulando_el_historial_del_navegador) -

- -### JavaScript - -- [ ] **Arrays (arreglos)** - -
Links

- - * [Arreglos](https://curriculum.laboratoria.la/es/topics/javascript/04-arrays) - * [Array - MDN](https://developer.mozilla.org/es/docs/Web/JavaScript/Reference/Global_Objects/Array/) - * [Array.prototype.sort() - MDN](https://developer.mozilla.org/es/docs/Web/JavaScript/Reference/Global_Objects/Array/sort) - * [Array.prototype.forEach() - MDN](https://developer.mozilla.org/es/docs/Web/JavaScript/Reference/Global_Objects/Array/forEach) - * [Array.prototype.map() - MDN](https://developer.mozilla.org/es/docs/Web/JavaScript/Reference/Global_Objects/Array/map) - * [Array.prototype.filter() - MDN](https://developer.mozilla.org/es/docs/Web/JavaScript/Reference/Global_Objects/Array/filter) - * [Array.prototype.reduce() - MDN](https://developer.mozilla.org/es/docs/Web/JavaScript/Reference/Global_Objects/Array/Reduce) -

- -- [ ] **Objetos (key, value)** - -
Links

- - * [Objetos en JavaScript](https://curriculum.laboratoria.la/es/topics/javascript/05-objects/01-objects) -

- -- [ ] **Diferenciar entre tipos de datos primitivos y no primitivos** - -- [ ] **Variables (declaración, asignación, ámbito)** - -
Links

- - * [Valores, tipos de datos y operadores](https://curriculum.laboratoria.la/es/topics/javascript/01-basics/01-values-variables-and-types) - * [Variables](https://curriculum.laboratoria.la/es/topics/javascript/01-basics/02-variables) -

- -- [ ] **Uso de condicionales (if-else, switch, operador ternario, lógica booleana)** - -
Links

- - * [Estructuras condicionales y repetitivas](https://curriculum.laboratoria.la/es/topics/javascript/02-flow-control/01-conditionals-and-loops) - * [Tomando decisiones en tu código — condicionales - MDN](https://developer.mozilla.org/es/docs/Learn/JavaScript/Building_blocks/conditionals) -

- -- [ ] **Uso de bucles/ciclos (while, for, for..of)** - -
Links

- - * [Bucles (Loops)](https://curriculum.laboratoria.la/es/topics/javascript/02-flow-control/02-loops) - * [Bucles e iteración - MDN](https://developer.mozilla.org/es/docs/Web/JavaScript/Guide/Loops_and_iteration) -

- -- [ ] **Funciones (params, args, return)** - -
Links

- - * [Funciones (control de flujo)](https://curriculum.laboratoria.la/es/topics/javascript/02-flow-control/03-functions) - * [Funciones clásicas](https://curriculum.laboratoria.la/es/topics/javascript/03-functions/01-classic) - * [Arrow Functions](https://curriculum.laboratoria.la/es/topics/javascript/03-functions/02-arrow) - * [Funciones — bloques de código reutilizables - MDN](https://developer.mozilla.org/es/docs/Learn/JavaScript/Building_blocks/Functions) -

- -- [ ] **Pruebas unitarias (unit tests)** - -
Links

- - * [Empezando con Jest - Documentación oficial](https://jestjs.io/docs/es-ES/getting-started) -

- -- [ ] **Pruebas asíncronas** - -
Links

- - * [Tests de código asincrónico con Jest - Documentación oficial](https://jestjs.io/docs/es-ES/asynchronous) -

- -- [ ] **Uso de mocks y espías** - -
Links

- - * [Manual Mocks con Jest - Documentación oficial](https://jestjs.io/docs/es-ES/manual-mocks) -

- -- [ ] **Módulos de ECMAScript (ES Modules)** - -
Links

- - * [import - MDN](https://developer.mozilla.org/es/docs/Web/JavaScript/Reference/Statements/import) - * [export - MDN](https://developer.mozilla.org/es/docs/Web/JavaScript/Reference/Statements/export) -

- -- [ ] **Uso de linter (ESLINT)** - -- [ ] **Uso de identificadores descriptivos (Nomenclatura y Semántica)** - -- [ ] **Diferenciar entre expresiones (expressions) y sentencias (statements)** - -- [ ] **Callbacks** - -
Links

- - * [Función Callback - MDN](https://developer.mozilla.org/es/docs/Glossary/Callback_function) -

- -- [ ] **Promesas** - -
Links

- - * [Promise - MDN](https://developer.mozilla.org/es/docs/Web/JavaScript/Reference/Global_Objects/Promise) - * [How to Write a JavaScript Promise - freecodecamp (en inglés)](https://www.freecodecamp.org/news/how-to-write-a-javascript-promise-4ed8d44292b8/) -

- -### Control de Versiones (Git y GitHub) - -- [ ] **Git: Instalación y configuración** - -- [ ] **Git: Control de versiones con git (init, clone, add, commit, status, push, pull, remote)** - -- [ ] **Git: Integración de cambios entre ramas (branch, checkout, fetch, merge, reset, rebase, tag)** - -- [ ] **GitHub: Creación de cuenta y repos, configuración de llaves SSH** - -- [ ] **GitHub: Despliegue con GitHub Pages** - -
Links

- - * [Sitio oficial de GitHub Pages](https://pages.github.com/) -

- -- [ ] **GitHub: Colaboración en Github (branches | forks | pull requests | code review | tags)** - -- [ ] **GitHub: Organización en Github (projects | issues | labels | milestones | releases)** - -### user-centricity - -- [ ] **Diseñar un producto o servicio poniendo a la usuaria en el centro** - -### product-design - -- [ ] **Crear prototipos de alta fidelidad que incluyan interacciones** - -- [ ] **Seguir los principios básicos de diseño visual** - -### research - -- [ ] **Planear y ejecutar testeos de usabilidad de prototipos en distintos niveles de fidelidad** - -
Links

- - * [Intro a testeos usabilidad](https://coda.io/@bootcamp-laboratoria/contenido-ux/test-de-usabilidad-15) - * [Pruebas con Usuarios 1 — ¿Qué, cuándo y para qué testeamos?](https://eugeniacasabona.medium.com/pruebas-con-usuarios-1-qu%C3%A9-cu%C3%A1ndo-y-para-qu%C3%A9-testeamos-7c3a89b4b5e7) -

- -### Firebase - -- [ ] **Firebase Auth** - -
Links

- - * [Primeros pasos con Firebase Authentication en sitios web - Documentación oficial](https://firebase.google.com/docs/auth/web/start?hl=es) - * [Administra usuarios en Firebase (onAuthStateChanged)](https://firebase.google.com/docs/auth/web/manage-users?hl=es#get_the_currently_signed-in_user) -

- -- [ ] **Firestore** - -
Links

- - * [Firestore - Documentación oficial](https://firebase.google.com/docs/firestore?hl=es) - * [Reglas de seguridad de Firestore - Documentación oficial](https://firebase.google.com/docs/rules?hl=es) - * [Obtén actualizaciones en tiempo real con Cloud Firestore - Documentación oficial](https://firebase.google.com/docs/firestore/query-data/listen?hl=es) -

- -## 4. Consideraciones generales - -* Este proyecto se debe trabajar en equipos de tres. - -* La lógica del proyecto debe estar implementada completamente en JavaScript - (ES6+), HTML y CSS :smiley:. Para este proyecto **no está permitido** utilizar - _frameworks_ o librerías de CSS y JS. - -* La división y organización del trabajo debe permitir, sin excepciones, que - **cada integrante** del equipo practique el aprendizaje de todo lo involucrado - en **cada historia**. _No se dividan el trabajo como en una fábrica._ - - ¿Hasta acá has avanzado en tus proyectos con cierta fluidez y sin mayores - problemas? Sé generosa con tus compañeras, permíteles aprender y practicar - sin restricciones, aunque tome un poco más de tiempo. Aproveha de - _coachearlas_, de hacer _pair programming_, una de las mejores maneras de - aprender es explicando verbalmente. - - - ¿Se te está haciendo difícil y te cuesta un poco más avanzar? No te quedes - con las partes "fáciles" del proyecto, conversa, negocia, exige tu oportunidad - para practicar y aprender lo que se te hace más difícil. - -* Solamente pueden trabajar en una única historia por vez, no pueden avanzar a - la siguiente sin haber completado la anterior. La historia se completa cuando - se cumplen **todos** sus Criterios de Aceptación + **toda** su Definición - de Terminado. - -Para comenzar tendrás que hacer un _fork_ y _clonar_ este repositorio. - -## 5. Criterios de aceptación mínimos del proyecto - -### 5.1 Boilerplate - -Este proyecto no incluye un _boilerplate_, así es que tendrás que definir la -estructura de carpetas y escribir tus propias Pruebas Unitarias (_tests_). Para -hacerlo, puedes guiarte de los proyectos anteriores. - -### 5.2 Definición del producto - -En el `README.md` cuéntanos brevemente cómo descubriste las necesidades de los -usuarios y cómo llegaste a la definición final de tu producto. Es importante -que detalles: - -* Quiénes son los principales usuarios de producto. -* Qué problema resuelve el producto / para qué le servirá a estos usuarios. - -### 5.3 Historias de usuario - -Una vez que entiendas las necesidades de tus usuarixs, escribe las Historias de -Usuario que representen todo lo que necesitan hacer/ver en la Red Social. Cada -una de tus Historias de Usuario debe tener: - -* **Criterios de Aceptación:** todo lo que debe ocurrir para satisfacer las - necesidades del usuario. - -* **Definición de terminado:** todos los aspectos técnicos que deben cumplirse - para que, como equipo, sepan que esa historia está terminada y lista - para publicarse. **Todas** tus Historias de Usuario (salvo excepciones), deben - incluir estos aspectos en su Definición de Terminado (más todo lo que - necesiten agregar): - - - Debe ser una SPA. - - Debe ser _responsive_. - - Deben haber recibido _code review_ de al menos una compañera de otro equipo. - - Hicieron los _test_ unitarios - - Testearon manualmente buscando errores e imperfecciones simples. - - Hicieron _pruebas_ de usabilidad e incorporaron el _feedback_ de los - usuarios como mejoras. - - Desplegaron su aplicación y etiquetaron la versión (git tag). - -### 5.4 Diseño de la Interfaz de Usuario (prototipo de baja fidelidad) - -Debes definir cuál será el flujo que seguirá el usuario dentro de tu aplicación -y, con eso, diseña la Interfaz de Usuario (UI por sus siglas en inglés) que -siga este flujo. - -### 5.5 Responsive - -Debe verse bien en dispositivos de pantallas grandes -(computadoras/es, laptops, etc.) y pequeñas (_tablets_, celulares, etc.). Te -sugerimos seguir la técnica de _`mobile first`_ (más detalles sobre esta técnica -al final). - -### 5.6 Consideraciones del comportamiento de la interfaz de usuario (UI) - -Estas consideraciones te ayudarán a escribir las Definiciones de Terminado de -tus H.U.: - -#### Creación de cuenta de usuario e inicio de sesión - -* _Login_ con Firebase: - - Para el _login_ y las publicaciones en el muro puedes utilizar [Firebase](https://firebase.google.com/products/database/) - - Creación de cuenta de acceso y autenticación con cuenta de correo y - contraseña, y también con una cuenta de Google. -* Validaciones: - - Solamente se permite el acceso a usuarios con cuentas válidas. - - No pueden haber usuarios repetidos. - - La cuenta de usuario debe ser un correo electrónico válido. - - Lo que se escriba en el campo (_input_) de contraseña debe ser secreto. -* Comportamiento: - - Al enviarse el formulario de registro o inicio de sesión, debe validarse. - - Si hay errores, se deben mostrar mensajes descriptivos para ayudar al - usuario a corregirlos. - -#### Muro/timeline - -* Validaciones: - - Al publicar, se debe validar que exista contenido en el _input_. -* Comportamiento: - - Al recargar la aplicación, se debe verificar si el usuario está _logueado_ - antes de mostrar contenido. - - Poder publicar un _post_. - - Poder dar y quitar _like_ a una publicación. Máximo uno por usuario. - - Llevar un conteo de los _likes_. - - Poder eliminar un post específico. - - Pedir confirmación antes de eliminar un _post_. - - Al dar _click_ para editar un _post_, debe cambiar el texto por un _input_ - que permita editar el texto y luego guardar los cambios. - - Al guardar los cambios debe cambiar de vuelta a un texto normal pero con la - información editada. - - Al recargar la página debo de poder ver los textos editados. - -### 5.7 Consideraciones técnicas Front-end - -* Separar la manipulación del DOM de la lógica (Separación de responsabilidades). -* Contar con múltiples vistas. Para esto, tu aplicación debe ser una - [Single Page Application (SPA)](https://es.wikipedia.org/wiki/Single-page_application) -* Alterar y persistir datos. Los datos que agregues o modifiques deberán - persistir a lo largo de la aplicación. Te recomendamos que uses - [Firebase](https://firebase.google.com/) para eso también. - -#### Pruebas unitarias (unit tests) - -* Recuerda que no hay un _setup_ de **tests** definido, dependerá de - la estructura de tu proyecto. Algo que no debes de olvidar es pensar en éstas - pruebas, te pueden ayudar a definir la estructura y nomenclatura de tu lógica. - -* Los tests unitarios deben cubrir un mínimo del 70% de _statements_, _functions_, - _lines_, y _branches_. - -### 5.8 Consideraciones técnicas UX - -* Hacer al menos 2 entrevistas con usuarios. -* Hacer un prototipo de baja fidelidad. -* Asegurarte de que la implementación en código siga los lineamientos del - diseño. -* Hacer sesiones de _testing de usabilidad_ con el producto en HTML. - -## 6. Hacker edition - -Las secciones llamadas _Hacker Edition_ son **opcionales**. Si **terminaste** -con todo lo anterior y te queda tiempo, intenta completarlas. Así podrás -profundizar y/o ejercitar más sobre los objetivos de aprendizaje del proyecto. - -* Permite crear posts con imágenes. -* Permite buscar usuarios, agregar y eliminar "amigos". -* Permite definir la privacidad de los _posts_ (público o solamente para amigos). -* Permite ver su muro de cualquier usuario "no-amigo" (solamente los - posts _públicos_). -* Permite comentar o responder una publicación. -* Permite editar perfil. - -## 7. Entrega - -El proyecto será _entregado_ subiendo tu código a GitHub (`commit`/`push`) y la -interfaz será desplegada usando GitHub pages u otro servicio de hosting que -puedas haber encontrado en el camino. - -*** - -## 8. Pistas, tips y Lecturas complementarias - -### Mobile first - -El concepto de [_mobile first_](https://www.mediaclick.es/blog/diseno-web-responsive-design-y-la-importancia-del-mobile-first/) -hace referencia a un proceso de diseño y desarrollo donde partimos de cómo se ve -y cómo funciona la aplicación en un dispositivo móvil primero, y más adelante se -ve como adaptar la aplicación a pantallas progresivamente grandes y -características específicas del entorno desktop. Esto es en contraposición al -modelo tradicional, donde primero se diseñaban los websites (o webapps) para -desktop y después se trataba de _arrugar_ el diseño para que entre en pantallas -más chicas. La clave acá es asegurarse de que desde el principio diseñan usando -la vista _responsive_ de las herramientas de desarrollador (developer tools) del -navegador. De esa forma, partimos de cómo se ve y comporta la aplicación en una -pantalla y entorno móvil. - -### Múltiples vistas - -En proyectos anteriores nuestras aplicaciones habían estado compuestas de una -sola _vista_ principal (una sóla _página_). En este proyecto se introduce la -necesidad de tener que dividir nuestra interfaz en varias _vistas_ o _páginas_ -y ofrecer una manera de navegar entre estas vistas. Este problema se puede -afrontar de muchas maneras: con archivos HTML independientes (cada uno con su -URL) y links tradicionales, manteniendo estado en memoria y rederizando -condicionalmente (sin refrescar la página), [manipulando el historial del -navegador](https://developer.mozilla.org/es/docs/DOM/Manipulando_el_historial_del_navegador) -con [`window.history`](https://developer.mozilla.org/es/docs/Web/API/Window/history). -En este proyecto te invitamos a explorar opciones y decidir una opción -de implementación. - -### Escritura de datos - -En los proyectos anteriores hemos consumido (leído) datos, pero todavía no -habíamos escrito datos (salvar cambios, crear datos, borrar, ...). En este -proyecto tendrás que crear (salvar) nuevos datos, así como leer, actualizar y -modificar datos existentes. Estos datos se podrán guardar de forma remota -usando [Firebase](https://firebase.google.com/). - -Otras: - -* [Modulos: Export](https://developer.mozilla.org/es/docs/Web/JavaScript/Referencia/Sentencias/export) -* [Modulos: Import](https://developer.mozilla.org/es/docs/Web/JavaScript/Referencia/Sentencias/import) -* [Diseño web, responsive design y la importancia del mobile first - Media Click](https://www.mediaclick.es/blog/diseno-web-responsive-design-y-la-importancia-del-mobile-first/) -* [Mobile First: el enfoque actual del diseño web móvil - 1and1](https://www.1and1.es/digitalguide/paginas-web/diseno-web/mobile-first-la-nueva-tendencia-del-diseno-web/) -* [Mobile First - desarrolloweb.com](https://desarrolloweb.com/articulos/mobile-first-responsive.html) -* [Mobile First Is NOT Mobile Only - Nielsen Norman Group](https://www.nngroup.com/articles/mobile-first-not-mobile-only/) diff --git a/src/adultoMeme.jpg b/src/adultoMeme.jpg new file mode 100644 index 0000000000000000000000000000000000000000..1f87c5b510ffef2144fa79e77db4d62d90c79602 GIT binary patch literal 80546 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 - fondo + tazon
- - - +
+ + \ No newline at end of file diff --git a/src/style.css b/src/style.css index 98f66b8d..67db868e 100644 --- a/src/style.css +++ b/src/style.css @@ -1,9 +1,17 @@ body { - background-color: peachpuff; -background-image: linear-gradient(to bottom, - Color/ rgba(245, 246, 252, 1), - color/ rgba(117, 19, 93, 0.3) - ), - url(https://images.pexels.com/photos/5966631/pexels-photo-5966631.jpeg?auto=compress&cs=tinysrgb&dpr=2&h=750&w=1260); - background-size: cover; - } \ No newline at end of file + /* background-image: url(fondo.jpg); + background-size: cover; +background: linear-gradient(color rgba(236, 215, 230), color rgba(219, 16, 168, 0.3));*/ +background: linear-gradient(rgba(235, 169, 202, 0.877), rgba(226, 30, 145, 0.7)), url('fondo.jpg'); + +background-attachment: fixed; + + /*background: linear-gradient(color rgba(236, 215, 230), color rgba(219, 16, 168, 0.3));*/ +} +.meme { + display: block; + margin: 0px auto; + border-radius: 35%; + left: auto; + right: auto; +} \ No newline at end of file diff --git a/thumb.png b/thumb.png deleted file mode 100644 index 0828f34c9e6984c951c96f73dd88bccd15f3acfb..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 25279 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 From 08e74489034db5cce79f19fd9b88906a654d647b Mon Sep 17 00:00:00 2001 From: unknown Date: Thu, 30 Jun 2022 08:18:07 -0400 Subject: [PATCH 06/56] templates, intento de rutas --- src/index.html | 12 +++--- src/lib/index.js | 88 +------------------------------------------ src/lib/router.js | 0 src/lib/routes.js | 29 ++++++++------- src/lib/templates.js | 89 ++++++++++++++++++++++++++++++++++++++++++++ src/main.js | 5 ++- 6 files changed, 115 insertions(+), 108 deletions(-) delete mode 100644 src/lib/router.js create mode 100644 src/lib/templates.js diff --git a/src/index.html b/src/index.html index f6341b7a..107c69bb 100644 --- a/src/index.html +++ b/src/index.html @@ -8,15 +8,13 @@ - fondo
- - -
- - - +
+
+
+
+ diff --git a/src/lib/index.js b/src/lib/index.js index 5eec7536..1b777395 100644 --- a/src/lib/index.js +++ b/src/lib/index.js @@ -1,87 +1,3 @@ -// aqui exportaras las funciones que necesites +import { router } from "./routes"; - -//Templates de la pantalla - -//Funcion que crea el template de la pantalla Inicio -export const templateIndex = () => { - const screenIndex = `
- `; -return screenIndex; -}; - -//Funcion que crea el template de la pantalla Login -export const templateLogin = () => { - const screenLogin = `
-
- -
-
- - -
-
- -

- ¿No tienes cuenta aún? Regístrate aquí. -

-
-
-`; - //console.log('Hola mundo!'); -}; - -export const templateRegister = () => { - const screenRegister = `
-
- -
-
-
- - - - - - -
-
-
- - -
-
- `; -return screenIndex; - -}; \ No newline at end of file +let loadPage = window.addEventListener('load', router); \ No newline at end of file diff --git a/src/lib/router.js b/src/lib/router.js deleted file mode 100644 index e69de29b..00000000 diff --git a/src/lib/routes.js b/src/lib/routes.js index 5a574483..8db77eab 100644 --- a/src/lib/routes.js +++ b/src/lib/routes.js @@ -1,17 +1,20 @@ +import { loginScreen } from './lib/templates.js'; +import { indexScreen, registerScreen } from "./templates"; -const PATHS = { - home: { - path: "/", - template: `

🏠 Home

`, - }, - Login: { - path: "/about", - template: `

👩🏻‍💻 Sobre mi

`, - }, - Registro: { - path: "/contact", - template: `

📱 Contacto

`, - } +//Rutas +export const routes = { + '/': indexScreen, + '/Login': loginScreen, + '/Register' : registerScreen +} + + +//Enrutador +export const router = async () => { + const index = null || document.getElementById('view1'); + const login = null || document.getElementById('view2'); + + index.innerHTML = await indexScreen(); } \ No newline at end of file diff --git a/src/lib/templates.js b/src/lib/templates.js new file mode 100644 index 00000000..af0d7a91 --- /dev/null +++ b/src/lib/templates.js @@ -0,0 +1,89 @@ +// aqui exportaras las funciones que necesites + + +//Templates de las diferentes pantallas + +//Funcion que crea el template de la pantalla Inicio +export const indexScreen = () => { + const screenIndex = `
+
+ +
+
+

+ Únete a la comunidad y + conoce todos los secretos + para vivir sol@ antes de los 30 + + (づ ̄ 3 ̄)づ +

+
+
+ +

+ ¿No tienes cuenta aún? Regístrate aquí. +

+
+
+ `; +return indexScreen; +}; + +//Funcion que crea el template de la pantalla Login +export const loginScreen = () => { + const screenLogin = `
+
+ +
+
+ + +
+
+ +

+ ¿No tienes cuenta aún? Regístrate aquí. +

+
+
+`; +return loginScreen; + //console.log('Hola mundo!'); +}; + +//Funcion template de la pantalla de registro +export const registerScreen = () => { + const screenRegister = `
+
+ +
+
+
+ + + + + + +
+
+
+ + +
+
+ `; +return registerScreen; + +}; \ No newline at end of file diff --git a/src/main.js b/src/main.js index ac27e91a..16460c46 100644 --- a/src/main.js +++ b/src/main.js @@ -1,5 +1,6 @@ // Este es el punto de entrada de tu aplicacion -import { myFunction } from './lib/index.js'; +import { indexScreen } from './lib/templates.js'; + +indexScreen(); -myFunction(); From 6ba5ad76922626ae74d7dd402560e5203f3d5d8f Mon Sep 17 00:00:00 2001 From: unknown Date: Thu, 30 Jun 2022 11:51:39 -0400 Subject: [PATCH 07/56] templates separados --- src/index.html | 3 +- src/lib/routes.js | 13 ++--- src/lib/templates.js | 89 ------------------------------- src/lib/views/templateIndex.js | 29 ++++++++++ src/lib/views/templateLogin.js | 30 +++++++++++ src/lib/views/templateMenu | 19 +++++++ src/lib/views/templateRegister.js | 28 ++++++++++ src/main.js | 7 ++- 8 files changed, 116 insertions(+), 102 deletions(-) delete mode 100644 src/lib/templates.js create mode 100644 src/lib/views/templateIndex.js create mode 100644 src/lib/views/templateLogin.js create mode 100644 src/lib/views/templateMenu create mode 100644 src/lib/views/templateRegister.js diff --git a/src/index.html b/src/index.html index 107c69bb..435b5548 100644 --- a/src/index.html +++ b/src/index.html @@ -8,8 +8,7 @@ -
-
+
diff --git a/src/lib/routes.js b/src/lib/routes.js index 8db77eab..10242793 100644 --- a/src/lib/routes.js +++ b/src/lib/routes.js @@ -1,5 +1,7 @@ -import { loginScreen } from './lib/templates.js'; -import { indexScreen, registerScreen } from "./templates"; +import { indexScreen } from './lib/views/templateIndex'; +import { loginScreen } from './lib/views/templateLogin.js'; +import { registerScreen } from './lib/views/templateRegister.js'; + @@ -11,10 +13,3 @@ export const routes = { } -//Enrutador -export const router = async () => { - const index = null || document.getElementById('view1'); - const login = null || document.getElementById('view2'); - - index.innerHTML = await indexScreen(); -} \ No newline at end of file diff --git a/src/lib/templates.js b/src/lib/templates.js deleted file mode 100644 index af0d7a91..00000000 --- a/src/lib/templates.js +++ /dev/null @@ -1,89 +0,0 @@ -// aqui exportaras las funciones que necesites - - -//Templates de las diferentes pantallas - -//Funcion que crea el template de la pantalla Inicio -export const indexScreen = () => { - const screenIndex = `
-
- -
-
-

- Únete a la comunidad y - conoce todos los secretos - para vivir sol@ antes de los 30 - - (づ ̄ 3 ̄)づ -

-
-
- -

- ¿No tienes cuenta aún? Regístrate aquí. -

-
-
- `; -return indexScreen; -}; - -//Funcion que crea el template de la pantalla Login -export const loginScreen = () => { - const screenLogin = `
-
- -
-
- - -
-
- -

- ¿No tienes cuenta aún? Regístrate aquí. -

-
-
-`; -return loginScreen; - //console.log('Hola mundo!'); -}; - -//Funcion template de la pantalla de registro -export const registerScreen = () => { - const screenRegister = `
-
- -
-
-
- - - - - - -
-
-
- - -
-
- `; -return registerScreen; - -}; \ No newline at end of file diff --git a/src/lib/views/templateIndex.js b/src/lib/views/templateIndex.js new file mode 100644 index 00000000..f50254f5 --- /dev/null +++ b/src/lib/views/templateIndex.js @@ -0,0 +1,29 @@ + + +//Funcion que crea el template de la pantalla Inicio +export const indexScreen = () => { + const screenIndex = `
+
+ +
+
+

+ Únete a la comunidad y + conoce todos los secretos + para vivir sol@ antes de los 30 + + (づ ̄ 3 ̄)づ +

+
+
+ +

+ ¿No tienes cuenta aún? Regístrate aquí. +

+
+
+ `; +return indexScreen; +}; diff --git a/src/lib/views/templateLogin.js b/src/lib/views/templateLogin.js new file mode 100644 index 00000000..b2c3ddfa --- /dev/null +++ b/src/lib/views/templateLogin.js @@ -0,0 +1,30 @@ +//Templates de las diferentes pantallas + +//Funcion que crea el template de la pantalla Login +export const loginScreen = () => { + const screenLogin = `
+
+ +
+
+ + +
+
+ +

+ ¿No tienes cuenta aún? Regístrate aquí. +

+
+
+`; +return loginScreen; + //console.log('Hola mundo!'); +}; + diff --git a/src/lib/views/templateMenu b/src/lib/views/templateMenu new file mode 100644 index 00000000..fb8038b6 --- /dev/null +++ b/src/lib/views/templateMenu @@ -0,0 +1,19 @@ + +//Función que contiene vista del Menu +const menu = () => { + const menuScreen = `
+ +
`; + return menuScreen; +}; \ No newline at end of file diff --git a/src/lib/views/templateRegister.js b/src/lib/views/templateRegister.js new file mode 100644 index 00000000..047326f8 --- /dev/null +++ b/src/lib/views/templateRegister.js @@ -0,0 +1,28 @@ + +//Funcion template de la pantalla de registro +export const registerScreen = () => { + const screenRegister = `
+
+ +
+
+
+ + + + + +
+
+
+ + +
+
+ `; +return registerScreen; + +}; \ No newline at end of file diff --git a/src/main.js b/src/main.js index 16460c46..87af162d 100644 --- a/src/main.js +++ b/src/main.js @@ -1,6 +1,9 @@ // Este es el punto de entrada de tu aplicacion -import { indexScreen } from './lib/templates.js'; +import { indexScreen } from './lib/views/templateIndex'; +import { loginScreen } from './lib/views/templateLogin.js'; +import { registerScreen } from './lib/views/templateRegister.js'; -indexScreen(); +const index = document.getElementById('view1').innerHTML = indexScreen(); +const login = document.getElementById('view2').innerHTML += loginScreen(); From a166f15a792f8a3eec7cfd55776c8b85008148a4 Mon Sep 17 00:00:00 2001 From: unknown Date: Mon, 4 Jul 2022 08:40:59 -0400 Subject: [PATCH 08/56] se agrega base de las funciones para enrutar y cambiar de ruta y la funcion init --- src/lib/routes.js | 30 +++++++++++++++---- .../views/{templateMenu => templateMenu.js} | 2 +- src/lib/views/templateRegister.js | 4 +-- src/main.js | 14 +++++++-- 4 files changed, 40 insertions(+), 10 deletions(-) rename src/lib/views/{templateMenu => templateMenu.js} (91%) diff --git a/src/lib/routes.js b/src/lib/routes.js index 10242793..38279d1b 100644 --- a/src/lib/routes.js +++ b/src/lib/routes.js @@ -1,15 +1,35 @@ import { indexScreen } from './lib/views/templateIndex'; import { loginScreen } from './lib/views/templateLogin.js'; import { registerScreen } from './lib/views/templateRegister.js'; +import { menu } from './views/templateMenu'; -//Rutas -export const routes = { - '/': indexScreen, - '/Login': loginScreen, - '/Register' : registerScreen + +//Enrutador +export const changeroutes = (hash) => { + if (hash === '#/'){ + return showTemplate(hash); + } else if (hash === '#/login'){ + return showTemplate(hash); + } else { + return showTemplate(hash); + } } +const showTemplate = (hash) =>{ + const containerDiv = document.getElementById('view1'); + containerDiv.innerHTML = menu(); + switch (hash){ + case '#/': + containerDiv.appendChild(); + break; + case '#/': + containerDiv.appendChild(); + break; + default: + containerDiv.innerHTML= `

Error (╯°□°)╯︵ ┻━┻

` + } +} \ No newline at end of file diff --git a/src/lib/views/templateMenu b/src/lib/views/templateMenu.js similarity index 91% rename from src/lib/views/templateMenu rename to src/lib/views/templateMenu.js index fb8038b6..d0dc8b60 100644 --- a/src/lib/views/templateMenu +++ b/src/lib/views/templateMenu.js @@ -1,6 +1,6 @@ //Función que contiene vista del Menu -const menu = () => { +export const menu = () => { const menuScreen = `
  • Menú
  • diff --git a/src/lib/views/templateRegister.js b/src/lib/views/templateRegister.js index 047326f8..6328fea3 100644 --- a/src/lib/views/templateRegister.js +++ b/src/lib/views/templateRegister.js @@ -10,8 +10,8 @@ export const registerScreen = () => { - - + +
    diff --git a/src/main.js b/src/main.js index 87af162d..25a1d43d 100644 --- a/src/main.js +++ b/src/main.js @@ -3,7 +3,17 @@ import { indexScreen } from './lib/views/templateIndex'; import { loginScreen } from './lib/views/templateLogin.js'; import { registerScreen } from './lib/views/templateRegister.js'; +import { menu } from './lib/views/templateMenu'; +import { changeroutes } from './lib/routes'; -const index = document.getElementById('view1').innerHTML = indexScreen(); -const login = document.getElementById('view2').innerHTML += loginScreen(); +// const index = document.getElementById('view1').innerHTML = indexScreen(); +// const login = document.getElementById('view2').innerHTML += loginScreen(); + +const init = () => { + window.addEventListener('hashchange', () => { + changeroutes(window.location.hash); + }) +} + +window.addEventListener('load', init); \ No newline at end of file From 279c32211562fd77d8581f4352ce23818749ad95 Mon Sep 17 00:00:00 2001 From: FernandaFloresC Date: Mon, 4 Jul 2022 08:55:41 -0400 Subject: [PATCH 09/56] error de visual --- src/index.html | 11 ++++------- src/main.js | 18 ++++++++++++++++-- src/style.css | 2 +- 3 files changed, 21 insertions(+), 10 deletions(-) diff --git a/src/index.html b/src/index.html index 4d12bc16..435b5548 100644 --- a/src/index.html +++ b/src/index.html @@ -8,16 +8,13 @@ - tazon -
    -
    +
    +
    +
    +
    -
- - - \ No newline at end of file diff --git a/src/main.js b/src/main.js index ac27e91a..25a1d43d 100644 --- a/src/main.js +++ b/src/main.js @@ -1,5 +1,19 @@ // Este es el punto de entrada de tu aplicacion -import { myFunction } from './lib/index.js'; +import { indexScreen } from './lib/views/templateIndex'; +import { loginScreen } from './lib/views/templateLogin.js'; +import { registerScreen } from './lib/views/templateRegister.js'; +import { menu } from './lib/views/templateMenu'; +import { changeroutes } from './lib/routes'; -myFunction(); + +// const index = document.getElementById('view1').innerHTML = indexScreen(); +// const login = document.getElementById('view2').innerHTML += loginScreen(); + +const init = () => { + window.addEventListener('hashchange', () => { + changeroutes(window.location.hash); + }) +} + +window.addEventListener('load', init); \ No newline at end of file diff --git a/src/style.css b/src/style.css index 67db868e..40a6c6c1 100644 --- a/src/style.css +++ b/src/style.css @@ -2,7 +2,7 @@ body { /* background-image: url(fondo.jpg); background-size: cover; background: linear-gradient(color rgba(236, 215, 230), color rgba(219, 16, 168, 0.3));*/ -background: linear-gradient(rgba(235, 169, 202, 0.877), rgba(226, 30, 145, 0.7)), url('fondo.jpg'); +background: linear-gradient(rgba(235, 169, 202, 0.877), rgba(226, 30, 145, 0.7)) , url('fondo.jpg'); background-attachment: fixed; From 655a6c4b375417d077ef9386df18669cbc01dcdd Mon Sep 17 00:00:00 2001 From: katherine Date: Mon, 4 Jul 2022 09:29:18 -0400 Subject: [PATCH 10/56] rama kathy --- src/lib/views/templateIndex.js | 1 - 1 file changed, 1 deletion(-) diff --git a/src/lib/views/templateIndex.js b/src/lib/views/templateIndex.js index f50254f5..52bb5293 100644 --- a/src/lib/views/templateIndex.js +++ b/src/lib/views/templateIndex.js @@ -12,7 +12,6 @@ export const indexScreen = () => { conoce todos los secretos para vivir sol@ antes de los 30 - (づ ̄ 3 ̄)づ

From 96ec552ebff7549c5eccddd2f3bb02150b36496b Mon Sep 17 00:00:00 2001 From: unknown Date: Mon, 4 Jul 2022 10:02:06 -0400 Subject: [PATCH 11/56] actualizacion --- src/lib/index.js | 1 - src/lib/routes.js | 4 +++- src/lib/views/templateLogin.js | 4 ++-- src/lib/views/templatePerfilUsuario.js | 0 src/lib/views/templateRegister.js | 7 +++---- src/main.js | 4 ++++ 6 files changed, 12 insertions(+), 8 deletions(-) create mode 100644 src/lib/views/templatePerfilUsuario.js diff --git a/src/lib/index.js b/src/lib/index.js index 1b777395..0309e10b 100644 --- a/src/lib/index.js +++ b/src/lib/index.js @@ -1,3 +1,2 @@ import { router } from "./routes"; -let loadPage = window.addEventListener('load', router); \ No newline at end of file diff --git a/src/lib/routes.js b/src/lib/routes.js index 38279d1b..751246ea 100644 --- a/src/lib/routes.js +++ b/src/lib/routes.js @@ -11,8 +11,10 @@ import { menu } from './views/templateMenu'; export const changeroutes = (hash) => { if (hash === '#/'){ return showTemplate(hash); - } else if (hash === '#/login'){ + } else if (hash === '#/home'){ return showTemplate(hash); + } else if (hash === '#/perfilUsurio'){ + return showTemplate(hash); } else { return showTemplate(hash); } diff --git a/src/lib/views/templateLogin.js b/src/lib/views/templateLogin.js index b2c3ddfa..48096786 100644 --- a/src/lib/views/templateLogin.js +++ b/src/lib/views/templateLogin.js @@ -15,8 +15,8 @@ export const loginScreen = () => {
-

¿No tienes cuenta aún? Regístrate aquí. diff --git a/src/lib/views/templatePerfilUsuario.js b/src/lib/views/templatePerfilUsuario.js new file mode 100644 index 00000000..e69de29b diff --git a/src/lib/views/templateRegister.js b/src/lib/views/templateRegister.js index 6328fea3..e9e014be 100644 --- a/src/lib/views/templateRegister.js +++ b/src/lib/views/templateRegister.js @@ -8,15 +8,14 @@ export const registerScreen = () => {

- - - + +
diff --git a/src/main.js b/src/main.js index 25a1d43d..0353b9e1 100644 --- a/src/main.js +++ b/src/main.js @@ -10,8 +10,12 @@ import { changeroutes } from './lib/routes'; // const index = document.getElementById('view1').innerHTML = indexScreen(); // const login = document.getElementById('view2').innerHTML += loginScreen(); + +// const init = () => { + document.getElementById('view1').innerHTML = menu(); window.addEventListener('hashchange', () => { + changeroutes(window.location.hash); }) } From 159e66a72bf3a6f3ad0154a4a2791ad310c7c067 Mon Sep 17 00:00:00 2001 From: katherine Date: Mon, 4 Jul 2022 11:52:28 -0400 Subject: [PATCH 12/56] --- .gitignore | 3 ++- src/index.html | 3 ++- src/lib/views/firebase/auth.js | 12 ++++++++++++ src/lib/views/firebase/config.js | 8 ++++++++ src/lib/views/firebase/init.js | 0 5 files changed, 24 insertions(+), 2 deletions(-) create mode 100644 src/lib/views/firebase/auth.js create mode 100644 src/lib/views/firebase/config.js create mode 100644 src/lib/views/firebase/init.js diff --git a/.gitignore b/.gitignore index 47735411..afd23ac4 100644 --- a/.gitignore +++ b/.gitignore @@ -3,4 +3,5 @@ coverage/ node_modules/ .yarn.lock -package-lock.json \ No newline at end of file +package-lock.json +src/firebase/config.js \ No newline at end of file diff --git a/src/index.html b/src/index.html index 435b5548..a604606c 100644 --- a/src/index.html +++ b/src/index.html @@ -16,5 +16,6 @@ + - \ No newline at end of file + diff --git a/src/lib/views/firebase/auth.js b/src/lib/views/firebase/auth.js new file mode 100644 index 00000000..8f02b517 --- /dev/null +++ b/src/lib/views/firebase/auth.js @@ -0,0 +1,12 @@ +import { signInWithEmailAndPassword, auth} from "./init.js" + +const login = async(email, password)=> { + try { + await signInWithEmailAndPassword(auth, email, password) + } catch (error) { + throw error.message + } + +} + + export { login } \ No newline at end of file diff --git a/src/lib/views/firebase/config.js b/src/lib/views/firebase/config.js new file mode 100644 index 00000000..e00479e1 --- /dev/null +++ b/src/lib/views/firebase/config.js @@ -0,0 +1,8 @@ +export default { + apiKey: "AIzaSyBBsF0xI43K_mjmI_NUtb01CE4BApx7u2A", + authDomain: "adultoindependiente-4f40c.firebaseapp.com", + projectId: "adultoindependiente-4f40c", + storageBucket: "adultoindependiente-4f40c.appspot.com", + messagingSenderId: "525789460084", + appId: "1:525789460084:web:69113ad92df61afaef8321" +} \ No newline at end of file diff --git a/src/lib/views/firebase/init.js b/src/lib/views/firebase/init.js new file mode 100644 index 00000000..e69de29b From 7bc79ce9f1c7f4d139ca1251f84f6cde066bb230 Mon Sep 17 00:00:00 2001 From: katherine Date: Mon, 4 Jul 2022 12:13:38 -0400 Subject: [PATCH 13/56] init --- src/lib/views/firebase/init.js | 10 ++++++++++ 1 file changed, 10 insertions(+) diff --git a/src/lib/views/firebase/init.js b/src/lib/views/firebase/init.js index e69de29b..81c99da2 100644 --- a/src/lib/views/firebase/init.js +++ b/src/lib/views/firebase/init.js @@ -0,0 +1,10 @@ +import { initializeApp } from 'https://www.gstatic.com/firebasejs/9.8.1/firebase-app.js' +import { getAuth, signInWithEmailAndPassword } from 'https://www.gstatic.com/firebasejs/9.8.1/firebase-auth.js' + +import config from './config.js' + +initializeApp(config) +const auth = getAuth(); + +export { initializeApp, signInWithEmailAndPassword, auth } + From ca5661e5a77c8a25494a3524fb6a8259860bcf67 Mon Sep 17 00:00:00 2001 From: katherine Date: Mon, 4 Jul 2022 12:16:15 -0400 Subject: [PATCH 14/56] router --- src/lib/Router/routes.js | 37 +++++++++++++++++++++++++++++++++++++ 1 file changed, 37 insertions(+) create mode 100644 src/lib/Router/routes.js diff --git a/src/lib/Router/routes.js b/src/lib/Router/routes.js new file mode 100644 index 00000000..0e51273c --- /dev/null +++ b/src/lib/Router/routes.js @@ -0,0 +1,37 @@ +import { indexScreen } from './lib/views/templateIndex'; +import { loginScreen } from './lib/views/templateLogin.js'; +import { registerScreen } from './lib/views/templateRegister.js'; +import { menu } from '../views/templateMenu'; + + + + + +//Enrutador +export const changeroutes = (hash) => { + if (hash === '#/'){ + return showTemplate(hash); + } else if (hash === '#/home'){ + return showTemplate(hash); + } else if (hash === '#/perfilUsurio'){ + return showTemplate(hash); + } else { + return showTemplate(hash); + } +} + +const showTemplate = (hash) =>{ + const containerDiv = document.getElementById('view1'); + containerDiv.innerHTML = menu(); + + switch (hash){ + case '#/': + containerDiv.appendChild(); + break; + case '#/': + containerDiv.appendChild(); + break; + default: + containerDiv.innerHTML= `

Error (╯°□°)╯︵ ┻━┻

` + } +} \ No newline at end of file From 819653f6f865d9e958847dbb28a3dd53a014a2d3 Mon Sep 17 00:00:00 2001 From: FernandaFloresC Date: Mon, 4 Jul 2022 12:17:07 -0400 Subject: [PATCH 15/56] =?UTF-8?q?error=202=C3=82?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- src/main.js | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/main.js b/src/main.js index 25a1d43d..d4511fe4 100644 --- a/src/main.js +++ b/src/main.js @@ -3,7 +3,7 @@ import { indexScreen } from './lib/views/templateIndex'; import { loginScreen } from './lib/views/templateLogin.js'; import { registerScreen } from './lib/views/templateRegister.js'; -import { menu } from './lib/views/templateMenu'; +import { menu } from './lib/views/templateMenu.js'; import { changeroutes } from './lib/routes'; From e9fdbf76fd8c732487c93cb0469fa77afcafac10 Mon Sep 17 00:00:00 2001 From: katherine Date: Mon, 4 Jul 2022 12:18:25 -0400 Subject: [PATCH 16/56] router --- src/lib/routes.js | 37 ------------------------------------- 1 file changed, 37 deletions(-) delete mode 100644 src/lib/routes.js diff --git a/src/lib/routes.js b/src/lib/routes.js deleted file mode 100644 index 751246ea..00000000 --- a/src/lib/routes.js +++ /dev/null @@ -1,37 +0,0 @@ -import { indexScreen } from './lib/views/templateIndex'; -import { loginScreen } from './lib/views/templateLogin.js'; -import { registerScreen } from './lib/views/templateRegister.js'; -import { menu } from './views/templateMenu'; - - - - - -//Enrutador -export const changeroutes = (hash) => { - if (hash === '#/'){ - return showTemplate(hash); - } else if (hash === '#/home'){ - return showTemplate(hash); - } else if (hash === '#/perfilUsurio'){ - return showTemplate(hash); - } else { - return showTemplate(hash); - } -} - -const showTemplate = (hash) =>{ - const containerDiv = document.getElementById('view1'); - containerDiv.innerHTML = menu(); - - switch (hash){ - case '#/': - containerDiv.appendChild(); - break; - case '#/': - containerDiv.appendChild(); - break; - default: - containerDiv.innerHTML= `

Error (╯°□°)╯︵ ┻━┻

` - } -} \ No newline at end of file From 9c08131222a98cfcd60cbcce6621a13dfa9cee7b Mon Sep 17 00:00:00 2001 From: unknown Date: Wed, 6 Jul 2022 11:46:13 -0400 Subject: [PATCH 17/56] rutas funcionales --- src/index.html | 10 +--- src/lib/{views => }/firebase/auth.js | 0 src/lib/{views => }/firebase/config.js | 5 +- src/lib/{views => }/firebase/init.js | 0 src/lib/index.js | 5 +- src/lib/router.js | 58 +++++++++++++++++++ src/lib/routes.js | 37 ------------ src/lib/views/templateFeed.js | 0 .../{templateIndex.js => templateHome.js} | 14 +++-- src/lib/views/templateLogin.js | 5 +- src/lib/views/templateMenu.js | 7 ++- src/lib/views/templatePerfilUsuario.js | 31 ++++++++++ src/lib/views/templateRegister.js | 4 +- src/main.js | 35 +++++++---- 14 files changed, 139 insertions(+), 72 deletions(-) rename src/lib/{views => }/firebase/auth.js (100%) rename src/lib/{views => }/firebase/config.js (81%) rename src/lib/{views => }/firebase/init.js (100%) create mode 100644 src/lib/router.js delete mode 100644 src/lib/routes.js create mode 100644 src/lib/views/templateFeed.js rename src/lib/views/{templateIndex.js => templateHome.js} (73%) diff --git a/src/index.html b/src/index.html index a604606c..6219bf48 100644 --- a/src/index.html +++ b/src/index.html @@ -8,14 +8,10 @@ - -
-
-
-
- - +
+ + diff --git a/src/lib/views/firebase/auth.js b/src/lib/firebase/auth.js similarity index 100% rename from src/lib/views/firebase/auth.js rename to src/lib/firebase/auth.js diff --git a/src/lib/views/firebase/config.js b/src/lib/firebase/config.js similarity index 81% rename from src/lib/views/firebase/config.js rename to src/lib/firebase/config.js index e00479e1..30d8e698 100644 --- a/src/lib/views/firebase/config.js +++ b/src/lib/firebase/config.js @@ -1,8 +1,9 @@ -export default { +// Your web app's Firebase configuration +const firebaseConfig = { apiKey: "AIzaSyBBsF0xI43K_mjmI_NUtb01CE4BApx7u2A", authDomain: "adultoindependiente-4f40c.firebaseapp.com", projectId: "adultoindependiente-4f40c", storageBucket: "adultoindependiente-4f40c.appspot.com", messagingSenderId: "525789460084", appId: "1:525789460084:web:69113ad92df61afaef8321" -} \ No newline at end of file + }; \ No newline at end of file diff --git a/src/lib/views/firebase/init.js b/src/lib/firebase/init.js similarity index 100% rename from src/lib/views/firebase/init.js rename to src/lib/firebase/init.js diff --git a/src/lib/index.js b/src/lib/index.js index 0309e10b..a6517611 100644 --- a/src/lib/index.js +++ b/src/lib/index.js @@ -1,2 +1,3 @@ -import { router } from "./routes"; - +import { changeRoutes } from "./router.js"; +export const myFunction = () => { +}; diff --git a/src/lib/router.js b/src/lib/router.js new file mode 100644 index 00000000..56a1c9cb --- /dev/null +++ b/src/lib/router.js @@ -0,0 +1,58 @@ +import { home } from './views/templateHome.js'; +import { login } from './views/templateLogin.js'; +import { register } from './views/templateRegister.js'; +import { menu } from './views/templateMenu.js'; + + + + + +//Enrutador +export const changeRoutes = (hash) => { + if (hash === '#/'){ + return showTemplate(hash); + } else if (hash === '#/home'){ + return showTemplate(hash); + } else if (hash === '#/profile'){ + return showTemplate(hash); + } else if (hash === '#/register'){ + return showTemplate(hash); + } else if (hash === '#/login'){ + return showTemplate(hash); + } else if (hash === '#/menu'){ + return showTemplate(hash); + } else if (hash === '#/feed'){ + return showTemplate(hash); + } else { + return showTemplate(hash); + } +} + +export const showTemplate = (hash) => { + const containerRoot = document.getElementById('root'); + containerDiv.innerHTML = menu(); + + switch (hash){ + case '#/home': + containerRoot.appendChild(home()); + break; + case '#/login': + containerRoot.appendChild(login()); + break; + case '#/menu': + containerRoot.appendChild(menu()); + break; + case '#/profile': + containerRoot.appendChild(profile()); + break; + case '#/register': + containerRoot.appendChild(register()); + break; + case '#/feed': + containerRoot.appendChild(feed()); + break; + + default: + containerDiv.innerHTML= `

Error (╯°□°)╯︵ ┻━┻

` + } +} \ No newline at end of file diff --git a/src/lib/routes.js b/src/lib/routes.js deleted file mode 100644 index 751246ea..00000000 --- a/src/lib/routes.js +++ /dev/null @@ -1,37 +0,0 @@ -import { indexScreen } from './lib/views/templateIndex'; -import { loginScreen } from './lib/views/templateLogin.js'; -import { registerScreen } from './lib/views/templateRegister.js'; -import { menu } from './views/templateMenu'; - - - - - -//Enrutador -export const changeroutes = (hash) => { - if (hash === '#/'){ - return showTemplate(hash); - } else if (hash === '#/home'){ - return showTemplate(hash); - } else if (hash === '#/perfilUsurio'){ - return showTemplate(hash); - } else { - return showTemplate(hash); - } -} - -const showTemplate = (hash) =>{ - const containerDiv = document.getElementById('view1'); - containerDiv.innerHTML = menu(); - - switch (hash){ - case '#/': - containerDiv.appendChild(); - break; - case '#/': - containerDiv.appendChild(); - break; - default: - containerDiv.innerHTML= `

Error (╯°□°)╯︵ ┻━┻

` - } -} \ No newline at end of file diff --git a/src/lib/views/templateFeed.js b/src/lib/views/templateFeed.js new file mode 100644 index 00000000..e69de29b diff --git a/src/lib/views/templateIndex.js b/src/lib/views/templateHome.js similarity index 73% rename from src/lib/views/templateIndex.js rename to src/lib/views/templateHome.js index 52bb5293..b94c2849 100644 --- a/src/lib/views/templateIndex.js +++ b/src/lib/views/templateHome.js @@ -1,8 +1,8 @@ - //Funcion que crea el template de la pantalla Inicio -export const indexScreen = () => { - const screenIndex = `
+export const home = () => { + const divHome = document.createElement("div"); + const viewHome = `
@@ -23,6 +23,8 @@ export const indexScreen = () => {

- `; -return indexScreen; -}; + ` + divHome.innerHTML = viewHome; + return divHome; + +} diff --git a/src/lib/views/templateLogin.js b/src/lib/views/templateLogin.js index 48096786..11bef3fa 100644 --- a/src/lib/views/templateLogin.js +++ b/src/lib/views/templateLogin.js @@ -1,7 +1,6 @@ -//Templates de las diferentes pantallas //Funcion que crea el template de la pantalla Login -export const loginScreen = () => { +export const login = () => { const screenLogin = `
@@ -24,7 +23,7 @@ export const loginScreen = () => {
`; -return loginScreen; +return screenLogin; //console.log('Hola mundo!'); }; diff --git a/src/lib/views/templateMenu.js b/src/lib/views/templateMenu.js index d0dc8b60..8dd8ea84 100644 --- a/src/lib/views/templateMenu.js +++ b/src/lib/views/templateMenu.js @@ -8,10 +8,13 @@ export const menu = () => { Home
  • - Perfil + Perfil
  • - Cerrar Sesión + Muro +
  • +
  • + Cerrar Sesión
  • `; diff --git a/src/lib/views/templatePerfilUsuario.js b/src/lib/views/templatePerfilUsuario.js index e69de29b..8c32c1e8 100644 --- a/src/lib/views/templatePerfilUsuario.js +++ b/src/lib/views/templatePerfilUsuario.js @@ -0,0 +1,31 @@ +//Funcion que crea el template de la pantalla del perfil +export const home = () => { + const divHome = document.createElement("div"); + const viewHome = + // const screenIndex = // + `
    +
    + +
    +
    +

    + Únete a la comunidad y + conoce todos los secretos + para vivir sol@ antes de los 30 + +

    +
    +
    + +

    + ¿No tienes cuenta aún? Regístrate aquí. +

    +
    +
    + ` + divHome.innerHTML = viewHome; + return divHome; + //return screenIndex; + } \ No newline at end of file diff --git a/src/lib/views/templateRegister.js b/src/lib/views/templateRegister.js index e9e014be..6293445e 100644 --- a/src/lib/views/templateRegister.js +++ b/src/lib/views/templateRegister.js @@ -1,6 +1,6 @@ //Funcion template de la pantalla de registro -export const registerScreen = () => { +export const register = () => { const screenRegister = `
    @@ -22,6 +22,6 @@ export const registerScreen = () => {
    `; -return registerScreen; +return screenRegister; }; \ No newline at end of file diff --git a/src/main.js b/src/main.js index 0353b9e1..9bc403a2 100644 --- a/src/main.js +++ b/src/main.js @@ -1,23 +1,36 @@ // Este es el punto de entrada de tu aplicacion -import { indexScreen } from './lib/views/templateIndex'; -import { loginScreen } from './lib/views/templateLogin.js'; -import { registerScreen } from './lib/views/templateRegister.js'; -import { menu } from './lib/views/templateMenu'; -import { changeroutes } from './lib/routes'; +import { home } from './lib/views/templateHome.js'; +import { login } from './lib/views/templateLogin.js'; +import { register } from './lib/views/templateRegister.js'; +import { menu } from './lib/views/templateMenu.js'; +import { changeRoutes } from './lib/router.js'; +import { myFunction} from './lib/index.js'; -// const index = document.getElementById('view1').innerHTML = indexScreen(); -// const login = document.getElementById('view2').innerHTML += loginScreen(); +//document.getElementById('root').appendChild(home()) +document.getElementById('root').innerHTML = menu(); // const init = () => { - document.getElementById('view1').innerHTML = menu(); + window.addEventListener('hashchange', () => { - - changeroutes(window.location.hash); + myFunction(); + console.log("holaa"); + changeRoutes(window.location.hash); }) } -window.addEventListener('load', init); \ No newline at end of file +window.addEventListener('load', init); + + +// const init = () => { +// document.getElementById('root').innerHTML = home(); +// window.addEventListener('hashchange', () => { + +// showTemplate(window.location.hash); +// }) +// } + +// window.addEventListener('load', init); \ No newline at end of file From b868bb2cb3ca7a1eb766e8b5dd3f7e4e5670f8f8 Mon Sep 17 00:00:00 2001 From: unknown Date: Wed, 6 Jul 2022 21:02:25 -0400 Subject: [PATCH 18/56] auth google en proceso --- src/lib/firebase/auth.js | 31 +++++++++++++++++++++++++++++-- src/lib/firebase/config.js | 2 +- src/lib/firebase/init.js | 13 ++++++++----- 3 files changed, 38 insertions(+), 8 deletions(-) diff --git a/src/lib/firebase/auth.js b/src/lib/firebase/auth.js index 8f02b517..d5f0c3f6 100644 --- a/src/lib/firebase/auth.js +++ b/src/lib/firebase/auth.js @@ -1,4 +1,5 @@ -import { signInWithEmailAndPassword, auth} from "./init.js" +import { signInWithEmailAndPassword, auth, signInWithPopup, provider, GoogleAuthProvider} from "./init.js" + const login = async(email, password)=> { try { @@ -9,4 +10,30 @@ const login = async(email, password)=> { } - export { login } \ No newline at end of file + export { login } + + + export const authGoogle = () => { + signInWithPopup(auth, provider) + .then((result) => { + // This gives you a Google Access Token. You can use it to access the Google API. + const credential = GoogleAuthProvider.credentialFromResult(result); + const token = credential.accessToken; + console.log(token); + // The signed-in user info. + const user = result.user; + console.log(user); + // ... + window.location.href='/#feed' + }).catch((error) => { + // Handle Errors here. + // const errorCode = error.code; + const errorMessage = error.message; + console.log(errorMessage); + // The email of the user's account used. + // const email = error.customData.email; + // The AuthCredential type that was used. + // const credential = GoogleAuthProvider.credentialFromError(error); + // ... + }); + }; \ No newline at end of file diff --git a/src/lib/firebase/config.js b/src/lib/firebase/config.js index 30d8e698..0cef32ed 100644 --- a/src/lib/firebase/config.js +++ b/src/lib/firebase/config.js @@ -1,5 +1,5 @@ // Your web app's Firebase configuration -const firebaseConfig = { +export const firebaseConfig = { apiKey: "AIzaSyBBsF0xI43K_mjmI_NUtb01CE4BApx7u2A", authDomain: "adultoindependiente-4f40c.firebaseapp.com", projectId: "adultoindependiente-4f40c", diff --git a/src/lib/firebase/init.js b/src/lib/firebase/init.js index 81c99da2..ae1c2419 100644 --- a/src/lib/firebase/init.js +++ b/src/lib/firebase/init.js @@ -1,10 +1,13 @@ -import { initializeApp } from 'https://www.gstatic.com/firebasejs/9.8.1/firebase-app.js' -import { getAuth, signInWithEmailAndPassword } from 'https://www.gstatic.com/firebasejs/9.8.1/firebase-auth.js' +import { initializeApp } from 'https://www.gstatic.com/firebasejs/9.8.4/firebase-app.js' +import { getAuth, signInWithEmailAndPassword, signInWithPopup, GoogleAuthProvider } from 'https://www.gstatic.com/firebasejs/9.8.4/firebase-auth.js' -import config from './config.js' -initializeApp(config) +import {config} from './lib/firebase/config.js' + +export const app = initializeApp(config); const auth = getAuth(); +const provider = new GoogleAuthProvider(); + -export { initializeApp, signInWithEmailAndPassword, auth } +export { initializeApp, signInWithEmailAndPassword, auth, signInWithPopup, provider, GoogleAuthProvider} From f741cae8db10c1e8e8f9919ebdb7df2037c002fc Mon Sep 17 00:00:00 2001 From: unknown Date: Thu, 7 Jul 2022 20:13:41 -0400 Subject: [PATCH 19/56] template feed --- src/images/user.png | Bin 0 -> 6957 bytes src/lib/views/templateFeed.js | 23 +++++++++++++++++++++++ 2 files changed, 23 insertions(+) create mode 100644 src/images/user.png diff --git a/src/images/user.png b/src/images/user.png new file mode 100644 index 0000000000000000000000000000000000000000..b36923c39c0aebf9c8f1591cee114a156edd1fbc GIT binary patch literal 6957 zcmc&(8i}R5W071M7Lk&p(FW?2?kKzdQ6S-O@~N?Hk# z(wE;k?;r4fdq2$FGv~}Rb7$^3cb;eNYa;_KGGazz002Oy{Y>5X-opQDg!uRUj+oZs zy#WRqYpDSc80I|yfN@t_UDY(y?#NaZx*|QTnNeSSSawJmMsbCkVd!vWIXwTHNKk(( z#{0jq=qYsNinGXJ3$haCTjXHHn>+tm2buxB8uXg|M@)u#B&ibTL&-I_5fLup|B?%K zZBcz)YXqQekilWe2mUa!cQ)T7MG`I&#u<#O;QCbc)5tRcnZzb*7?NN|S)ZKTIUP9h z<)m;ZkVTZ{hd#JI{VG*%?4VYY@5x1Jur&G~v!v>1sE$ozGX;_Yrzk&`aM9qk08|1 zfUHo)r?;;9r!{~$k1-@4%;hqN$>g27oPK32G-N$m^)f-q3oIyrq@Qlt$NX`XC^BH< za9$o-NGjfJPOX(ET&}#<(nNbXaUETG%0;OGT$_8x6Ur6v z`zgew_bdjvy}Vz54Uz-^#VoF*UygescgU8+$J5-rnn$nnv!I zrRPsg%zPPrw@Yj2$V8r{{T){{kA%p1kS*l5As7$tG-Z|D7Y?{!q?dOqWJ?5jtgTSN z#Izr5@o#`cWW5vXKr8YOEgqJ>OOWecSyCRyG0N;+zd72qRp(;5dHs=10JtJgV&VDm z?@KXg3TO7`9=9Z|JG+x=IEz=D=C5Y3XnmiCnJG>8Zts&P1f(#@lel@BO3-ctwn@kI zE@NF5O&n`bg*$6I>SD{jF}40~&7Yw(`tIPLk|_{JeIGaOz{#ZE?_jgM-Sfba@IOk9Xf&ajS$p z{DACyg0IAYlUI@2{_Tr^=~P@NrT8f}<=eZlwi4Wxf16J_VJe%_Qo>s^bEdnWItERr#j@le8x+Bmi&H#}6^-3Hw;Os^yoqfAO z@L+=(k<+;B-+nAefmr|k{S$w6LUN`H0K!U8%&{a6he7$3T4u7^uJQaz>Yx{&5s?E< zJ-Y?#Ypej!(&@EE>seh{WD;w~EWNEQq|E5uX z5QC}?yV7n_!|AnvIa}F5Rx7wcsb^(r-MW%Ze|7mjc)ZSXckj6a_sdHv2`r)c@%wV$ zJi`}J(n1`O!-La0WoQ2D+W_;Wb`)$ASyv-4Kr;fV z3Pqk7zDCeUUwF3?t)7E7ILFeC}?9p9` z9iiC-$S99VysS>2R%eGkt?HG-!x{j<29lm ~OJE>}fv4W3@ir~#!+U1Lf4CppX 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 literal 0 HcmV?d00001 diff --git a/src/lib/views/templateFeed.js b/src/lib/views/templateFeed.js index e69de29b..107501af 100644 --- a/src/lib/views/templateFeed.js +++ b/src/lib/views/templateFeed.js @@ -0,0 +1,23 @@ + +//Muro de la red +export const feed = () => { + const viewFeed = `
    +
    + imagenPerfil +

    Usuario

    +
    +
    +
    + + +
    + +
    +
    +
    +
    ` + return viewFeed; + + } + + From ec640024d302c0437082f7e9354aaae320a46ca2 Mon Sep 17 00:00:00 2001 From: FernandaFloresC Date: Fri, 8 Jul 2022 01:13:43 -0400 Subject: [PATCH 20/56] vistas e img de prueba --- src/images/deformitoLogin.jpg | Bin 0 -> 61785 bytes src/images/deformitoTierno.png | Bin 0 -> 19350 bytes src/images/home.png | Bin 0 -> 2219 bytes src/lib/router.js | 13 +----- src/lib/views/templateHome.js | 4 +- src/lib/views/templateLogin.js | 9 ++-- src/lib/views/templateMenu.js | 33 +++++++------- src/lib/views/templatePerfilUsuario.js | 31 ------------- src/main.js | 17 ------- src/style.css | 59 ++++++++++++++++++++----- 10 files changed, 72 insertions(+), 94 deletions(-) create mode 100644 src/images/deformitoLogin.jpg create mode 100644 src/images/deformitoTierno.png create mode 100644 src/images/home.png delete mode 100644 src/lib/views/templatePerfilUsuario.js diff --git a/src/images/deformitoLogin.jpg b/src/images/deformitoLogin.jpg new file mode 100644 index 0000000000000000000000000000000000000000..4c4944e184fda39f7cae7b61774ac0d021e470ef GIT binary patch literal 61785 zcmeFac{G&a`#=7S!B`VUc4N&__K^sqWDjF6Dakqt*|Hl;C~MY2F?Nz9L|MyLN!G}| zmMx5ZFf)En@9pzB-}C*Q^Xd1;_nhDPdJN~D$Mr1N>%N}rzV6q3-`8{W<7gT7;9L=0g)%3$S0)T-5AOQdX4L}Xh0~BECH2CESc zV2N?FclY(;M?1TFyYp+>W4zrx`DJCKWTa$eWMpNfWY5W;M*{ydDLENAIb|6|@WT%l zWWllw08l@M{yQpR=6Ou{pR!DH(m%>jnR5V;ocv#99OS>EoBxVjXixsBp5w^n|4Ji0 zR{9u$V+4*7I7Z+Yf&U=z-=hs#WqEmJc?IBqw+}pk8Up=SOhFAYCR_j&xDVt`m{TF# z|0zF%i2X|jn|7K5^3n(c5U4}3G>*BZmdHf%)27ny>I2r>q02*p)7&R3Q3UlX8DS4#a zpOZjnX=xeg88{djIphR*1mymDJ8A)#X@FEPf`SMD6wDAPGvufZK!A5i1+q(j2&R8+ z5DF+I6*Y{8mX012s5uF0424oqLaC@ILD~os4E`UWWTs*fkiAIFYHSM=^nlBSCFRlx zU8?-RX3~cjmcQ*8PD^)+or9B0p+m-qzN=d;hVu zt-Yi3)8{Y!1B2g(hJTEV&dkou|NOPExU{^nxwXBsyGPhR_@mb!J^#J^Q?dU=FJ@3L z3Q9^SCG3x05DH)L7s^aYB_K=9a?u!O>%l507e)iWl$2ZffmTS~1kZNcvybkSFmgs@ zsJhrWyBJ?Cl+(VrPbD@_a z20WiPu9jB};*6ts+zTj!7YXQ(0mQ`s9!tqt=|_C5_>XhwA%1yJl~}J|pL6cL>zs=L zwqlQfQEmN%OUNUDY2sUBrvH!%8BnlCj2a&LcFok^z2Du1-9Y{pY(rI-MI0Uh4C092 zH|_QdU4Ml1W%FdD+F%0WOI29HgpCg(4vcSI2u92%Mkox?I=vcw8BM-6&Pva^s5pm; z^m!!sC9E$kDat%`o>|B4&{+L}5Hgj)2UZ9uaw6wIC1llU8WxbtfQFtj8ZyxTINKS> zM*?~2p(lHlz0@JEq&rZo4NB8_y*Ad!y+dEgXHc(0x8JzKURY1ID4}?Eop<87a?jVd zHP7F6+TNyh;*DV5k|jphU@hXL$;*i+QlN}ejimYJy%rTjDcdDg4SiBh5U&$U za7{(UPv|c>gG$|9ItU`8yq%yhO@&6y@WmZwJ;D-R02PWKm;k*3M$XwD@App*DqmrZ zNzaI~Dz3YX+9uVhq>0~ea6}oV6?Gn|s>2I@>0Q!=HrJNLP!Ce*$=X6YuME4aHhMlz zSblb|xmr0tI$rARz}K34P}i0SID~vbc+DIb@1DvJmSufqU2B&o7u#U)ZSlDF5|n} z74TF}^@m+htdF*qTT|;)ZHAxF%#(*|LQ_qpfhw=B>ijHf&N;hT8;m2(tq<&*UQ&zb z3sRjyH?qqU?^9Tg0v5_vOFOrFRYKUI%h6E(b^Y zJ60TO`Z<1cj5U1SGu)9q07z4=s_ zY31e!-g4Ia{eg6pPx=Iw^4i-vyRVCl=FOwf=6g)V;$go#3jq_3Wj#v8VkXs5t4Pu-Qc zLsJbUcS<7vaD!`s!HZVpxqH!LkoOjC3-361VHE^Rn^_yyAX9=@ZmUDcf%Sd&tiU_5 z&M881#22!0Oy)&GZLij)+}CdY+MK=qXkN)*#Pe(CcxF^6-MSjLUu?(gBw(8@JFc}t8JU~45>;mtea8+csro+C948LQBBLhv+avPWQB6i*QXH%6_m z-srmHOZnLPa=UPhroP=@VV&s!9k^SC0S>N*l+>hbuxSuOl=$j({*U ztlDqvgR)bCw|ub+B&m13w$7-L{vgqK`NHsLK3TkB<@EDwFKf;lrH{yr^OMHAmYFI_ zmc^jYUL}6yqZuOJDIq=4eJjbuykL!DZd29W+2!el{b=IA?^HxKC_3a{+hVH@)aQHE znQpfuoVkzce5GI%7mzpVsByYL0Da-Lfb4z@aLA}kcRv^dHca7>BBz}Yj+52u*vuCAxEidDaU$Tag! zKG7@X2w1Kt4dR};j-n_(hpOIbo20}~#io!& zx$I5#s84zCix`vf3w)h1TQ`h$UHgi&?q|KaX(d3W&AZktNY_j4ji|cxD6DQnNf!Dk zp@%ZDGz4X}J3+58Kvc}XzGP)j!F`pTuJQAl?wam=CeZg{@9n9~w6f7Dt5z?!IY#&= zUZZJeXuNwwHbr1XHG-*)*$VEWdQa<-r2+a3N4KDn zsx%v~Y@>n6P_-BBk~*z1>KA!NuDQ_&uQCE|Xdk4rDB_{X+4m zSWWWaO|OpWzuhxGJ>fB^nK+5~6m|qq6v1c@RS2qXJM4R5TWE_E^;3_IO9)VC2o0`&0{^@#@#o?XNb zIQks?0P_*h`*MoFdj$M2MeIJ^$NJ9PRXnt8z%IfedPbv`W~gQ21;>UX@Zmx%O2{AT zu3Vi{e+`?|#xbm{j|#O9(^!lST&YG)>STO60-ByC_P-mOib0$V(#f$^Zk!L-XtO}S zygNA(ufe>U3C!(qbFV6s^Y9}Z{q@cDfp_NgW<`lI?T!%4K2Z4)K#bAr2_a@Y=nt7Hs}eR zvscpJ(mBTTMaI9u{nCQ{>U`&^-Am`})QkRb1kjDmu)e&=6)gAR+5Ei$JJBP6PvIl+ zBq4Ivh|Mp;c)+Ku`R%3jDQ8_S1q&^Pe1sSe?^K~I-<&4ku)@dP=R*i8zph`?V10`- zk1D!%2NCI6i=ZMx@1f=?Ds!%`iP(@bL(gD8#^RYs6u*vumUpO*XF1Ryiuj!08P`W% z6&wMxB^0AU+<3}hl?x#50scl?E{}r*@F$Oe47VvVS@#HNN5h^GJ@D!AGZoa=x^owI zE$)cSwyPwyDJIoCp~L!nRu9MzI004-MwqfG*1!qfgZ zitzI|1}3hRvY8y1%lmgIg$7vHp4VnESw%Bw3a@xkd9Tf{!pTOCSBYz>%j?NvPQqLc zfe{I-3%c8IDu=Gd_8Ib**pn%#=3cI?ijkro#U}nnp|ws1b&@{o5rB)i70jp!z|jy* zfX!+PT{Vy^e{&fLUos%Jsp(v0Xdul%6K1Fkz`XJUUBq;Gs2`|M*oe(!v@ z=Tw!$c5L~bbWYM>`jTRAncWfKND_l)5cXW>gN)y$kORjwM3-uh0EdcV6$R92(3t{j zzBeP6j(|+4ZdkFF7)PoTEK?m+6V2};#&LpCIh2)WpdL+O;)}azh-2a<<@tCyP1ma` zAee%^=^1t|bD{_vRuQ`%{UJRwu14m5_&wiC!nc+4qzP3a=IYl;d23g0QoIR8?2Lvx zEi(5I%&{X)eRlZ!r9O$7cUGepOX|P}D;@|`g@b`Ml?R_J0R)!%k-)q9LknDf>;?A> z&?23;Z8~#Y0DR9$V$gosZ<>}AL)8155Md!a0CWqY_58=d! zY7yLXtz=rWY~@MzB1gdPU2~ePsZoQCnF(f9xA8yLJzSnRvUHz#&Wp6NWVDzUs(Ld9 zXdi5_nd#<@aZz5&xjXkl_g-%E*1 z3<_&&JRZ3}WlP#rqCq_f+&S>w=wf>PIVAo?m#5^TuTc{kI#UL1Ol`fe*96q8Wve?a z)pZp8GQE_{UW&ixm#IfWh^RB)tKH*n!iM0KLnhyh_80t$&W4EoBsoLhMLE9`(9KN} ze$?^P`<4b1TH7iZ2-lLN-8vPQo=t`K z-PP?|Xn40Zd1Lb4<^9UeOMwAsisd7q8WmH)8v3Qyt@toRfbdJh zO{ymNqV*Qz``3vZbQEN7h^J9RllYsyh3`8Rl}qQ)Qv1U7IcH%PKT<0Rhb5X?)3x<~ z6AZJma2yS@6iK{G2kcJKhxD*pC8V(ZYApR++#@zFdHbQfAb3^X>BIZ4ULi(0KYq&p zHn@Y~erFl4O%8RY04v?eh*ssYM(~R^($g<-D9N;rJJ_m(%DY?!?3QmE(Q-o1uSf-l zal*E7C-g7dJiG~PXqKlnzRGu3c~f%g!Ks+JXLit^LgU^Q6{*R%*B?3sL)BbKpf8CEZuK}!h)DnZfKTA%cQqk;is-9`uNkZ+kOQ+{Tv4u&;ogJy)x|=3ITaI4owl(b5q;^P<+;>4y)1j zoIRskK>mGqWSN2ALHwxw^$a1J*9%Q@oZ?;@l#l@5 zGm!T%H*k2ns2st%=URXwEa8~a$kdnZ2^B@)$sT( zuO{suCBNuZQ5T!m_aZ+K%dfKKf)%B(yH?*xIZ{DKK(w63v#h`+R=&_k_hsi>0nK_B zJWMEN6RH`mWNN6>Xa&xuqABKLTmclw?FbYlhb63954W8Y$FHZUr`q=zK_kXWnKpJsoxeIZ92Pdha|=`)CB5l_tCB?CpI|Sz6l7 zOUl;X{kDUYox7{FpY1(qSt%K5Kn3M@&(`jagE#+e2Pcf1s_1%svnW5tURBgm!9d2~ zo`!=nMkm12!8E|o%r4-LoszvMN{x|D#ZTGK^`5JPw=KV)>s>c5Wj|HHf1F(zEdSXp zEvTmAY450Pa#`zN65uyg!GGP0udlC^ue_AIr<1g-l9H0NjGVNboFphA>E-X{ZR;oL z<|Xv66I^!ivh&2;^TxQl@&7rY?QM4-Z&g7bAB?@SqphRDZF_qK$=kN__L8!)_O_C? z_VTil_VV)fiVCvltX+O9*4`e-VSPi2yRIkMet)L_b<|0N=D)Qe>?D>aw^h)6#Q=rtNn8ih#^?|58@#F z{Qn2G%UfQ zIJkjJHGIJ}8UM&<1Erw&^8q(X@IyuOCo>Ec9SlZI!$8NtKuDk`PSZ0?V!)Io)gWrusA{CL#4lE~|H^1eL2ODrFmTPz6 znfPjiE@#{BlwMajA#wMhSJomd(@G@>ez};MMb)ny&@t4iu?K5$92{n>JUOEt?9kLUmP*SkJR~>!f2&ievd+akY8hTbz z5!xT>qS`qWmMflmpoPoDA-clW4ae4X0(!d-PB;TA!0-Ae zAUOD)OGHAGv7;*a>ZsRb+ss|ZvOrXp;ykBC{$aqpik1? zKNvvcRZqo%Ys^;EnHaEo=1Oz5DrB?nk&$fKp+a*UOwm|-pX~izc<0xXb<*VdIpj$s zc{AyAp%go=T|+p`GX%r4eX+9;szK}-uBbV$`*h!8p@KRuLH=6+IZe!6dfjUqcgv_k zH6SE)mXSLeM=b5?ri`DdyQL|%&*pp1==F+WK5X&@zhXu6ie7cKS)5plswP;+l=6Jv z`Q}zk%*+^B&Zdc6e!5+}wX#H9q-Ge*A-_QF-mK0)KrE>XuoJ}Tv1j{yY#nj=E zyv|Ab-m_T|D<&~C0`52W*-rN@8Gvj4aw_(TORJNiLXwG3@1c4Y3{LWY1GT|=-v^g| zW||a*M+p7gn?C}qZsgic+wo$~Db`ZXZ4?SLY661s4Z#EZF?ZvHR$7jL9n+87KU(I% zHPAN{LN8z+ZmM2D3!io2xFyT6(u0ia92m;rK6}^jgg;3}-0t?2-(0qsSfH$1G%uEQ zX{hYmrgpUXRAiUfqU^X?pMdpz9A*cGqgXpVrNMdIa#A69hL`}kUav1WS=91K)uny+M&4cxE7%=+$X`dz>!r6TRnTnBy+|JTxG# zm&!E9Dp`S7wjI^Qms-sb^H?Vs)8hE_ROo4wU>ChGuNBi?eLAtc(2G|_C-ZW&R7=Ee z%@xCQJ{U5Hi-|;mC|isnR8snrFS)3BvhS>3yc}axZeSi^wvVGeWBNiOJ(NY+O4%5^ zCTw9zSC=oSgD6I!7wb2XIJ=bSezS(Z`|@vkr?uMBY4D~OIX1MxWtN$#aR$KYxfKJ; zsoJLXb(4O5gppe+MDXoo!+?aL@TzeMj?&8NMh#fU>dYqCn$aijjdbTbT>w{3lJdZf zbQSv@l6c=M=ab9ofhGf%<$y|Up}gms!-p>eyZv^_0jz_)vL~E{O(NB*hfI%vpvOi7 z{h{nJuHvTXah2?wKb|a{|3K6P48^QCZig0yo_frsF%*fTnhbWaHTL)3Axm$KhO#ZQ z4izj6#nb*N5tO>1zU- zT$P9OOob{w1uff!H>(*Rq2Ic=g#HR+6;Z}nsMRQ(YZ3R-)fD{n!X>H@mkvL0U||vC zATsG`xm@YXaiM56j|gfll+?QJZV0QwB6> zFPJh<5L}(SGgz-($gN#S#q5}ARXnOH(FiC-i7T4q+=s4QvDgy+_?D?|HvF1Is`59P!((>#vEsjP= zPV!v`*Tr7*7ZrN}9^0iup~ABTPmX}t|?PHfxG=yRooM_ z;TUv*_jw$3nZKtUA&~0{v_Ic@YdG`jNT!O+2OP}bZhf94?wl7Y*v;MC(0VheyA`Zl*`WD*g!9ZJ75dU?BO`)?z5uqlAzwT6_%`q z-{D=p2gBjgwKKgWQO?^10g#hi;szqX#~3l(Mg2GvvkbmeMz*mtf^x|hmnE(`Bo(-R zexMT7vsviCXEkjij)b1wDJ+WNKv+>KXXt+_z)^B;$r=}TH_N`UeYpQnX^%rRu|h#o z$@y$-SE-m|0WMVyJTr&M!f0|WD8v&O*qRfy~O))c-tMV((TJ(KJC#moA1oz0MU z!p}R;9|W3~fa~ECJ$CXvb_#INikp}(BMVIdrWj76toj<@$`|`Y&e32^_=~|*z|5>Z zu^gERaGH}hqYh$jG}l`teuEP}r#!>In;Qz{$&quYyWn-@SJ9cRxwpzDt9+>}pDYTY zs+!s+y)?1KhJS7m9=)WmGYC95;g^2|l#>`m;0#!#$#kDO?WNq3J;jVTv%VS%A@kxk zqx9-DDPU0+%)+NgdNnww-l2xkKwsY|#8D(#f$O!O4UT%D^-sk}h(Aqu5CdWAmM7U* z`S2(xRSA2UVqe#QL!su_ICd}A?M=3yMz0eX8R1R2dh0JKPeTLnZ6yo zB)_6t#_&Xeqo-mhi)YpdT&O-&ieb=lx$h#+zny!1GL+3KGbH5sfytb&p}1XKFBDZz z4jddQx?2n`T!*760~5=2wfdHf*VL+kjG_jO!$HU7P@2_^Pdwk_nDic9tKH!azA#wL z@-a_AQd3>PTxY2rjMn(wSN;G5XXAQy*jIPZC)x$Jd$t7y)^B}15@2=2_x)fa26*E`j^>&m>#otJ0q>gL-j!Vc-sHUKH)4$IfTpBl6 z*-^&De|9VceRW}@Xmt-~hY`n!vC@e<<1U#lRmXIXBM2vPumOu_X8lw+`xk@12h6|< zvWoTCDRtqZ6Dcf!=a)lSatw;m8r+#a=h8}m)47i4SM;tmiq{*JLvEoIZ@O5;x;GlA zx8+7T7yb&94TFhth?Xlq$rKZLq$vr9izt5GEgm${R_{zNEb*lpdskT(QlkK+v+g$o z;R1C3faRuE9VNe_&e*M-^V9U)VJ{`1lAD2@gt~S07D*AQffe1V$*_lmsj_b8S3c|_o>+l5 zV^lOyLdlsIBPQm2_+4}&A+OjCM^!i;jLE?H;An?QH{g#h)c_aIdP)_)Q$(-%F|!4_o2y!L`ln-hZVH5s*NVO- zW$fp5O~o$Kuhs5nb`^Y$s(yty=LE3_!O<0Z29rCImo%whuo`7UWe)?JlnP`rr`jH9 zNxcwmgjI&uig8DpBp@xAoSq!Y0EWy5e}L5o^VP9?>=ad*^vm@EW%@d}fw!4}Ti>&3 zr=g;J=WXyw2R(-vE>+V6jNZ+HdKvVTck&{SfUDrc$csBUw4!NH9YA*{Sd3a*8~Fm` zOsS@Pzi$csGEISsO5tE_wg0*CXF&<#S2k>eA#6eY#6)wUa>J8Z?NwuZ)r^W;kjCsG zy+4dt8Gi9hLdIdkiTv`Q$PFPfy})$&30+%!adbsZ2HQgx>$J;ibFlNo3uvKj8|Up3 z&Ie8yer&bYoeifB8@%Outn%RIt62Bq#i8{+3;y4Y$}DF(d@2ZH?47C(Z-V?wTA1(` z#f|q(Un6=|_J(#BuT*t%B@{lBLUH9P#v<=Hwq=%Q*5(^F&)IxSXgo9tGT%VTT`cii zxLOz4{9xj9;)1n#Pn$IBh}Enws;cAVaB zTj^Ob#ok#u0=7u*M*#NE@rgBrwAuP|)J)9F4`G_@2>?;vsu|zV;C}>YSd@Yp@}$W~ z&oGjVraxu$U6Ys5oL}Bz$ewFs*}<=|R^)rt&7&)`+=Si?%skW4_8?P9o&12y(HT$8J%lq)AqQB_`hs;l{R+W}^k;UTY&DA| zJb2CT)>Kz<7e7Tjg+s>jRZXk2lLM}g2M2qs>b2*TelRN6sli7_VW%r{Xm*}I3U(;N z+-*JE-w}E7AX;?0B0q$WJd{J*BqGoQ^)Cz>9rSe$_2^~ zF1&mtP*3S#MXLc_PcnVGv6nb6dy%0s$snVWSN*iR(Gg%-F5K^C@L3$^vbUPW#yt(se?~Gg zBW)`mpE#kVi2{8XXyP%Ump~7bY61otTm=)xd4q@Ag@6xNL(NL>rISX4wYitsdf>%?~A%;zZtJPmvMTZJHYZOw!-ZKT*d(Cde7Z@Aj zC@qRWpQl(0&jH(*3Uz9aff!8Te&Z!_wJQ!5St3w#>W$9DFQ0s6w$;A75)~VC(cM8xQRJl?A4ZAH*0a?P1O#*h%Ng0Y zY&FLqsx4c4!gsqBV}pzxiciYVXF$Jdm#F(9T722|0}m~+A1royc*ma8&%}B8-T!dy zL1xx#MV1q?32N3saCCv|eDo)Dld^H+AT~&Hmns$j!LTASRI&;2~ zDquY{krNuEQQ~@dF5X{lElWTcO-*eeFA?03QRc~AXQI)esY<_WXlTd)jRju;TZhqbe-r2D{L^Wnq;i7Y5kTcf(4SQm5#DgI zA=sI6SU!^E^Lw4y{L9lj?nBCM>45P~>(HG0B3 z{Qb32mB!(uVQB};Z)X~sulc8tdJ=ACDX-Ar@WALC zDoRF?Pg`Yfs1S$Ci;1sVQD-qT+Z_A?{E2?qBsER`NgmLN;d*6?K5w@xXKph%!0R#3 zdMUR}M8E`b#+sDWeM_3~As2wNl&0vXuS}0&exo#!kwTGUb;-n)FYRQhvsg^Q*cEyc zv_ALG#EY8BF_gyd-K9i=KPXWy4Ac=_uFl_uCR|XoGf(dpxHp!OMXG8c9{7|c1^-m- zv7#4o*b~Uq>$TSmBL|7%q=l5qJRQ+)GW;lxPY&j)cnYzmjpFM-uT5tE=Bx;Qy;VK6+D>pQnt z5|Jxg981(C3~xSRKnnPwW8&Ko8^TK=&WUQ z2s^=X>&AvuA$3-<)ftsUA)pPClNOjs+$C&)miAyENb-d>X6nSYn8EKvHmoBmqzRy)`D=4iSIlJK;=!G9%kX@5W`J-G1D5c}bJ&GP{La_$*# zxg`sf_i{gPip*SU=asF=<_iti<|N%axvJl%H-r&}CjKP2>8yoQCA4u(f_ps4BWBY>7nGp26a&)%k- z8tlGv`9${-08wH37>eRngNL*uPK8Jrar8Gx`ncaE#>Td9rtrN}*t7Z2Oc1(}R#)2y z!t;=_qLup$+u24V%4dO=ORHdtx@Tt?8<@vFHVQrZlT;S;f-Mc~hxEi#c!?t*mmp;H zJ|wF`h$Wkx*NDB0M?^O$au_ITy?Jx7&o)w>Y~HM!=mNw`-b&;ah{sN#CH`~_!Co_^ z1A|Np^O|^$Q!LqEl(Z?KCq}_kc|H5}W$ZLXm4Z8LF<_q0oScU7L6DG%^mZ~moZiHubx^)t_Y#jU4 z5l^O=QPZ&pcIul1{q~=tqCca^EMQ9Gmgy)C{^1?=GCv#b z;bFJpf~(8=q_KMYRP0>K@HYfIYWi6-b<>&ZgYJ&_E6U>0e9jEh{P)G z3Fhu%^s)qjM-ZhW<}?sj@IHoFeUEp+mu4yNacYw~enT z?G#G_lDhBn3+dG&Ifhz4kaTXZkfn6%x=IB7Q#uN5ajpwF*xGLx=y!xyGqbRU2)W2k@#pD$Q#Wi9%X zf%e-GFtAh6FAWKjz~{88p1UB;=zKrGS`6U3tj95@vao@A?vt@w4CeRk12Z&&k^cYd zZz{;!xE5HMwD|Cwh1`zV3s1BjU_K2iG#T6ulyv-}e|_buyJW$)#Uk_1}aYc*Vyzbtb_;8e|-H3L?FR|6PZ)(X`htoc8zO+-KwURB%0$La! z>;C1<>RnHop631>BjfCbfwzfznn_`qoGw=a(XGCQV*Ihbje?b1${V_S2+WG1ZGt9M zlD0sy_Kk>Js55IQ#ft4xOv$swkxg9SK>Z$!T{3V}Mnf}RC|~)N9?HX& zX=JJi2V!+Bo@)Zo|h;BtCnwF1_xagV+Bu~yFu ziuUim5jUYx)#PRbl&-J$^8}cknt!44QumTy4{j05S0gA_JE2rS`60OE7C68lHZDeS zex7kSQwZV*g^oU)%Vp}R-5`pGx`Kn#Bqt3+$t&@d>U8fC8yN=Moty`oz(IlE3-D^d z*Z|Cb%hl+7JsNY(O0{m$>#=r))&2g7^CfRQ5(Xi*nOSuQ{UO!h*wpx|fzQQ|%u6VL zbw=|!-qOi!Gmz5+6s*#o9`sKKnBELUa0d>QmWU6sd`!Y%xD#C{&!z4Z6wBb86}jRw zbE*fOP!qV^mxDj=dKU@bt(%D#orJt? zwCGYxRP*Z0*_OnB>FJLEE`XGn*UVYNL^#{o<}YN7nOQw87qXG!Pkeoc`jAWy+X&w@ z`0P+{{RpUnyCx3y!d4sE2w3o?KmmkKQnw91tZ=oo6 z=ZY^C5jps4`dQtc-+DSH`J(8>t%YmTfkbKHt?=>PioTvG1Se5wBU&rM6#uHqz4U{i zn>bHIK%m?Le=p1n>|FgB&VU#=0$%O@u+H_-td{1g>=^e3;}^nSNt@TSe6NgjoapQE z*dP8Sx=IV)gWHC0{M-{mJZ~Ps^HVa_7~=qQ=apm_9|*_TEXV`#G2z*&#{DANtU}Ts z(hA;*giXcG4}Z>KMNO9@Xd0M=Gz)6>9?ka<-)ZFr`rdBZA$*u)dUW&j#?IEn%IL&e zq5QeugS+(h8L((yJ!qvi@6}7``)S z78NkygofU-PvR|TSnd(fsu^T_1ms1`qKKUOAb(^&f!fU@)E73bxIY5zb3{Qm^pAL# zGmhz12s`$JVbi%F)w%~ZgoL@a-4`Q%HI{N!UIYH0EBc#9ddPIw@WXRv_lLNiPZ5PO zx8lp){mzvk(ApeJHWA(g$K*-PWN|KW_|I#!lnAsl^x%2z`=~W|GAGN`AJmrdVGOEe zvrGi>jzoOa@budnpV>2vl0lBMsNegzNVQQLzXer~xL-{GK@_YJ8A1j=`UATf@12NO z5cVfdsx#xeByehm787W@U9*<$6>LE_H{b_7k9K088*VyE9(D>#z@mqWl5whwpf{U%_@ClCp!e4=)gwSJa33gCEXodL<^C_n-sN zu=F!*>o%GppHOd6F<3_|*R|9^x3vZ#WK8XQ)2|(p?|y!l4{bf&d?H#dwotBP+DHQ{q`DgK;+o(8SZuox zNdt~CgH!<&oURcLoobW=*~$%r}_9mv*)1 zXINbtq%xgcjqm(5?ul(s4lx7PH;~30Mj4;opKkZ)-Twl_HB(|wsvO=EAN0p0dwpIG zb{-9O1`4fiq*CE%EwaENENWOG$gcir@6KMb>@~$~qh&Ktk_>~h;^%rPzkFvYF?xTF zB%x{L0Pre%m^$W`@`VbmCJeqFdl|f;&#_bb8l0?>2fqENk%`C5Q{bD~^qiZEhVB8H z(ri4(C}p@&mt!YS54c@J*;@^^QDCck#;y>Y{sB&pIG3s*sffYB%c{- zuEo8^9e#7O(GSR+OI;;?wKpsAtCf%Qx=QqfJ}-6dZ&zfiiD5q&G|~968g3!inYCxj zUdCNtk`nGgP4b@Ef|BV(H@MrIq)GWf`VO<~b>YKC?_@?sl>|=7ev~WSL7xa5?h<*V zB%ETF_StC)%z(c~WHY@^Xq-9I%s|l4&uTqoDf!4Dm zc{-o6jL|=}>~-aZ-bc7&a&c`<=F+YPw;t)f7OndyV};bA=9S!J>AffLmP6lNPSV5b zo|w#<=0_?%Wh0maVc40%hS-H~+PCFf=5{JZ*BKW_-J^*pyTT=AZR#ux-3ND`tD`0P zfXDAM`=J9tx-XW_AD$}oaf(Qq|N1$Cz_o{nZmx~)aE}`58(j*KX$Uj}Xxw<}T6mRv zVcS~DmQRWINO>x(c&64`uAG>iu^VcdaSi8O`B@EvnL)M)Gk~2go#HvGK=pj5@V)wo z%okdlE`{l49yL|Jvbnuj`{5wdpkbEU@i3#cSsr|TEp@0`KB=I2y0l4+kP@sA9dX*7 z(b>l5rpkWLdiJ=vy`A?t zFQI*j$?nEu!pz)vbbkB$I^*8pQalO_m7f$3SFc!%Ns`_x=Ifw3Dv7Qe^dP|#sUUsQ zB{ROUDaVO6?I%X-JP%Xp`HEj3=VtffrMbPE#J&r=ThzI4lqg8Y+>{(b?w^$o(k{I* zq9?PvHC~^~`Ax&OD#Ob%y*!E9jcBfkFGrR1Sgw=Ww@QABPpWvkx#8+XQ5Bf_O6pFYZOMk{rqwKs80i(MbHnfp~(^T(EyrJkR7ZU@jMsfTGB zHdw}o{6M^!j6c*1QfL}*s?{8}y)?xBv{mcJv{QfMv4f%8H@_1D>V%pZ>64=$D?gWAGuTZo z+k4KbE<9IC)ht0=#GPoJLAB9?oXZh#5^2MVc~h;Z9Q^SMCoKf0LAi@| z$xuN+cNyb}qPwX1fh7!_zmSnwrI!arI&C0(KZHxa;HsRJ>0@>o>^fehlFPYL^0?Pn zlZ_w#eSS?*yiqB^ZvSFd{9$UUFlV>OZ5lXKqN!LSt9WW z;3QuvWYn$VJ-^=n>;dFz5vOfpQb7KLz&q9 zdHtLi4z^Z68DO&S?e7gxsEW^uu*tN`uA$<1Cp3-P z6tHr0`}rcJOANA4^P$3@0}R+SFDIjo$4xMrMkRv*ee$w)*>(l4vLE?z5-T1H)&-sN zOabf1;ysKt$-Yo_$nb-`LaD=)UQ8Z*m^64?Z$?!UWKq_m{rPAxE$ioaV(JqZu9DiR z_PT$*HZ~pZy*cisdz?m=-WL~Ac^QkH6B-!4gZ#tN8owq^8`2Ew3Xjny=JCS-Y*7np zOE79$Wip1#3e{^|_)smODeX{axG!+N9beaK%HhdFseLNCQ4lPctk0J+noafFhR(g_ zl+fU8WO0&nykY$ZYcplo_Z%i>KY3rRciXCT*5=tMh?40KpgqtD)$$gb<7~ZYU3H%g z|93lYqC=T!YN+)oieQBLo!N4O;Ls5t5NxD|b`I@vwzk2EOUR*&hXC2FV5b84WS*HQ zjQf7oE%l=tvXz?!+Vm=MBiJkij zBxUoDee^qiBrRkQOzb#oFP2}fb=#h|yEHCBHQ-l&w%?}Xjg(acsN9?H=6z0_?|J^k zN3@dDy_erOgbE~LaGcTq_5eeG^QdO{`ag&lGt;U{QvvqQ->YNYe7?`jrJiM+tuIx- zip#*p_TPR>cPHf=2k8KS8RJA7Bsb+JUNFZuxGW`L&6eKdoB0uF3Shz2;4?@D+VE3Q z@q1_D-g6!pTt!hK6e#0xf=QOon9sKWr1+qkw%_|3>Z4;*5_ium#8IEq)f~Y+lKO%3 zK!xw)YB;}#BEH*RyUcp0-H7vSZ`#FX`jS!%^I}uXYLg^ceF(-*))-ZjDAxruSHmyv zcbsYXHJ7SrZH52$4;XB^<~=*6W=%2-WHXL_+VE!On==WM927+3D2?z(HH#ow90GCs zF`u@)gqm_@J6!`Nz6iJ^HQYr$Wc~*!4}*KJ&y&>OvE-JAqXbW;&mmM`eZC+fb47@} z#ev}$r~L~Z&koQnINc5WrQ#ApzK#8h-d`acV_(7V|AX+2Pl~(PYhLX9#rOd}fXgW$ zTS4&0Uf?##5@#PaK<8!7>OV62bRc_2MD(NLhevwcdmWzSRBT@&Q8;wsHTl67?ZpoX z#_EQ5w_4&X?jk!48Q!>U@`rq4Qk3QW8V5D+UA93SBO0|D9(F)w_Bf zpue(zhI&edLJR@H=d!Wt39FCxEU8JtBXunXVy8$lH`- zmH<_>quMC0E{4CN-QP(G-=Adl$dKU!LK&| z0d(1C>M+kx_6yRN*7oxAdmx4<46?j3mm{YzuJ6UAoznwo&C5Twe4=aqK~52ofLAiK zQBYG|8(o-u+l2itpY2XK=|+g>2vRk~csRuPor8Rj{5wIT1*b$cNfP5R4Ojs0kiYNa z=7s|8%~XBsZ8I;mhYEKp&u3FO4joc#S@2DxM zz+~|Py#mczb9P8UAJssG2aj=aWbyc|Ti?=00{#joh_`cC1zF=E1}7t}6mMw|tsKBY z#}K`Ig@~r@W;ZBtuSP~$nKvKKs|B$j(m0MUA%~ze>o9nT;E0;6im-z|ORzpPzbip` z9nnkQ`VSIyH2NLIy&}Lr`XKk${)krnoky#=TmmzF^rHV=0{xF?`ey{CW(!ao)Xt*L zwVh9$MrgCxP?qmyQc@cPG0n56Gs~IQU!Og~+ZP%Xe4;~MLN$w1I3@yD_oEW++||0z zvdXD;>S%R6uiI-wE|jmYYcQ&qhp8~y=`3qNAs{l|z}>xtlpC84Tx}ldhQ>NM9I%L= z9KCbuYABJ9WIJ#BszIqN(AMVjpn|>f1E0H2A8%aaxT|@9T`_fUzbdUM4UPzdeXS~8(FkcBlGMhWNwI)V63KC7{VjF2%@gbSWf(HvcN_>i{ z&nIlf{zr_mOk;XM$L$pKRG!MqaA0XfW~Ta+>9x71EbSQoOSn+@3>sZ+hwPoETSJau zR)fl=hsQc3dD9Tzc!*h)(*>k6lY#YiwZz1Eb>+&MEJaq2{WoWR{tS|(uY*=1n+gqi z%JU`5)1&-Pqe3BBqRo_{TNRbT&8dPLL`KEgvIuarv8 zV5lZugT_)T)3?AMa*d0Oe(jU8_-n~2utKY%nojlYU8~L^$cltGhH-cAElW}qbc#Oa z{>=~X9*2~(lbFotV$$>M94L$BA|LJki-?@B5nXL|GJ{GJWgT2jJ%UJpm>^DN#cU8) zWKe^LcmeLzUEkwHa@lRuN{QYw@LgY;U-1aw(U3D?HKV32?)viBS@^hRC=->jZe+b9 zyWY8vVW9MXUQaSYE*5#0L@Jl8^ZJG-8d-ZJjVQUBRVTbEWZG6oL4Smam>U{gNOP8l zOdEg^VT7#lq{cZA)xd0x9CSk2h4d_@6#`Ci8e1hq-R_OQf(=@O4lu9Tk07o<{E=K# zT8KIIKG+u_iE0L4n3v9RCXDOr-!}|R(nJ3se)s#{e!ai7CWkN#ENLBaWF{<@RC-#x zy8I5~@h9okp~fc@db7zCi zwoIy?man|I=D5Q7nAo|h242nROAf_Y=P7CX`E zNd&?`SUdi)hWafMBPHw~#05KsXn|KNwU8X(#?_kd@7%otL9HPL? ziFC1TCXuOQORV*iB)+{sV3juGu~Xdcy`*ON=oC&T0vv_j_^b%P3F7$;^!u5|AJv#i za?58f)jp}qe1|!-b75tcpFcFCZ>p6>S^;FU*`vtY@1W_7)!@Ol8u`;N)gubW5tN`b zkBvgA69qb2k$m;Hg>n@% zIi5bosKM}VvGQ-sNq8|}e5M#0C3&*3iSN#1 z7w}2kwgo!9x;xK9dYVX(qHu&V2_w0|nUQEX-;?|Jj{uciG>+i9A?uzB5-^^4Xs*IWc z`OA%%LCT<6+QbL%D-mSYrSql~D~hzCuLe%ps~afFe$-Dm<4tN=MZB2igS+9lLg==v zrxNEJB!hi`zc-mtZ{B#OG+B5_Z9c$&4!4qoZB|G4(Em@ zicH6oQTx)C?H{o(<;xiSd`1EgM$Xh>FaZKOVh_vb*|!{YF3YzZ@pIgU*FCmw8Sw%2 z5l3dNZicb-ttsGM?LSA1PTs`b_qcuU)jSCkM^V__{DvOmo$Uow@8UMjmrwNK=Srua zsYInEzV{tz{1_(w_eecAyrkLro;QE(J4x2-b7l~lW!vS-WqgjtX}zH@#d^OjLQnZ+ zGeU^;6vpE%yZP^^Q}VrxV?Uj<96ukgNVNYo^GiZ+dSlx%N%a)Q>8*s`Ii(J1C5;cC z_1DQtJ|e7dr-geS7yb!~v;8g)v0a6dS+Zuc&4{SBCWWtc&LRWa9zIfWAqCGK_;z;M zk+ZP?9wUm$ggX&@*0N^GSY)qMK9Kn{Umx~tF1%p54V+VtF!8*Gi`1K5Sz)OVg;QH*o$Go!6#CfBr`)Q|@lmvG%8T|+SHGNZEcKdX1E^Ty2u9h0?#c`p8y zJ+YEH8nQceZRIF_c#NaH9sg9Edsi4=DQUsHr|Qx953+P*X2?=73GM0SUv{=!)qFU# zSFQn4poO_(YUqlA^{U3XV$0=JPz!!JkyUV90YWyqE1uFFBk>(0VPeG=i*I61I}J*# zNV4`UJ_}qT4MEnwXQCSMIiDgOC$(v~ilg#8pD|kp$QuzrkT)K-n_5Isk$%W#}t||`2VeECAviKaM-yXY=G80f+17)qhNmj1vOcnpF?zBdv^H4jxfxw_Gw|~iAfLX)-WFPq=l7bWba=rSR)I#irkV<5$(U5y( z%E{hZ0pjoUx97WlKUWW%u|Q?0i#h3yC*)-~Zvh(>rBaJ{}0AME=-d+NL^YW8i-7)P1I8oyQCc4{^$LvG7m6QoSUxY~DKL~|kny}=++n`kGNJLsZ4ryMJF$r_IYx~z2By|Y#5?Kd?V=b}; zVLD6Z<@+^--|Vwi^&;_u#DJuu(QX07<4okG5ZKWDk0TBIWzF)4;O;s%%iW89h=CsY zcCNc&;6+eZ>T*wSoy+$1%k#V%+~skR;#4hK^*QoWV?*gw+zTE`eyz-zWtAUuB;)F@ z0x9DK{~)q=&Q*|P$d^YRs*$iXf8#H1d}5I}z7Ph_V*c0z4wpw$4i!p@iMsY9ycbl| zkC%>pYoAiIa0Of-r{i8kUz(k9;J}S}T?c!w&+9W`x&?QJsKuUmqfdTPg0tlJx^p7j z0uzJ=lS6itGlD3Fj-$u~4jK$MSQqFQ2C8u1d~<3mpzE63Mx^lJ(dhd03$j>Ips-d= z|8B6}yC)qW%dAE5E*pABgnPR4gQpckI6( zM7i}w)_w3edLccxIxK5vFC4KP-p!I7=VFQT@EKp7U1~-!d3uz1rGM>+F0e`9m9k;I zx7B=o=CL-CE5w4BQ%SzHm7X`J9QO* zNVT56oAXeLm3UW~P~>8gIeUE-o;ofWoD=Ov@R`lc+wz-JjGc{Fq|fwPeG#8={)4ty z`t`q3M_NR$nOH;=g_>{>`9RO!`_eB}>ob&2>ZU7Txj9feoo7uW{y}E%dhO4K+;}H* zq-H78!*qQfYqYeBZ3@Gjx|aFS*iff``St~^mhP0y%nT8voBSSzIz2h&^gTes1yytD zD+w-uSnAk`&~lm^3dy_?e6ja{DLaS})U`!Z!d&W-((?m_?#Y?HGD)Hiq5K?eoP#;Yh3cqe-5%M#jB=}@(Jkdv8 zZAoKc<%@i{rF>OI`Rh3PzTVF#kgv-Grby2&oTrtUe03MgP{katlL#zE1CHa z<@YHw?5K}6+G5Z;wA`-jyk^bd_e6sLyuTg*i?wMqK}X6Ykx}rIt79w3G5~Eybq>gH zsToopt+wlW=DzJ7h5d|dfK0{Gy>q6&M3zwt8ba_C8&QC*U zI(N}#k1oQ=9Hjji#ZN(Q-;X8Nlfbdb21C}jmbkw^?;XMEz{Eog`jIR|X6r4TdR2Rm z0G7?96yCS{*0ga|N25D=TRU^L2kpHvfb$e9laqmc&pmHLVeh3b7pd;8HtH&|*$i*s zEG27gxn=<}fQ;f1#Xm~4SuJIhruJ6i2l&ieL^T^3K`hOc7_K}+L}}lhe@y<^sd`S; z7x9HL&q^F3J_Av)jida4Q@sP{L{C3Il6ffEF&tnPh|F2OGKr%*NZ`H4djKSw7V0cI0{BlC>R>g{zZ z<9*2AE3hBUny-AN^#iEft}A9ve=%>JdTu-XvHvG>_+=*A;Mbg9ipIJIr{m zFx-3IDclG-(dAMnr-P%gPfBeJ?SFPYC*9Bgcof%!2YrCrRVY@vd7)J{7^+5}l*4l% zck&xZtoF60MV*x`=ZznE zfb>WOwfC21uevQ)wJ+psNq6Xb&rf*&22Vrzfylpdedr>jCvpNour#KzBV4JTK}Q`t z?hOsJ5gRUe@WAX_m6mE!8`394gE%&y7>$21iWJ)7-!Bk}|6F0vO#gxVJ(tUqxiHa& zCbY%Z(?8OS414O zww1a0M$wcGI5>wo2Ipyf4~x0=AVm6}is<@6%eC}Qu?Nl`6M=i!Nn8}_+!J`Dz}dkD zWz4M(w|j1^?X+GItyI8Nq*&w0r%y?@@VY(^E0|ayRrzrcdd-+BqmrSsbix+rYKD_c z)|M79bidTgY%8IWq9;6n@JOHo!-V@8rMuob5bqAMELR^o%Ue7T$$l3s1Zv?8CgTfM7F|1%c@xzC>G!NmiyGYJ(hKpQ~JM{++G%h;g- z<@l6b@K8n}sNsQ#*H6a-Fn0?*L73BW&2*7DpkFd6Ij7Ez}=$O?wGi@p-3;w3F2(kH9+X4zuUxy+plAO9AxmBH&m@aiW@U!doO z$QiUWNl*_y170pNa62t(fA-{xy2(fAjkqCJIq_~)w)z5R^uug3hPQ4b*;YZ8X3$1_ zZja_oWA4Leh5r7D3*2P~G`Ae(w~WydYI5aX2it4agX?$?<+W2MFxz1nSnZ+2e-P24 zge1ba@z>uD$o`P3Pp5k)E!1`3cH|-(tif@9lawRbmDn<8$~I->N^P=oaX3v8ltF@~=K7x0SeGwKRa1ahl$esl4>;S)& z{#9QY0ar}E?&f4THvVJKL4FwgraYQ>xwkd&VLx`4AGSz!P!K1XLR`lh_Q7XrKXg6B z;iqWtzYblj`^-o2KLnz*{*+Y>XicUm`GV?fe5<=pjf36fxN5_PIL^Ten+`IJW@eg9 z@D;d;D_qAG_v%_74v+V&wve47%Uy&i8J}r z{I%lyXx`}-%8=hxcpg@EOKcswCDnFF8QO}f^vlI9oA$0cdTT=*hH5L;9gPp_{2Y`H zikv$3%6Sv-04m6p`4#ueKn7-D?a%>X4TWH6ffvO4lxFaTL$v27byQ`T|Bhx>w&t+n zPoe&($3KB`!f1%NnaB~e*W9|A#~a)J)A`}qoQyg;8p|VLY8xOwGJ~NTFJUSpkJ61} zPRMcN_&Txt=*~}P2)Bs)P&(`o8;oT+j&a$6-%pH+A17V-jWiE;oHQ52fMSe8lun@O z*d1sxVkAuM&ah_w2=y4Ic}O84t*C?mpTCrSVSi%+`4)tZgco{~&MyH-Wc#&Z`|$Y9zE>x;8@gS<&_F-+h8}iQlZuaq|`m5T&0wS7=U2#g*r3 zU&|4SfCz{8S-L|CD%s6s!Awn5xvU2AMSjH%2B7ED$CH4!fJtRvC>~4?ThSMlO-GAf zi+C{}H`5Q;R_s>Z*E(w0B7!7Vd@amq#PhQ&G^hkpedKGlptTTT{kNk&ml8rf)No>H ze}b%lI_-pzM*9J@+ni>OyB0DxZkWls7uwm;vi~~VG%Yrh2MCQf$Skl7O-BDdxjyAI}xosb3z_wPPsqB;riPOpH^ z*84LdU+(x^Z*KncL|tXSt3)!zgh^fEwmX&L=r<_AHZg&-iJGWh5NNAgf8HT5X4QL; zDT;KhOwBKQ!%Uffb#qxnuVCU29bYwD7-SU@fhJh^B*bsU?ne%-S3b1!hTgdJW6WxS z%8?5@^c)ZB**{J8$sX<{ZEQx%Jk%Qw`utk2pPOmnH-WuEjrkvD^iFsJuVFTypv zR`3vs$PZuCWGe3g!az~0^D@@|1ws^FMl;662*HHnecx6Y=*L~#J^jlKCyBj?KLE9?if zDTr$D;>b%Lhzn%;LSl*bo8Aw&S9^I=#PxYoZR-{@sp zH+1<5=YvlN4BU5uc<_Z7<^-e=_+^q5dgA`p`@F$DW@dx2AIoy(V#;fs)4!VZiNoL~ z`Ht3bZOFi&tIzEsxjv3fLy{wRCr+Iv(;=Ij@hKi)=8l`QU2EJ@nw1jV5_?h0%aHR{ zS4v~to?q|!k?q?aH--AQf1>mz_&8iH#!w1sjZd}QslDo{Xg1l=S6Ir0v|bFFUdtk+ zw6bPAB%djif0;ZttO-vLr#YuAvH=;AQ$E-K>d_c+xbT~!?m9!fKW%9 zLliA%!jCyDgF%x~Hp_S|1bLw!@i7x%z=^ZNd*68h^CN&kF6|c0QV9vQq=5bhIcG&s zI%c-RQm6m}oe#s@@l|S{jlx$p<8vfXiy%`YD9XBIW!+}zuKEg^cnU{$fFRZT5g*Wm z1t=}5@1Ptt12VzZ6I4rT2n+B?m;&293=Hbq`sn8;IY_))Obzs**Ijv4m89`k0I@29Vnb(6*biP`H zBK9`9OUs6Tx{lk)6-UeiK=}x#sqwhh#9a4P;EgKcALM@J zCh^`$GqEe|@egvahKhusR2+@aJ3TmI-4rqMj!)<4E*Nt#!3p-17Y?eF<3vIUNDD0F z3qaGzX$a;4=#d&h|E#FAO4jXidjZd6L!0u{mOOjH_D!k zUvPs^t1O+sLL&bB0-;hC$v^%wxW#|^h@OS*?bEM~gS)1&G6mqwL?P1>*QkO-Ify51r2Bk zk`3I!%S0Zo)WF!bqqaW<6&{p3H*l^t``FtAB{FO5jBUh5WLsN$+1v$abNNI87WpG~ zb@jLH5bA7*hxZoqx3ADw>%32R;>%4Gv%~cMxHX;gD*3jHIVb!LcS?aK7SuY!!8+01T|?m zKpp6J)k)MVIQ;ZSbeKKYd5&XwEIu{zK`P0Kc=6bNtpb&P7fy5W+L(av_n#_K7 zqaQ&V+uezQaCkmoHgNF-5IIouxW0Ui#nrv5kjig-PJqIY4?cbmtaCcgCI zdgzUxeneqCXS&02w1+s6>mnMc6*j{@sjQh--0^th?Dy$fsc#AzD8|{-bCOkj^@-*h z&?W@I2*Fkt1HTVvZrJAh{OOtWgskWruMZFk$6gWA9tHFa!t$A@*amLtmh15&N8-N; z7=p&qC_D#Q*hhs(K@sdCP_=5@dp>`>_L6bppeU|Q|Ctgf--@1s0#C({D1)O>pW2W}aPdonVegpS4fkJKcZ^C_7@$9GM?OqF-^}bI7mH|%%`zQE2GNGEPUXUVh-YTcI9H|FW{eesM2T0F#2<; zQJ-6Z&->N(bp??p45wwpPGw7A9{%y|_2e*ysN@$V3r+IBoY$*D+dCLTf~1 zI_4N%2mO78xn7L|&4tWKcYb$y))waNZ8*U3c|t-41BOa#sJSn;$tlQP@w|k=Od6Vd z-xkrC=&sKBGLy`Vc!)Ac54&I@QDK~<*88T%y%+kFdlg;c84L&$rLQ!U{JHZZ^9!9l zb_YjtG+1}RY7mWtWtd`4fL1DP_N-DWcd&0ca~t|^J~_EyMgzDXz<yUiQ5;uJ*HMFx>uf6nyVN0Rj6OK2w6=m8Nh}eg&nc@c({kJ6i2V zoxtm}b@j*v`NW@QOLwj#{(X~Bh~5@`^p%Ajx1lRjt|+I#_plt}N|j>haWtk_~Yqy|`^P$Y}toKGws z9rs@P>23F|caMxTgnPVO6N1iDQ~XJ)8fWx^z?<64xme&43ivB^I$Q%Uk;=W?_YpjoC zhy9M-Y5Ge4E1>?LrRV?o=NpDV1acw-`QIM4v6SBeR8Us98=C9ylzFE9<-))rh~C}8 z2=#MbcqvuKfl<5u&C7RA*}uxX#%!Vq9SMWK;az=NU7yLx75K;H-o`me#$7m`rnydl zir73C&$9v*T;III(9AWSt74mLMn8ro7@+x;Ui^c2ti!%_Ewof*8H%hBdt*)=H*CuK44y<%`E`eis=n- zl!k@VJ~2x*yOpF9Y8_nI&s!I71^VbsnXY@AuCat$+3L9lvdqC zPOk(tIlrn+$6Op2WLZ{FdFnxcY@bt7sU1(mD?1#h^nmvmCvQ7ipfW_(TQb~df%QGO7e znUrT3qw~k|rxx4rY`=lrlfV4(c2R03@8)C_}TiiMGePV3l{OSRu>VnwD{twB~ zEZC0M0Z3F}Lu{L=JnwqY#^dlA+B&MAxU}i$H-{bfn;Cu4!i(cw{nY=i^9@Q{y8AD-m|ulR$$lQV5|f(x zezGSe7cNPNQ3mFRmzQ@Gn)19ayF@!D-8OB~Mwz0RU3Nm~X2;}m@c#8k-%6AW;9hNQ zagyc_M|TeigB1PgDAXFSHxPrShpBiHQ544IqRP>=YW03?XD`%gCS75_NDA&((+u`C zZl>JEX?|a6>p{`uyP5r8AIbT0fqx2v)15@=W57v{xHKV0mLbOSs$NaBtYthsgWR~$ zhD;e$~xYPEwr@y;1r z%uk*$j4**LubNsH@#VUUChaw=B@LjBO8PFA=$iu6|Dzcdl+t4{B<^X{M{DF!3A|b_ zoY`HBEVT27K#x5o3N{BzPwGdi)Jl!K-_M?HYOr+x*Gc6tV2cOfl!Jf|~-MlWqF?HGUnAHH;b($*$=c!f*FODlgg7yYmI3 zJxjyqp`XO!E7j;p@?;I%=hp?sg%0*NIk~Ut^9qIc9=yUXUDCbMS~by;Y>eziHQ#Fz zfrS%-^$D%g(f)>E12Unn{Lnvb=hbh~g?507FrMh|HJ^yr+Mq1>9Y>aA{qDLG))v8h z%-F<-9q}Ow^|p*%u0eALe!ulvdZ04yF;zFDxhgy8IiSaxSpmEKq#%nvDn|#BQD9yJ zFF~d~sQgpQxvZ=7*Z<@RH0`Y@>_ExvwvH;$wd%R==a>jwADOWyITw9wu)D$&-!}Mo z&|n){CNiwzuNVgV3D%AkQM$pLWa06qaO0(6gyBnv!sn@yu{wvd}! z3B{I=655<-6VNJ|$H@P8=u3SvvHbsiIA4!9l%q2remmm?D4dbUwG=)|uZp2*#Y!xy zRB@I+GWN8HE7$zqwtb0Y&}pJ&~WG z)JxbAoCpPmYPM_=A)9>uQcD^YdMPy$wV4D1gx+b#7CY9LCUyd#AP zoEaZpZ9}y!yuJ`jzo7-l+Kq+?W}>}0E-C89GbVsEh4N8p@SWw@L%hVzWB>!c+I(8d z1s?Z@QFDRE$IQTP#DdUEW|^K#D66WKw$~dp+p|f_c=@M>ig3YL%^y30Vnj7_JaKoP z#s=cOqWun}^AB|w>4KJ`KrT$e(LJe*N73yUNcvAdnl&AA1!xN>%)$hOh{s!OMg&T% zmqg6%u+R0|U3%vq>%%_xpmdR(1HWF*HcFX_JstCQdae#zp+W;LS|oxRU>yikMI?LQ z`jgJyDfa@Ztd-zVOds`VH;Q1XYW|GGLDsYwfAlGSa9~67D7onoSWHplS=itIAahIx zdC?JU5pn~8y}KCZrOXrLet458bpJajK|^$&|2)L6j2M4eqT*vCSM0IkL{Kv^M-iHH z)BN@|aYgIq-}mTgndT{Uh{|DB9xz-j%+s~=R|py`&lluLYFd!87>bVXVLGe4%m=lj zI!mge>|kp-&bxV!_q{)DUe5=RKxw)&XwL*~X))Tw)C4#h7>LL9QC~*4Ohp9jEv=e= zXz}4=e4Thrtq+1kMnuCUuR2X22_1xO_aKPQEU_4S^aH8(D~)?^Q-c<*WCBZl3-=Eq z?My|BbWAW#Z~AK3SbmvMDuL!ui@FxO3}!7Y17~l`n-xns-(+vBl(0_@)j(nmO|KyD0X40SO;VbPUVG?AIg?8T5whH`=hM|geaYoIh(+=L=##|V z|AI=(?NXRj+S%={dY@W*$hqh2-%Cn7gZ@D(FzH~@oF5K!UYgE!94W4T+pl#7be9rv ziR>%l7`h%6(09=ff^ooUO(PHL^Rhbv=%v~#9u+%GO2Sj&F))*cel7CkGe9V|u`@`} z_DMPrPbE)|;-Kw$An8yPiaW#^C+;Tf5V&FgS74J{?gLt#Dc>;SRz1MwRb+m{g~iIdhC+ zy0$iVfS|^K7{~D`RI@sTyQBp%_NL|h+lGqRzfGg!&Gde(kNx(r-=WVbJg}?8oY_V` z3BRYoJnMW**+;>)yLB_`7vSdtP4x%n5`P$~-kM>+t(DU6VRZUViqbGf;vj{wDr6t^ zv8iYwS*`n3|CjY7#Qo7`6ycV)iJ{Nf*O6iF*T$u7I1gdr#{_qpEyXO8;y(HnuuCm| zhGw;o1}aY^xvf4wmfC~i6j3v=nV#chxh?;ZYlG9`lLy+l>_q~Zv#y;uy(!nZv} zHh64c#N~meGso5NnX<15c?#2!6!vLY4r5h<_dOUX;CQ+OHGoqj8_)G1+Ib4UM%9*1 zcs~8e*D!kRjT5ps4AysC2sGmq7_n?=8Oa7G#Qcp@+^ln6(o_GvyE)J#Hlnbu+iKgs zW6_kmzx=gF^^MQZ5diC$8`eEF@ftv~QF;Z`iNhi3Q*4C2Uqzqif3bXs5AEtO!KFc- zRqAszq;v`=C_Yu^&=jFiBu)*9di*?{7ZZ|MO7(<65sbjtlQSJDA z#}dUhn{knnAMFDj&zcafoc)!T5q%&TxVh|jm`^m+CaiyLE?y1@FfVQYEoj~QN6IEg zgSyl)j2WO+z?Q0jW&m(?PHHfzX86NkR4wwy^!f8{@Ox(u^@Btf>LbM-y~Z=b`Ozc0lAhirpHX2{Sy8ywyvC9Q7Dt=_||A;e!?^lf`5!2_Hnz@jZrp1gi!xt!%YT}#8OEhryZ zO4UvIm`wz16T8w^!BorIQsx%d_=dvE70i!U{2@|GjW9)WxyoZ6NKmcBs@4FTCiTOj zQkNupt?%hmGw>-3@yqEkbU@fvsgl{~p?MMq-wmz29|M+D8bYo@`Ca@gA7x< zhIk<9!lK2wJPQ*{>vuKiOTJ*ICkqB};<%Yu3e}DRGiTs?`^Vp}58x$kJ^FGva2^XS zLSoGXPfn^}Bp-uZ+o42urhtLiJqFyaD7H_MybLaOJA5Sz^m&I1iZnU=R(oUvJT#YU zR=gp|AE;*Tb{I1;5xRRGz!+Y;7C1OSefP_lzg248g*@}QRo5i7d+z@en*2B8_T*V2 ztEyd&IOvjl-PW(Ol>Q(=oZ3!`ai>E-pvt?BXFuy<@L`?rd$^qA(>WRZ{46wbL*%8| z)~`2wNpT+%?p-903WcdZm#^Jk1SAW|Fc%MTb}YwI897)d}0V5+G>` z3asCc8-6c8ZXYd=V{C78s)~NaJnqM|Z5%k-zL_{BP28KSXmo4Er;a+hMCR9B4*6`W zM#oSCwA40>~$tyqfOM5Zi?D*zJkZQ5UGNO58v6lpIu8!P;U+2asExQ zUQp!J`n4_5Q2WN2W}%bHX8+Pg04NbdJ7^+bN+UNOc<9D0t(^}-2 zKpzTY{1&cdTS5izm@xOm60{wafnJm|3iGSna_<6zI?U-yROPh|2%j4tz$%f6^}t5#92yzC<{BaLCnr zQ|!pr_m%+c#hpOTR{g}rk~_@gs39tHi&y`l-3TT})>n-3!V6ZX=Igl+yEZc8TU*eW z5dg6Eo_l@tqX>fGwq3x!Qdd1-$SpR+#XMFIaZzUo! zITwEc-pge?4pSZt@C*)NcK>31VNgcxtr`rQgJM?2C9eAb9Nj~*N~KDy6lIUsIM=mT zya98S(;6W4Q5izjJ&g+nl5E)_^}0p>A#XWR)}M7P26!O*yJjLyj1JddnoxW857h;vdtPTU5g1ssh9mks$9G9x;>y?<@U4aD5$43PVEZZ;R# zgoc5GD=fn>bX_N%?^}V?qx*Vv5Mk(o@mZ7Ngc>SIHsh|n62J+e#WR~pTAQg_J*iKu zq>D1GRL;#X@yF15L^SnxwOv_>wxm}-_UO?&eec2EV&2lvyJOmXQG0pTFCW8sBJlc5 zDVJk+q#{n!GszAit-gKw8S?S5pLv9zg^Zd&Djt#q**!6kcR3o$0-6H$lLH@kPY%=2 zW=C%i@|T`p8-xL7vcJ#={!`*qYQ0n5zklOR)|dk3S9?_6zVjVHYrMd#)9Eyp+r@-w zB2wW5I~l&(_Qo09nT|(Ocdj=6Bm{jSRmSZ#3vXeESIA%t9Z^DT1Fnpgo_*TFH7ZX| zd)Jaw;uMwDTzFV?JG_lb6in}Vj=t&p7W?JTqZswBZ7k>~k!>L0@R_E%WuAJAP>X7axZsTR#Ra=A&8dJbTTT9DK}EbBi|qz<-Y1 zsY~fe5gE`krT0rQD(<5KL_mN{y7XtBU=9vn)=-RrQ98@K(ELnDLQKx(#gvT}u(bS7 zSLn|k>yMvtRz+)aW0+Q?9?Q@WBivhxW05OCEHuuCmbh8!EwN(=(4f(y2pA@wYhGF; z&7qo+w&BROFMLk7Vumlor)&z#3^|4IrmWg{`x}mPPJ2I9uiu+wj|9$pwd_=Xo7j&r z6yZQccb9>Xd+#(C&`AOt`sbOA-|4l5VhKR4wLZ6bZp!|5$jwgL>_4&Tn*OE7GpDQN}(DKqN)j!je5-;8$zwdu>lIPiJ z!Sw@e?%y9x*SDG7J#cP#No9S$LBlc4Rh6VK*)J}*I`_+S$KMNH#~Dv?g+(|fU-FO} zG{ZbJJibVBx9(#u-&maTmP`$D*2v_N;<&Pr|WmgoigYAlm2WFC@ zGXTQsiBRN~AGSn6gB1wdNC_A}%Ep6`dk92Fc}3l>p`x-f2!I7xsP?h_F;>u@B^2ZVvF_;?`AQYF8A*uu_VBw+8@ZS5_Iy zlf`3)h$PerLKJgTC4b$g<^Yb|P-DL$XdI`9#Uape^ZqrxA}f*_j_n@@n*T z*2}qmjg@p~_Ylkls8IC*L?J)e2JrmZuGv?ZNG8zuEvMRGdX>f#+h}DhZ@v?N z&DIbo%bM7x`Gj0$L@Y43qDX!1Y%gf7(=Az4GmuUCsU2iBFSj{EZQhi)Fl^+iSkTu# z&JT}(!EfGN>WcdEUjERCVK7jztVG-)O)nh7~B zWX^bh+!N&o@_9?fg&#<5zIl1sJHuqp4tE}qI^hZRBJ`nzVxq%J`GxTOdPK%Gw!^1^ zGUo8qCdq8aAskD|A{Td13PWUDl0^mlN;|)%9vBwyWku^KGKV27wj(2EkwJn@0uQg= zi!G4eeiFH1kJQoO5Y(; zSruR;5=7dDp{MyXt%fNx$E<4d`CM*>+m3Ub`jDOhTOr*s1 zra{my^~Q<#KFVnwafuta9*iQot<{b{8LoodLSTMXucURVpGQiDM|oC8$Eu;S{SYe$ zrbd-t>l`R3jHt@G2$J&h4GRHk==cKe@W zdA0%kHOWMgYT&y96k=fI3&!k$L--;L--7uwulomzE{+9MRGFQ z@GqB|$rIC`Gm*+yliMSL7nQ$ES!N!ZyQU+y?YP{NTI8Vd;`>{Tj(v(!+wupYEC4u` z&-$+k40rw1JNH$U1=I#fg@N{B10x;K*UN@=;3@n$Tf=)?hr3j^lvCAv2 z1PogUk>(Itmc(U*8d}bw)Kj(j%@x*REJa_rk64xL@X}st)JuD`bn;$GqOch zw0$wFk16v?!{rYs04<#`W7LWgqVbY-JMRI3i|dxkchhDrt^RPCYf293{eOKH8{K2yKh)MGjh%Q>(+RycuQ($w4Kn#dH}Fld$LBSM$neA{+rXee zns>lK`{kwUL=*(P+(`yk_}+slZbBIA*VcFLljD}9Q}UFE+wyGpRwmwJcT+V~g_5VL zG~U9uudxn0i5&G|Ewi5IP;dqk8FqDk&ckO0p9d^oJ+G|X_dzCupB1fk)7*~im<+?S z&ucn&)`i~Jj;;`v%{_yLFzTqwJHDv4a~qb)RttK2R$O?C!-F%$8e>02br%c2Z=DBw zbS*3uK>J9y@i@oSDw=M=`-zq0c^j?7m_wFIoakS1OiaNM}K~%>{ zJ*@Y0Y8rHi=KTKIvLfb~&|*AC3&GCL-rlOB5W<31Fc|n-&ogU!@Bki{08R;}(|@1* zL08%kg1gNPP^Un+QbMnU3ElcpOzp20&+wzluEV1>7h(GdZ;E2_Yb#Xy88Qq8#deuo{ljQwT4a*ai z%s5JxPEqD^gN~O0R#0Ky+|o`Y3ed&(9rMmwkGQf6s4+8DJ+8o5$&R#y)mgNRbLNe8$!tTMfBqg}U?E?+l`YT%G5?2cY1Y2j z96f@cx?Df;^jW**V^~19e*tvwB)7biY{J%`-cdMw(Bf8rf7aK;AnS4%i6CF3rq)p0 zR<24yuu201`c#^GJe=Wd>xR{rE>_)og!Fi15k8|wSn#??*Td6&&d9d<$3YjoPelY; zR*?RhvFNh^2H6bzJ&M}lg&O=A5^0tH0~5ITP6 zI$&3S(Bei_Ar%~#s%iVK0W-6gsfF4VxRI34d{Mq>Wkw@r|3Ee{53&i9{q)EAqdU^aVz)=N05-P3(D9IjGzHNFoY`t)$C#qi3Tk* zJH>UPt`z<91S4x=TX}JNufzsz5&3T9_I3d2o2v8SYh64w)NlNHOk*3YAO^B<^O#h^w5%da>t+06pNi_b1L`)?fm^uO9D-nOdH zD4XYG1!Dw7MHa4m0L2Og!vw(MV-{t_V7S0?Z;*m9wPzd1KueEC` zFSX(6V;d?A*vOU=@dFN@A51Gr27PS%FJ<0o-PA=nJCr-aO;}2-mw<2plZ?B>;eSw1Pu{U|N!7n$CYe6+_tvM9%GLKW+ zL7|DQQsv7`%L3TXCyxh(@wbwEIi;hz*Vx_+-ZSm7&Oc93RIEr#DrCK%-Y%Cqk*W#f zhU``sIpidqd1LJJkT0fey}Ux!B{-k!OF0jAj>dp~xuic=2RZ4GHPbBjE4cV;RPWld zKF^5HY00{MNV{!)q$R4&Ya_g9NJqHjSq9f(6In&e?zsAcb5%&U;dvBI$YZ03`emxp z{58zrBqUnM*r%kt|ov z#&!6WbtClB=ntMgjsvuP%M>N>c}}ASYW$4uF=6%ON$j^5qn&#$9QrU0@GAGV9OoCx z+<M5az$@TlmL~IqW;zd6xcrL^BB_ZWm2q0W=Zf zR<+1A;prld{06^xQTFAFj}>NMEJu_FlR{*IagZ()_dMwV}Lp_1Lbxoa)!9f7TZMo)HO{{UDyl|a8OEw z?0ON{;91ip=xr!3n;K|Q{GDWC%=ZpYRU%C`(2J@H#<0@nsQ|Wvi$L11q(;YpqTZNb zzDaU=u4FcQSK5x-B9zvJx#TW6RC!Uh9`h*|)-`^KwzzFf&w7@I-O-^6jpiHVMnvUb z3;{#G`BsgptGnN?WnH8rQ0K6_ehqa^ImS;SzLsB-I8dU-QX>7zEen@C0Qg(~yukg} zkAc1ji$*_gF99Uie`~_^kHq`W$63(GDS;$nzJ9WEUOZ^S*0G|QaP_)VA4-HDE&!(6 zUU)AhYfo}zr&U~fV+w%Hw^sHl5#ZkMCBDzhrCkb4Ft@NWTBKj^o@X1zUvAbX;&GNS zvut6sa{_@I)A+(Km!y7b&aqB?MBu2}8)aqxWSl1w!AkfaLxlHMq??qZ6SnyEc7^E_|kujlU8SyWUC@K z+-79?El-5Pxg(X0^CPU(8fL-*9$t7HvaFlXG zBIW{p*A^{Pa#Ov#fmCzGW8BDYI0TeSF391$6J48KYd%~4Ee}9flH$6j`um<~{w=cL zT+Ui(D~aTOV(2a}AK%(@@5xoYeo4k{rR`fQ-0@)U_!eEbqqi5k@yT&bd46#g2ueR2-oUIECe^B(vTUTyu6DE3t+C?gjCpf};bj2U?|Vc7>)qFc znMsVCCdsG}IM;mGg*K;O7jtfio9J7@Sa1N8GN^W4Dlz>@1IgyNL^d>-$hA>%_rW$$ zx3;yrtEjy2UEy_Q>x|Sp_BAhwvSqDx`p~M%!pEzw` zmyB&5DJ&P(Gw4GNLxU@m=zkM@w|IAHD9F$QtE26{{3IJ5&Py*koGA)=cHRLN6w_w+cNN zy*B*Iv+KD(KhmDAdfq_Umo(MMYFHTqd|GPgIi71MujMFY(CRs{p<4{-2Y3u8)99A`L8^;(foT@<9)kazvY3`2nbKT0d611}SnrO7ake!U0>9gGn#}Oz~ zEQ>m92&|&zNV02e^OV=VKQg4ikc2jXIFch(UyL%qzR<%Txr@I7XLB)$CHk&l3*NAd zqxIrIRzqmNluv0Hw>Jqe%@#8sPCA!+oYRNHxH2i!o4K2d<&yRtBtB92NPyrz+8!#( z_ez7~)4s?e%rY0e)AUL^E4|m zwA>(Ny~HGDB=!!36LQg}8EOToG*`AL*?U1ekPw&)aT$y^bh4Vv)0zWv(q?-BBiV*< zfaim#ps;Un>4o>b60?$;fkeC8O!bkXf})z&Wz!80OkNo?+^xLV-!#v&niE#LcIr5M zu4HZoLw@bpU0~9JjhNduCjJ3oQ@!1|o44=}dEvY@;t&jyP^Ia$4yCuO<8~)m=$2zO z%gep7i<%y2;W%4BTkdo=?;489usi>Gbgc&rB#c=sa4cf!f;(wOJ6*7&PaZ@~{E9`K zBYaTK2>Cj5b93u19heyQp|=NLbh z`zP=g0oLw+T1EV8Rq_9OZU`d!m^|C+B4dwj{zKRVhtJOG-6D{$Kce2vlr~g<7@?Pd zw9-Wl+2BJr$~}cfrat)%`TX?8NnrrT^~jmP`Uabd!YxU_k3mRZ2|2h(jKiARsGbcid-*}C zd@pr0sBLDj4%j=t|7**Vl49i~w~+LxvBXMOUdA~^-Gmva-d8xMM%bP{{rg>EH?Hi$;%MnmF22nOdFv(#tJ`P;9KVh+rWk)YCUAL>RQC*ri z@ktbmty$l;Zv@O1aeSE0ibD5zVe4XAgdL6_Y=c2NB{*NII1ry-ll7WpQDVh9`@|f! z#;6vjd$A~9StnT$aQvz!-LJxrV7h-ps!nHaKIoCbs<6cvmv8kssWodCDpBpS_O&U* zGXf~yWP+RJvgXpsPF1>3(P4+2QVWI90Xre1%taG~^!{0XXw28gp7qVg_lKOScJr>_ zEEdk^Wb*ow*Vc=FL+(ESm5sLT{YUx&ll?J2>jjUE0R1{h%n3Ukr<+GNHs=q|bpuVwI4TYkEfW*3hhR}93Y=dzuoTWC+^_du7IJ95aQa*ve3MZTH>*1@7_0m9-3Ph+UWKVxq?MCX!m@7pH$B{j>-Tz|KT`7` z3GHhGs%pf_q3qn4J;ps|<{sc50EK91z3(kHbbflh8XFMw7zs_(SV}@t^a4ydlI^US zV@jy3B%=c0Bf!}Q#zp|R22o%snWG=t+g?^|3bFC_u42^cHY*Sywm?CSm;J?6b)KO6 z2QRj6=P4q#S~j76bHG)^1YqlY(zG*TW0{q90a_5OIpU!<3#K9yrm1CMMD1;ti4e4A zA%m%I2f(2jvq31OlMw(avJV8Lv;uux|7KZ1g?^Xa70ecZmDmXCua^m*W|P+H)GaHB zOiY2;vRuEW?v|uv!&lE_)L=D9252;@?+Sd2cX1O)TKug@|A*ce`DcMUdt=Y}<)fvs z_G6-jN-AX?s1xpDzB7XiWopT8!>>cz=k{vNCdsqKS3A;kRDghsmkMhyn_s%m{YlAZ z$pF4am-${3X_ro)wX*!7=q&#Xt?;@aX%7z*UIRL~KLSzg$9#lMGJk>=BQ}Y2H7{8B zDqKM~+9%}ht>kWGu(kevzKsw;C{XDJfel>AETY!DDtKkl=;_G3mUZw#N}y+Ce*u7y ltdh({r4`H!eaaRJfLR3`i4PO^Yx6Ck8|VlSrX+uV`(K?B5@-Mb literal 0 HcmV?d00001 diff --git a/src/images/deformitoTierno.png b/src/images/deformitoTierno.png new file mode 100644 index 0000000000000000000000000000000000000000..50c8fdb6eaabacdfffb77956f393429c96d37fda GIT binary patch literal 19350 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 K>~7imrTh;-i&XCb literal 0 HcmV?d00001 diff --git a/src/images/home.png b/src/images/home.png new file mode 100644 index 0000000000000000000000000000000000000000..5b16d137e07ca3ce0a53a0f27f4df9e4669f47ca GIT binary patch literal 2219 zcmeH|c{JNu8^?c12o=UwLDAIK>Y$=2qhl$x#?DMFBlsbeE~ZU7hEg=B>Yz%L2DPByOBOEnAY%mf;sYM(;pznJN@iup!vX-11+h*JKVH83;oZ|m zr{gvIrk{}dYYyC#g+(2rvbAWwN`6fzzc=e!|2yHk0rj@BZ$STW zcTrfF4rgrM2irNim;;P$U80WM60VZVaBqF_pK>u5dcmQ~(I5tsd2WsY%MQ`? zHJ*ggsD#N5r8r;08vbZiuLK+@mp+FMWRqp4+V##jfm?1RQ#9iir#nE8?A zB%!@|>PLAplr1_u47JLsY#+oxR=nK8h8U0)Py4W84D`rB?fJFGWX7J}_cj=Q)3uou z8*6@{)Xa{JBj1os)E-v(gmSPdC&@4hK zWM%}f?zF>#@_P1X#zPPdBeNg9K?pJd$5Zeegx(sqPTLbanQ%D}t&Ffn3FQxhe)I3& zb+Jqqw%Z*w@_KNY@q1tmc}pL?BLE~RlxG@?hj8X~9A%IfQ9O%d`00(=GDjHl=Ww3w zUOGsH7=aB|<_O{eM9(fpl?Y^a*HRUjGKlUasxlLn{j7CR4##2>4`W~in$ct-H#H^;eOc^RjVBgo1fTvEUc{vaSA)LAh1}C;;J3NO z5!dnP;EdpCBRJ(1_3U*}DY%eZZ4B%GYtSlG!zM1`_1WjF1}%(_D*R?>ak9H6I*uS? z6hY%3Z(~)-@5K=gSzU8TE9EMz^Z;ESmSy83iF}*5jBE`JW=`3(30!)mcZFySgKkD; zGV{C0Q4@ys=1N2pYiE^o;MDT#IeB259#txusZwZb)-=<8L;t08^-YU53~Jnwkbl&HlAN+AdJ3uklI!{SG$W)ECJ%GGRszZNnu z=tX}12PEfrVffhhGrc`(uVbC?ZM_zYyPKeJ4d_;T9aqsGCk{VB8+f<>8k4<$MTM(7 zQ<9@RA)w3X)zj{H=vjN>3P{k>yPIIQ+D5E5J~Qk5(EzaEEh>-6=3U5MCX&2*5iyt6 z(p3Tvv>vBB_F8CSXanmq2kTj<0`;w9a0Sh~_qrZf0D$h+0>c9*Zp5Z2!=yYLt7J9&Z*UZ&MpJSC}ZQ#a@q%l~}~mbaLE1Jj|J z`hbj52KFikk@cVmUndZfC2L}@oGNXkM+2Otkd-%B(Er2#XoAf`GI?MdJ { return showTemplate(hash); } else if (hash === '#/home'){ return showTemplate(hash); - } else if (hash === '#/profile'){ - return showTemplate(hash); - } else if (hash === '#/register'){ - return showTemplate(hash); - } else if (hash === '#/login'){ + } else if (hash === '#/login'){ return showTemplate(hash); } else if (hash === '#/menu'){ return showTemplate(hash); @@ -42,12 +37,6 @@ export const showTemplate = (hash) => { case '#/menu': containerRoot.appendChild(menu()); break; - case '#/profile': - containerRoot.appendChild(profile()); - break; - case '#/register': - containerRoot.appendChild(register()); - break; case '#/feed': containerRoot.appendChild(feed()); break; diff --git a/src/lib/views/templateHome.js b/src/lib/views/templateHome.js index b94c2849..06c34828 100644 --- a/src/lib/views/templateHome.js +++ b/src/lib/views/templateHome.js @@ -2,7 +2,7 @@ //Funcion que crea el template de la pantalla Inicio export const home = () => { const divHome = document.createElement("div"); - const viewHome = `
    + const viewHome = /*`
    @@ -23,7 +23,7 @@ export const home = () => {

    - ` + `*/ divHome.innerHTML = viewHome; return divHome; diff --git a/src/lib/views/templateLogin.js b/src/lib/views/templateLogin.js index 11bef3fa..4227f2bd 100644 --- a/src/lib/views/templateLogin.js +++ b/src/lib/views/templateLogin.js @@ -1,7 +1,7 @@ - //Funcion que crea el template de la pantalla Login export const login = () => { - const screenLogin = `
    + const divLogin = document.createElement("div"); + const viewLogin = `
    @@ -22,8 +22,9 @@ export const login = () => {

    -`; -return screenLogin; +` +divLogin.innerHTML = viewLogin; + return divLogin; //console.log('Hola mundo!'); }; diff --git a/src/lib/views/templateMenu.js b/src/lib/views/templateMenu.js index 8dd8ea84..2d4ff1ff 100644 --- a/src/lib/views/templateMenu.js +++ b/src/lib/views/templateMenu.js @@ -2,21 +2,22 @@ //Función que contiene vista del Menu export const menu = () => { const menuScreen = `
    `; + +
    +
    + Únete a la comunidad y + conoce todos los secretos + para vivir sol@ antes de los 30 + (づ ̄ 3 ̄)づ + +
    + + +
    `; return menuScreen; }; \ No newline at end of file diff --git a/src/lib/views/templatePerfilUsuario.js b/src/lib/views/templatePerfilUsuario.js deleted file mode 100644 index 8c32c1e8..00000000 --- a/src/lib/views/templatePerfilUsuario.js +++ /dev/null @@ -1,31 +0,0 @@ -//Funcion que crea el template de la pantalla del perfil -export const home = () => { - const divHome = document.createElement("div"); - const viewHome = - // const screenIndex = // - `
    -
    - -
    -
    -

    - Únete a la comunidad y - conoce todos los secretos - para vivir sol@ antes de los 30 - -

    -
    -
    - -

    - ¿No tienes cuenta aún? Regístrate aquí. -

    -
    -
    - ` - divHome.innerHTML = viewHome; - return divHome; - //return screenIndex; - } \ No newline at end of file diff --git a/src/main.js b/src/main.js index cb54df37..a76d51f3 100644 --- a/src/main.js +++ b/src/main.js @@ -2,17 +2,11 @@ import { home } from './lib/views/templateHome.js'; import { login } from './lib/views/templateLogin.js'; -import { register } from './lib/views/templateRegister.js'; import { menu } from './lib/views/templateMenu.js'; import { changeRoutes } from './lib/router.js'; import { myFunction} from './lib/index.js'; - - -//document.getElementById('root').appendChild(home()) - - // const init = () => { document.getElementById('root').innerHTML = menu(); @@ -24,14 +18,3 @@ const init = () => { } window.addEventListener('load', init); - - -// const init = () => { -// document.getElementById('root').innerHTML = home(); -// window.addEventListener('hashchange', () => { - -// showTemplate(window.location.hash); -// }) -// } - -// window.addEventListener('load', init); \ No newline at end of file diff --git a/src/style.css b/src/style.css index f7c2556a..54a93568 100644 --- a/src/style.css +++ b/src/style.css @@ -1,16 +1,51 @@ +/*estilo de fondo*/ body { - /* background-image: url(fondo.jpg); - background-size: cover; -background: linear-gradient(color rgba(236, 215, 230), color rgba(219, 16, 168, 0.3));*/ -background: linear-gradient(rgba(201, 227, 233, 0.877), rgba(6, 106, 131, 0.938)) , url('./images/fondo.jpg'); -background-attachment: fixed; + background: linear-gradient(rgba(201, 227, 233, 0.877), rgba(6, 106, 131, 0.938)), url('./images/fondo.jpg'); + background-attachment: fixed; +} + + +/*contenedor de comunidad, es prueba solamente*/ +.containerIndex { + font-family: 'Mitr'; + font-style: normal; + font-weight: 40%; + font-size: 150%; + text-align: center; + color: #000000; +} - /*background: linear-gradient(color rgba(236, 215, 230), color rgba(219, 16, 168, 0.3));*/ +/*div para unirse e iniciar y toma el boton dentro de la cajita*/ +.comunity { + display: block; + justify-content: center; + color: rgb(1, 10, 10); + background-color: rgb(247, 247, 247); + font-family: 'Mitr'; + font-style: normal; + font-size: 30px; + margin-left: auto; + margin-right: auto; + padding: 10px; + border-radius: 12%; } -/*.meme { + +/*botoncito de inicio de sesión*/ +.logIn { display: block; - margin: 0px auto; - border-radius: 35%; - left: auto; - right: auto; -}*/ \ No newline at end of file + justify-content: center; + margin-left: auto; + margin-right: auto; + color: #000000; + border-radius: 10%; + font-size: 80%; +} + +/*contenedor de registro de adorno*/ +.signUp { + font-family: 'Mitr'; + font-style: normal; + font-size: 30px; + text-align: center; + color: #000000; +} \ No newline at end of file From b14e15955a2102ce1e58530d704a9b4e827d2c1a Mon Sep 17 00:00:00 2001 From: unknown Date: Fri, 8 Jul 2022 10:36:18 -0400 Subject: [PATCH 21/56] teest --- src/lib/firebase/auth.js | 1 - src/lib/firebase/init.js | 14 ++++++++---- src/lib/router.js | 2 +- src/lib/views/templatePerfilUsuario.js | 31 -------------------------- 4 files changed, 11 insertions(+), 37 deletions(-) delete mode 100644 src/lib/views/templatePerfilUsuario.js diff --git a/src/lib/firebase/auth.js b/src/lib/firebase/auth.js index d5f0c3f6..40e2ef2c 100644 --- a/src/lib/firebase/auth.js +++ b/src/lib/firebase/auth.js @@ -7,7 +7,6 @@ const login = async(email, password)=> { } catch (error) { throw error.message } - } export { login } diff --git a/src/lib/firebase/init.js b/src/lib/firebase/init.js index ae1c2419..993a1996 100644 --- a/src/lib/firebase/init.js +++ b/src/lib/firebase/init.js @@ -1,13 +1,19 @@ +//Conecxión con Firebase import { initializeApp } from 'https://www.gstatic.com/firebasejs/9.8.4/firebase-app.js' +//Importando funciones firebase import { getAuth, signInWithEmailAndPassword, signInWithPopup, GoogleAuthProvider } from 'https://www.gstatic.com/firebasejs/9.8.4/firebase-auth.js' +import {firebaseConfig} from './lib/firebase/config.js' +import { getFirestore } from "firebase/firestore"; +// Initialize Firebase +export const app = initializeApp(firebaseConfig); -import {config} from './lib/firebase/config.js' - -export const app = initializeApp(config); +//Autenticación const auth = getAuth(); -const provider = new GoogleAuthProvider(); +const provider = new GoogleAuthProvider(); + +//Exportar funciones firebase export { initializeApp, signInWithEmailAndPassword, auth, signInWithPopup, provider, GoogleAuthProvider} diff --git a/src/lib/router.js b/src/lib/router.js index 56a1c9cb..899893d8 100644 --- a/src/lib/router.js +++ b/src/lib/router.js @@ -2,7 +2,7 @@ import { home } from './views/templateHome.js'; import { login } from './views/templateLogin.js'; import { register } from './views/templateRegister.js'; import { menu } from './views/templateMenu.js'; - +import { feed } from '.views/templateFeed.js' diff --git a/src/lib/views/templatePerfilUsuario.js b/src/lib/views/templatePerfilUsuario.js deleted file mode 100644 index 8c32c1e8..00000000 --- a/src/lib/views/templatePerfilUsuario.js +++ /dev/null @@ -1,31 +0,0 @@ -//Funcion que crea el template de la pantalla del perfil -export const home = () => { - const divHome = document.createElement("div"); - const viewHome = - // const screenIndex = // - `
    -
    - -
    -
    -

    - Únete a la comunidad y - conoce todos los secretos - para vivir sol@ antes de los 30 - -

    -
    -
    - -

    - ¿No tienes cuenta aún? Regístrate aquí. -

    -
    -
    - ` - divHome.innerHTML = viewHome; - return divHome; - //return screenIndex; - } \ No newline at end of file From 74fddf0342e7954a883e9789b4f072f6e12f2fdd Mon Sep 17 00:00:00 2001 From: MartaHung <102157371+MartaHung@users.noreply.github.com> Date: Fri, 8 Jul 2022 12:03:40 -0400 Subject: [PATCH 22/56] Delete config.js --- src/lib/firebase/config.js | 9 --------- 1 file changed, 9 deletions(-) delete mode 100644 src/lib/firebase/config.js diff --git a/src/lib/firebase/config.js b/src/lib/firebase/config.js deleted file mode 100644 index 0cef32ed..00000000 --- a/src/lib/firebase/config.js +++ /dev/null @@ -1,9 +0,0 @@ -// Your web app's Firebase configuration -export const firebaseConfig = { - apiKey: "AIzaSyBBsF0xI43K_mjmI_NUtb01CE4BApx7u2A", - authDomain: "adultoindependiente-4f40c.firebaseapp.com", - projectId: "adultoindependiente-4f40c", - storageBucket: "adultoindependiente-4f40c.appspot.com", - messagingSenderId: "525789460084", - appId: "1:525789460084:web:69113ad92df61afaef8321" - }; \ No newline at end of file From a902c08e8b0dbe83684303a54df590b9aa901238 Mon Sep 17 00:00:00 2001 From: FernandaFloresC Date: Fri, 8 Jul 2022 13:01:52 -0400 Subject: [PATCH 23/56] cambios de css en 1vista --- src/images/deformitoEnojado.jpg | Bin 5078 -> 0 bytes src/images/deformitoLogin.jpg | Bin 61785 -> 0 bytes src/images/deformitoTip.png | Bin 0 -> 128516 bytes src/index.html | 3 -- src/lib/views/templateMenu.js | 23 ++++++----- src/lib/views/templateRegister.js | 4 +- src/style.css | 62 ++++++++++++++++++------------ 7 files changed, 53 insertions(+), 39 deletions(-) delete mode 100644 src/images/deformitoEnojado.jpg delete mode 100644 src/images/deformitoLogin.jpg create mode 100644 src/images/deformitoTip.png diff --git a/src/images/deformitoEnojado.jpg b/src/images/deformitoEnojado.jpg deleted file mode 100644 index 3c4618b8edd16fb68e7e41832bc08c93f93c8df5..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 5078 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 diff --git a/src/images/deformitoTip.png b/src/images/deformitoTip.png new file mode 100644 index 0000000000000000000000000000000000000000..e1bdf5c660ca0647d434be70c73a10224a7b01cc GIT binary patch literal 128516 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

    _-&pjG?Xi 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�j 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�i#2zAp7&+fhT{(O^oK2 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 literal 0 HcmV?d00001 diff --git a/src/index.html b/src/index.html index 6219bf48..b03be56d 100644 --- a/src/index.html +++ b/src/index.html @@ -8,10 +8,7 @@ -

    - - diff --git a/src/lib/views/templateMenu.js b/src/lib/views/templateMenu.js index 2d4ff1ff..2f411c57 100644 --- a/src/lib/views/templateMenu.js +++ b/src/lib/views/templateMenu.js @@ -1,23 +1,26 @@ - +import { login } from "./templateLogin.js"; //Función que contiene vista del Menu export const menu = () => { - const menuScreen = `
    `; return menuScreen; }; \ No newline at end of file diff --git a/src/lib/views/templateRegister.js b/src/lib/views/templateRegister.js index 6293445e..f17f72f8 100644 --- a/src/lib/views/templateRegister.js +++ b/src/lib/views/templateRegister.js @@ -1,7 +1,7 @@ //Funcion template de la pantalla de registro export const register = () => { - const screenRegister = `
    + const screenRegister = /*`
    @@ -21,7 +21,7 @@ export const register = () => {
    - `; + `*/; return screenRegister; }; \ No newline at end of file diff --git a/src/style.css b/src/style.css index 54a93568..4668556c 100644 --- a/src/style.css +++ b/src/style.css @@ -1,51 +1,65 @@ +* { + box-sizing: border-box; + padding: 0; + margin: 0; +} /*estilo de fondo*/ body { background: linear-gradient(rgba(201, 227, 233, 0.877), rgba(6, 106, 131, 0.938)), url('./images/fondo.jpg'); background-attachment: fixed; } - +/*titulo y deformito*/ +.tips{ + display: flex; + flex-direction: column; + text-align: center ; + font-family: 'Mitr'; + font-style: normal; + font-size: 250%; + color: #000000; + margin-bottom: 10px; +} /*contenedor de comunidad, es prueba solamente*/ .containerIndex { + display:flex; + flex-direction: column; + text-align: center; + border-radius: 20px; font-family: 'Mitr'; font-style: normal; - font-weight: 40%; font-size: 150%; - text-align: center; color: #000000; } -/*div para unirse e iniciar y toma el boton dentro de la cajita*/ +/*texto de únete...*/ .comunity { - display: block; + display: flex; justify-content: center; + flex-direction: column; + margin-left: 18%; + margin-right: 18%; color: rgb(1, 10, 10); background-color: rgb(247, 247, 247); font-family: 'Mitr'; font-style: normal; font-size: 30px; - margin-left: auto; - margin-right: auto; - padding: 10px; + padding: 15px; border-radius: 12%; } -/*botoncito de inicio de sesión*/ -.logIn { - display: block; - justify-content: center; - margin-left: auto; - margin-right: auto; - color: #000000; - border-radius: 10%; - font-size: 80%; -} - -/*contenedor de registro de adorno*/ -.signUp { +/*botoncito de inicio de sesión y registro de adorno*/ +.logIn, .signUp { + display: flex; + flex-direction: row; font-family: 'Mitr'; - font-style: normal; + font-weight: 500; font-size: 30px; - text-align: center; color: #000000; -} \ No newline at end of file + border-radius: 50px; + padding: 10px; + margin-top: 25px; + margin-bottom: 20px; + margin-left: auto; + margin-right: auto; +} From 6eb0474b29f203f814fa8702520fd28b0d6f66c6 Mon Sep 17 00:00:00 2001 From: unknown Date: Fri, 8 Jul 2022 13:03:00 -0400 Subject: [PATCH 24/56] configuracion firestore, modificacion configuracion firebase, organizacion modulos --- src/lib/firebase/firestore.js | 2 ++ src/lib/firebase/init.js | 16 ++++++++++------ 2 files changed, 12 insertions(+), 6 deletions(-) create mode 100644 src/lib/firebase/firestore.js diff --git a/src/lib/firebase/firestore.js b/src/lib/firebase/firestore.js new file mode 100644 index 00000000..7ff63cb5 --- /dev/null +++ b/src/lib/firebase/firestore.js @@ -0,0 +1,2 @@ +import { collection, getDocs, addDoc,onSnapshot, query, doc } from "./init"; + diff --git a/src/lib/firebase/init.js b/src/lib/firebase/init.js index 993a1996..83dad26e 100644 --- a/src/lib/firebase/init.js +++ b/src/lib/firebase/init.js @@ -1,19 +1,23 @@ //Conecxión con Firebase import { initializeApp } from 'https://www.gstatic.com/firebasejs/9.8.4/firebase-app.js' -//Importando funciones firebase -import { getAuth, signInWithEmailAndPassword, signInWithPopup, GoogleAuthProvider } from 'https://www.gstatic.com/firebasejs/9.8.4/firebase-auth.js' +//Se trae la configuración import {firebaseConfig} from './lib/firebase/config.js' -import { getFirestore } from "firebase/firestore"; +//Importando funciones firebase auth +import { getAuth, signInWithEmailAndPassword, signInWithPopup, GoogleAuthProvider } from 'https://www.gstatic.com/firebasejs/9.8.4/firebase-auth.js' +//Importando funciones relacionadas a firestore +import { getFirestore, collection, getDocs, addDoc,onSnapshot, query, doc } from 'https://www.gstatic.com/firebasejs/9.8.4/firebase-firestore.js'; // Initialize Firebase export const app = initializeApp(firebaseConfig); +// Get firestore +const db = getFirestore(app); + //Autenticación const auth = getAuth(); - const provider = new GoogleAuthProvider(); -//Exportar funciones firebase -export { initializeApp, signInWithEmailAndPassword, auth, signInWithPopup, provider, GoogleAuthProvider} +//Exportar funciones firebase-firestore +export { initializeApp, signInWithEmailAndPassword, auth, signInWithPopup, provider, GoogleAuthProvider, collection, getDocs, addDoc,onSnapshot, query, doc }; From 7ca1a36fbc658e749a398a0c6d5889d99729a3b4 Mon Sep 17 00:00:00 2001 From: unknown Date: Mon, 11 Jul 2022 11:09:26 -0400 Subject: [PATCH 25/56] template post y funciones para manipular data y crear posts --- src/lib/firebase/firestore.js | 62 +++++++++++++++++++++++++++++++- src/lib/firebase/init.js | 2 +- src/lib/firebase/templatePost.js | 11 ++++++ src/lib/router.js | 1 + src/lib/views/templateFeed.js | 4 +-- src/lib/views/templateHome.js | 5 ++- src/main.js | 6 ++-- 7 files changed, 82 insertions(+), 9 deletions(-) create mode 100644 src/lib/firebase/templatePost.js diff --git a/src/lib/firebase/firestore.js b/src/lib/firebase/firestore.js index 7ff63cb5..d804277b 100644 --- a/src/lib/firebase/firestore.js +++ b/src/lib/firebase/firestore.js @@ -1,2 +1,62 @@ -import { collection, getDocs, addDoc,onSnapshot, query, doc } from "./init"; +import { collection, addDoc, getDocs, onSnapshot, query, doc } from "./init"; +import { root } from "../../main"; +import { post } from "./templatePost"; +//Formulario enviado DOM +const postForm = document.getElementById('postform'); +postForm.addEventListener('submit', (e) =>{ + e.preventDefault(); + + const title = postForm['posTitle']; + const postText = postForm['postText']; + + //obtiene el valor del titulo y el post del input y textarea + savePost(title.value,postText.value); + + //Resetea el formulario, lo limpia + postForm.reset(); + +}); + + +//Función que guarda los datos del formulario del post +export const savePost = (title, postText) => { + + //Agrega un doc a una colección en formato de objeto + addDoc(collection(db,'posts'),{title:title, post:post}); + +}; + +//Busca o enlista el post desde Firestore +export const getPost = () => { + //enlista los datos o docs + const lookPost = getDocs(collection(db,'posts')); + return lookPost; +} + +//convierte el doc firebase en un obj js +export const docData = doc.data(); + +//Crea el post y los solicita una vez +export const createPost = async () => { + //obtiene el listado de los docs inmediatos +const snapShotText = await getPost(); +//recorre los datos y crea el html del post +snapShotText.forEach( doc => { + post(docData) += root.innerHTML; +}); +}; + +//crea el post con una suscripción o sin refrescar la pagina +export const onGetPost = async () => { + + const querySnapShot = await getPost(); + +onSnapshot(collection(db,'posts'),(querySnapShot) => + +//crea el html del post +querySnapShot.forEach( doc => { + post(docData) += root.innerHTML; +}) +) +}; \ No newline at end of file diff --git a/src/lib/firebase/init.js b/src/lib/firebase/init.js index 83dad26e..af686b0c 100644 --- a/src/lib/firebase/init.js +++ b/src/lib/firebase/init.js @@ -1,4 +1,4 @@ -//Conecxión con Firebase +//Conexión con Firebase import { initializeApp } from 'https://www.gstatic.com/firebasejs/9.8.4/firebase-app.js' //Se trae la configuración import {firebaseConfig} from './lib/firebase/config.js' diff --git a/src/lib/firebase/templatePost.js b/src/lib/firebase/templatePost.js new file mode 100644 index 00000000..9946e10b --- /dev/null +++ b/src/lib/firebase/templatePost.js @@ -0,0 +1,11 @@ +//import { docData } from "./firestore" + + +//Template del post +export const post = (data) => { + const viewPost = `
    +

    ${data.title}

    +

    ${data.postText}

    +
    ` + return viewPost; +} \ No newline at end of file diff --git a/src/lib/router.js b/src/lib/router.js index 679081ad..1c0d83b2 100644 --- a/src/lib/router.js +++ b/src/lib/router.js @@ -23,6 +23,7 @@ export const changeRoutes = (hash) => { } } +//muestra los templates segun el hash export const showTemplate = (hash) => { const containerRoot = document.getElementById('root'); containerDiv.innerHTML = menu(); diff --git a/src/lib/views/templateFeed.js b/src/lib/views/templateFeed.js index 107501af..c1361fff 100644 --- a/src/lib/views/templateFeed.js +++ b/src/lib/views/templateFeed.js @@ -7,8 +7,8 @@ export const feed = () => {

    Usuario

    -
    - + +
    diff --git a/src/lib/views/templateHome.js b/src/lib/views/templateHome.js index 06c34828..91de7f81 100644 --- a/src/lib/views/templateHome.js +++ b/src/lib/views/templateHome.js @@ -2,7 +2,7 @@ //Funcion que crea el template de la pantalla Inicio export const home = () => { const divHome = document.createElement("div"); - const viewHome = /*`
    + const viewHome = `
    @@ -22,8 +22,7 @@ export const home = () => { ¿No tienes cuenta aún? Regístrate aquí.

    -
    - `*/ +
    ` divHome.innerHTML = viewHome; return divHome; diff --git a/src/main.js b/src/main.js index a76d51f3..1ab07592 100644 --- a/src/main.js +++ b/src/main.js @@ -6,8 +6,10 @@ import { menu } from './lib/views/templateMenu.js'; import { changeRoutes } from './lib/router.js'; import { myFunction} from './lib/index.js'; +//Contiene o llama el div del html +export const root = document.getElementById('root'); -// +//Init del router const init = () => { document.getElementById('root').innerHTML = menu(); window.addEventListener('hashchange', () => { @@ -16,5 +18,5 @@ const init = () => { changeRoutes(window.location.hash); }) } - +//carga el init window.addEventListener('load', init); From 241b311af61c11b5b40a3d2b01ba169d9be92184 Mon Sep 17 00:00:00 2001 From: katherine Date: Mon, 11 Jul 2022 20:02:33 -0400 Subject: [PATCH 26/56] ramapruebakathy --- src/lib/firebase/auth.js | 38 ++++++++++++++++++++++--- src/lib/firebase/init.js | 15 +++++----- src/lib/router.js | 51 +++++++++++++++++----------------- src/lib/views/templateLogin.js | 5 ++-- 4 files changed, 69 insertions(+), 40 deletions(-) diff --git a/src/lib/firebase/auth.js b/src/lib/firebase/auth.js index 40e2ef2c..e7de722a 100644 --- a/src/lib/firebase/auth.js +++ b/src/lib/firebase/auth.js @@ -1,9 +1,39 @@ -import { signInWithEmailAndPassword, auth, signInWithPopup, provider, GoogleAuthProvider} from "./init.js" +import { + auth, + provider, + GoogleAuthProvider, + signInWithEmailAndPassword, + signInWithPopup, +} from "./init.js"; +const auth = getAuth(); +signInWithPopup(auth, provider) + .then((result) => { + // This gives you a Google Access Token. You can use it to access the Google API. + const credential = GoogleAuthProvider.credentialFromResult(result); + const token = credential.accessToken; + // The signed-in user info. + const user = result.user; + // ... + }).catch((error) => { + // Handle Errors here. + const errorCode = error.code; + const errorMessage = error.message; + // The email of the user's account used. + const email = error.customData.email; + // The AuthCredential type that was used. + const credential = GoogleAuthProvider.credentialFromError(error); + // ... + }); + + + + +/* const login = async(email, password)=> { - try { - await signInWithEmailAndPassword(auth, email, password) + try { + await signInWithEmailAndPassword(auth, email, password) } catch (error) { throw error.message } @@ -35,4 +65,4 @@ const login = async(email, password)=> { // const credential = GoogleAuthProvider.credentialFromError(error); // ... }); - }; \ No newline at end of file + };*/ diff --git a/src/lib/firebase/init.js b/src/lib/firebase/init.js index 83dad26e..5ab9b588 100644 --- a/src/lib/firebase/init.js +++ b/src/lib/firebase/init.js @@ -3,21 +3,20 @@ import { initializeApp } from 'https://www.gstatic.com/firebasejs/9.8.4/firebase //Se trae la configuración import {firebaseConfig} from './lib/firebase/config.js' //Importando funciones firebase auth -import { getAuth, signInWithEmailAndPassword, signInWithPopup, GoogleAuthProvider } from 'https://www.gstatic.com/firebasejs/9.8.4/firebase-auth.js' +import { getAuth, signInWithEmailAndPassword, signInWithPopup, GoogleAuthProvider } from 'https://www.gstatic.com/firebasejs/9.8.4/firebase-auth.js'; //Importando funciones relacionadas a firestore import { getFirestore, collection, getDocs, addDoc,onSnapshot, query, doc } from 'https://www.gstatic.com/firebasejs/9.8.4/firebase-firestore.js'; // Initialize Firebase -export const app = initializeApp(firebaseConfig); - -// Get firestore -const db = getFirestore(app); - +const app = initializeApp(firebaseConfig); //Autenticación const auth = getAuth(); - +//Provider const provider = new GoogleAuthProvider(); +// Get firestore +const db = getFirestore(app); + //Exportar funciones firebase-firestore -export { initializeApp, signInWithEmailAndPassword, auth, signInWithPopup, provider, GoogleAuthProvider, collection, getDocs, addDoc,onSnapshot, query, doc }; +export { initializeApp, signInWithEmailAndPassword, auth, signInWithPopup, provider, GoogleAuthProvider, db, collection, getDocs, addDoc,onSnapshot, query, doc }; diff --git a/src/lib/router.js b/src/lib/router.js index 899893d8..1afe6c41 100644 --- a/src/lib/router.js +++ b/src/lib/router.js @@ -4,30 +4,6 @@ import { register } from './views/templateRegister.js'; import { menu } from './views/templateMenu.js'; import { feed } from '.views/templateFeed.js' - - - -//Enrutador -export const changeRoutes = (hash) => { - if (hash === '#/'){ - return showTemplate(hash); - } else if (hash === '#/home'){ - return showTemplate(hash); - } else if (hash === '#/profile'){ - return showTemplate(hash); - } else if (hash === '#/register'){ - return showTemplate(hash); - } else if (hash === '#/login'){ - return showTemplate(hash); - } else if (hash === '#/menu'){ - return showTemplate(hash); - } else if (hash === '#/feed'){ - return showTemplate(hash); - } else { - return showTemplate(hash); - } -} - export const showTemplate = (hash) => { const containerRoot = document.getElementById('root'); containerDiv.innerHTML = menu(); @@ -54,5 +30,30 @@ export const showTemplate = (hash) => { default: containerDiv.innerHTML= `

    Error (╯°□°)╯︵ ┻━┻

    ` + }; +}; + + +//Enrutador +export const changeRoutes = (hash) => { + if (hash === '#/'){ + return showTemplate(hash); + } else if (hash === '#/home'){ + return showTemplate(hash); + } else if (hash === '#/profile'){ + return showTemplate(hash); + } else if (hash === '#/register'){ + return showTemplate(hash); + } else if (hash === '#/login'){ + return showTemplate(hash); + } else if (hash === '#/menu'){ + return showTemplate(hash); + } else if (hash === '#/feed'){ + return showTemplate(hash); + } else { + return showTemplate(hash); } -} \ No newline at end of file +}; + + + diff --git a/src/lib/views/templateLogin.js b/src/lib/views/templateLogin.js index 11bef3fa..4104a38e 100644 --- a/src/lib/views/templateLogin.js +++ b/src/lib/views/templateLogin.js @@ -1,4 +1,4 @@ - +import { changeRoutes } from "../lib/router"; //Funcion que crea el template de la pantalla Login export const login = () => { const screenLogin = `
    @@ -23,7 +23,6 @@ export const login = () => {
    `; -return screenLogin; + return screenLogin; //console.log('Hola mundo!'); }; - From 6949a06c8b346e4045f3079817d7b56ebd0f27a4 Mon Sep 17 00:00:00 2001 From: FernandaFloresC Date: Mon, 11 Jul 2022 20:05:53 -0400 Subject: [PATCH 27/56] ni idea del commit --- src/images/error.jpg | Bin 0 -> 102120 bytes src/lib/router.js | 2 +- src/lib/views/templateLogin.js | 9 ++++----- src/lib/views/templateMenu.js | 6 +++--- src/main.js | 8 ++------ src/style.css | 11 ++++++----- 6 files changed, 16 insertions(+), 20 deletions(-) create mode 100644 src/images/error.jpg diff --git a/src/images/error.jpg b/src/images/error.jpg new file mode 100644 index 0000000000000000000000000000000000000000..36a24b65039459af05345fac54428d3e279739d3 GIT binary patch literal 102120 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 { - const divLogin = document.createElement("div"); - const viewLogin = `
    + const screenLogin = `
    @@ -22,9 +22,8 @@ export const login = () => {

    -` -divLogin.innerHTML = viewLogin; - return divLogin; +`; + return screenLogin; //console.log('Hola mundo!'); }; diff --git a/src/lib/views/templateMenu.js b/src/lib/views/templateMenu.js index 2f411c57..0bab760b 100644 --- a/src/lib/views/templateMenu.js +++ b/src/lib/views/templateMenu.js @@ -1,4 +1,4 @@ -import { login } from "./templateLogin.js"; + //Función que contiene vista del Menu export const menu = () => { const menuScreen = `
    @@ -13,12 +13,12 @@ export const menu = () => { para vivir sol@ antes de los 30 (づ ̄ 3 ̄)づ
    -
    -
    - -
    -
    -

    - Únete a la comunidad y - conoce todos los secretos - para vivir sol@ antes de los 30 - - (づ ̄ 3 ̄)づ -

    -
    -
    - -

    - ¿No tienes cuenta aún? Regístrate aquí. -

    -
    -
    `; diff --git a/src/main.js b/src/main.js index a76d51f3..fab71b3b 100644 --- a/src/main.js +++ b/src/main.js @@ -1,18 +1,14 @@ // Este es el punto de entrada de tu aplicacion -import { home } from './lib/views/templateHome.js'; -import { login } from './lib/views/templateLogin.js'; import { menu } from './lib/views/templateMenu.js'; import { changeRoutes } from './lib/router.js'; -import { myFunction} from './lib/index.js'; - // const init = () => { document.getElementById('root').innerHTML = menu(); + changeRoutes(window.location.hash); window.addEventListener('hashchange', () => { - myFunction(); - console.log("holaa"); + changeRoutes(window.location.hash); }) } diff --git a/src/style.css b/src/style.css index 4668556c..6b11bcf7 100644 --- a/src/style.css +++ b/src/style.css @@ -20,8 +20,8 @@ body { margin-bottom: 10px; } -/*contenedor de comunidad, es prueba solamente*/ -.containerIndex { +/*contenedor de todo, es prueba solamente*/ +/*.containerIndex { display:flex; flex-direction: column; text-align: center; @@ -30,7 +30,7 @@ body { font-style: normal; font-size: 150%; color: #000000; -} +}*/ /*texto de únete...*/ .comunity { @@ -45,20 +45,21 @@ body { font-style: normal; font-size: 30px; padding: 15px; - border-radius: 12%; + border-radius: 15%; } /*botoncito de inicio de sesión y registro de adorno*/ .logIn, .signUp { display: flex; flex-direction: row; + justify-content: center; font-family: 'Mitr'; font-weight: 500; font-size: 30px; color: #000000; border-radius: 50px; padding: 10px; - margin-top: 25px; + margin-top: 50px; margin-bottom: 20px; margin-left: auto; margin-right: auto; From 12e5317dabeaf2409ce2936dacf25c9d75812147 Mon Sep 17 00:00:00 2001 From: katherine Date: Tue, 12 Jul 2022 10:31:22 -0400 Subject: [PATCH 28/56] boton --- src/lib/views/templateLogin.js | 34 +++++++++++++++++++++++++++++++++- 1 file changed, 33 insertions(+), 1 deletion(-) diff --git a/src/lib/views/templateLogin.js b/src/lib/views/templateLogin.js index 4104a38e..b4397429 100644 --- a/src/lib/views/templateLogin.js +++ b/src/lib/views/templateLogin.js @@ -1,4 +1,36 @@ -import { changeRoutes } from "../lib/router"; + +import { async } from "regenerator-runtime"; +import { changeRoutes } from "../lib/router.js"; +/* +export const login = () => { + const screenLogin = document.createElement("div") + const viewLogin = + `
    +

    Adulto Independiente

    + +
    + ` + screenLogin.innerHTML= viewLogin; + + const btnGoogle = screenLogin.querySelector("#btngoogle") + btnGoogle.addEventListener("click", async() => { + const loginWithGoogle = usersGoogle(); + if(loginWithGoogle) { + changeRoutes('#/feed') + } else { + changeRoutes('#/error') + } + }); + + return screenLogin; + +};*/ + + + + + + //Funcion que crea el template de la pantalla Login export const login = () => { const screenLogin = `
    From bfb02b93064c0c73da379e164857df0241cada95 Mon Sep 17 00:00:00 2001 From: unknown Date: Tue, 12 Jul 2022 14:53:08 -0400 Subject: [PATCH 29/56] funciones posts --- src/lib/firebase/firestore.js | 121 +++++++++++++++++++--------------- 1 file changed, 69 insertions(+), 52 deletions(-) diff --git a/src/lib/firebase/firestore.js b/src/lib/firebase/firestore.js index d804277b..25e0991a 100644 --- a/src/lib/firebase/firestore.js +++ b/src/lib/firebase/firestore.js @@ -1,62 +1,79 @@ -import { collection, addDoc, getDocs, onSnapshot, query, doc } from "./init"; -import { root } from "../../main"; -import { post } from "./templatePost"; +import { db, collection, addDoc, getDocs, onSnapshot, query, doc, getDoc, deleteDoc } from "./init.js"; +import { postText, root, title } from "../../main.js"; -//Formulario enviado DOM -const postForm = document.getElementById('postform'); -postForm.addEventListener('submit', (e) =>{ - e.preventDefault(); - const title = postForm['posTitle']; - const postText = postForm['postText']; - //obtiene el valor del titulo y el post del input y textarea - savePost(title.value,postText.value); - - //Resetea el formulario, lo limpia - postForm.reset(); +//Función que guarda los datos del formulario del post en firebase +export const savePost = (title, text) => { -}); + //Agrega un doc a una colección en formato de objeto + addDoc(collection(db,'posts'),{title:title, text:text}); + //console.log(collection(db,'posts'),{title:title, text:text}); +}; +//Busca o enlista el post desde Firestore +export const getPost = () => getDocs(collection(db,'posts')); + + //Son los mismos datos +//console.log(getDocs(collection(db,'posts'))); +//console.log(getPost()); -//Función que guarda los datos del formulario del post -export const savePost = (title, postText) => { - //Agrega un doc a una colección en formato de objeto - addDoc(collection(db,'posts'),{title:title, post:post}); +//obtiene los docs en tiempo real +const onGetPost = (callback) => onSnapshot(collection(db, "posts"), callback); +//console.log(onGetPost()); + +//crea el post en tiempo real +const createPost = async () => { + onGetPost((snapShot) => { + let card = ""; + + //recorre el array de docs de firebase + snapShot.forEach((doc) => { + //console.log(doc.data()) + const docData = doc.data(); //el .data() convierte los objetos firebase a obj JS + //root.innerHTML = post(docData); + card += `
    +

    ${docData.title}

    +

    ${docData.text}

    + + +
    `; + }); + + root.innerHTML = card; + + + const btnsDelete = root.querySelectorAll('.btnDelete'); + btnsDelete.forEach(btn => { + btn.addEventListener('click', (event) => { + deletePost(event.target.dataset.id); + }); + }); + + + const btnsEdit = root.querySelectorAll('.btnEdit'); + btnsEdit.forEach(btn => { + btn.addEventListener('click', async (event) => { + + const doc = await editPost(event.target.dataset.id); + + const docData = doc.data(); + + title.value = docData.title; + postText.value = docData.text; + + }); + }); + + }); }; -//Busca o enlista el post desde Firestore -export const getPost = () => { - //enlista los datos o docs - const lookPost = getDocs(collection(db,'posts')); - return lookPost; -} - -//convierte el doc firebase en un obj js -export const docData = doc.data(); - -//Crea el post y los solicita una vez -export const createPost = async () => { - //obtiene el listado de los docs inmediatos -const snapShotText = await getPost(); -//recorre los datos y crea el html del post -snapShotText.forEach( doc => { - post(docData) += root.innerHTML; -}); -}; - -//crea el post con una suscripción o sin refrescar la pagina -export const onGetPost = async () => { - - const querySnapShot = await getPost(); - -onSnapshot(collection(db,'posts'),(querySnapShot) => - -//crea el html del post -querySnapShot.forEach( doc => { - post(docData) += root.innerHTML; -}) -) -}; \ No newline at end of file +console.log(createPost()); + + +export const editPost = (id) => getDoc(doc(db,'posts',id)); + + +export const deletePost = (id) => deleteDoc(doc(db,'posts',id)); \ No newline at end of file From 3ed50409bfba5cbc635dbfed836cd546f033cd9b Mon Sep 17 00:00:00 2001 From: unknown Date: Tue, 12 Jul 2022 15:05:40 -0400 Subject: [PATCH 30/56] correcciones --- src/index.html | 13 +++++++ src/lib/firebase/init.js | 67 ++++++++++++++++++++++++-------- src/lib/firebase/templatePost.js | 5 +-- src/main.js | 36 ++++++++++++++++- 4 files changed, 100 insertions(+), 21 deletions(-) diff --git a/src/index.html b/src/index.html index b03be56d..ae0ec621 100644 --- a/src/index.html +++ b/src/index.html @@ -9,6 +9,19 @@
    +
    + imagenPerfil +

    Usuario

    +
    +
    + + + +
    + +
    + +
    diff --git a/src/lib/firebase/init.js b/src/lib/firebase/init.js index af686b0c..c87c72e5 100644 --- a/src/lib/firebase/init.js +++ b/src/lib/firebase/init.js @@ -1,23 +1,56 @@ -//Conexión con Firebase -import { initializeApp } from 'https://www.gstatic.com/firebasejs/9.8.4/firebase-app.js' -//Se trae la configuración -import {firebaseConfig} from './lib/firebase/config.js' -//Importando funciones firebase auth -import { getAuth, signInWithEmailAndPassword, signInWithPopup, GoogleAuthProvider } from 'https://www.gstatic.com/firebasejs/9.8.4/firebase-auth.js' -//Importando funciones relacionadas a firestore -import { getFirestore, collection, getDocs, addDoc,onSnapshot, query, doc } from 'https://www.gstatic.com/firebasejs/9.8.4/firebase-firestore.js'; +// Este es el punto de entrada de tu aplicacion +//Rutas +import { home } from './lib/views/templateHome.js'; +import { login } from './lib/views/templateLogin.js'; +import { menu } from './lib/views/templateMenu.js'; +import { changeRoutes } from './lib/router.js'; +import { myFunction} from './lib/index.js'; -// Initialize Firebase -export const app = initializeApp(firebaseConfig); +//funciones firestore +import { savePost } from './lib/firebase/firestore.js'; -// Get firestore -const db = getFirestore(app); -//Autenticación -const auth = getAuth(); -const provider = new GoogleAuthProvider(); +//Contiene o llama el div del html +export const root = document.getElementById('root'); -//Exportar funciones firebase-firestore -export { initializeApp, signInWithEmailAndPassword, auth, signInWithPopup, provider, GoogleAuthProvider, collection, getDocs, addDoc,onSnapshot, query, doc }; +//Init del router +const init = () => { + document.getElementById('root').innerHTML = menu(); + window.addEventListener('hashchange', () => { + myFunction(); + console.log("holaa"); + changeRoutes(window.location.hash); + }) +} +//carga el init +window.addEventListener('load', init); + + + +//llama al input y textarea +export const title = document.getElementById('postTitle'); +export const postText = postform['postText']; + +//Formulario enviado DOM +export const postForm = document.getElementById('postform'); +postForm.addEventListener('submit', (e) =>{ + e.preventDefault(); + + title; + postText; + + // const title = document.getElementById('postTitle'); + // const postText = postform['postText']; + +//console.log(title.value); + + //obtiene el valor del titulo y el post del input y textarea + console.log (savePost(title.value, postText.value)); + // console.log(postText.value) + + //Resetea el formulario, lo limpia + postForm.reset(); + +}); diff --git a/src/lib/firebase/templatePost.js b/src/lib/firebase/templatePost.js index 9946e10b..a81c99a7 100644 --- a/src/lib/firebase/templatePost.js +++ b/src/lib/firebase/templatePost.js @@ -1,11 +1,10 @@ //import { docData } from "./firestore" - //Template del post export const post = (data) => { const viewPost = `

    ${data.title}

    -

    ${data.postText}

    -
    ` +

    ${data.text}

    + `; return viewPost; } \ No newline at end of file diff --git a/src/main.js b/src/main.js index 1ab07592..b1c71f39 100644 --- a/src/main.js +++ b/src/main.js @@ -1,11 +1,16 @@ // Este es el punto de entrada de tu aplicacion - +//Rutas import { home } from './lib/views/templateHome.js'; import { login } from './lib/views/templateLogin.js'; import { menu } from './lib/views/templateMenu.js'; import { changeRoutes } from './lib/router.js'; import { myFunction} from './lib/index.js'; +//funciones firestore +import { savePost } from './lib/firebase/firestore.js'; + + + //Contiene o llama el div del html export const root = document.getElementById('root'); @@ -20,3 +25,32 @@ const init = () => { } //carga el init window.addEventListener('load', init); + + + + +//llama al input y textarea +export const title = document.getElementById('postTitle'); +export const postText = postform['postText']; + +//Formulario enviado DOM +export const postForm = document.getElementById('postform'); +postForm.addEventListener('submit', (e) =>{ + e.preventDefault(); + + title; + postText; + + // const title = document.getElementById('postTitle'); + // const postText = postform['postText']; + +//console.log(title.value); + + //obtiene el valor del titulo y el post del input y textarea + console.log (savePost(title.value, postText.value)); + // console.log(postText.value) + + //Resetea el formulario, lo limpia + postForm.reset(); + +}); \ No newline at end of file From 0e0b4e60340b4b571858a3feff477f9520c8c88a Mon Sep 17 00:00:00 2001 From: unknown Date: Tue, 12 Jul 2022 15:18:41 -0400 Subject: [PATCH 31/56] funciones para los posts, crear, editar y eliminar. --- src/index.html | 14 +--------- src/lib/firebase/init.js | 60 ++++++++++------------------------------ src/lib/router.js | 2 +- 3 files changed, 17 insertions(+), 59 deletions(-) diff --git a/src/index.html b/src/index.html index ae0ec621..e90c5aed 100644 --- a/src/index.html +++ b/src/index.html @@ -9,19 +9,7 @@
    -
    - imagenPerfil -

    Usuario

    -
    -
    -
    - - -
    - -
    -
    -
    + diff --git a/src/lib/firebase/init.js b/src/lib/firebase/init.js index c87c72e5..56c2aef2 100644 --- a/src/lib/firebase/init.js +++ b/src/lib/firebase/init.js @@ -1,56 +1,26 @@ -// Este es el punto de entrada de tu aplicacion -//Rutas -import { home } from './lib/views/templateHome.js'; -import { login } from './lib/views/templateLogin.js'; -import { menu } from './lib/views/templateMenu.js'; -import { changeRoutes } from './lib/router.js'; -import { myFunction} from './lib/index.js'; -//funciones firestore -import { savePost } from './lib/firebase/firestore.js'; +//Conexión con Firebase +import { initializeApp } from 'https://www.gstatic.com/firebasejs/9.8.4/firebase-app.js' +//Importando funciones firebase auth +import { getAuth, signInWithEmailAndPassword, signInWithPopup, GoogleAuthProvider } from 'https://www.gstatic.com/firebasejs/9.8.4/firebase-auth.js' +//Importando funciones relacionadas a firestore +import { getFirestore, collection, getDocs, addDoc,onSnapshot, query, doc, getDoc, deleteDoc } from 'https://www.gstatic.com/firebasejs/9.8.4/firebase-firestore.js'; -//Contiene o llama el div del html -export const root = document.getElementById('root'); -//Init del router -const init = () => { - document.getElementById('root').innerHTML = menu(); - window.addEventListener('hashchange', () => { - myFunction(); - console.log("holaa"); - changeRoutes(window.location.hash); - }) -} -//carga el init -window.addEventListener('load', init); +// Initialize Firebase +export const app = initializeApp(firebaseConfig); +// Get firestore +const db = getFirestore(app); +//Autenticación +const auth = getAuth(); +const provider = new GoogleAuthProvider(); -//llama al input y textarea -export const title = document.getElementById('postTitle'); -export const postText = postform['postText']; -//Formulario enviado DOM -export const postForm = document.getElementById('postform'); -postForm.addEventListener('submit', (e) =>{ - e.preventDefault(); +//Exportar funciones firebase-firestore +export { initializeApp, signInWithEmailAndPassword, auth, signInWithPopup, provider, GoogleAuthProvider, collection, getDocs, addDoc,onSnapshot, query, doc, db, deleteDoc, getDoc }; - title; - postText; - - // const title = document.getElementById('postTitle'); - // const postText = postform['postText']; - -//console.log(title.value); - - //obtiene el valor del titulo y el post del input y textarea - console.log (savePost(title.value, postText.value)); - // console.log(postText.value) - - //Resetea el formulario, lo limpia - postForm.reset(); - -}); diff --git a/src/lib/router.js b/src/lib/router.js index 1c0d83b2..330fbce2 100644 --- a/src/lib/router.js +++ b/src/lib/router.js @@ -1,7 +1,7 @@ import { home } from './views/templateHome.js'; import { login } from './views/templateLogin.js'; import { menu } from './views/templateMenu.js'; -import { feed } from '.views/templateFeed.js' +import { feed } from './views/templateFeed.js' From fb65a6b7f36bc916ae5f9c9974d4d968338e0357 Mon Sep 17 00:00:00 2001 From: katherine Date: Tue, 12 Jul 2022 18:13:58 -0400 Subject: [PATCH 32/56] cambios kathy --- src/images/doformitoTriste.png | Bin 0 -> 20157 bytes src/lib/router.js | 11 +++++------ src/lib/views/templateMenu.js | 16 +++++++--------- src/main.js | 4 ++-- src/style.css | 17 +++++++++-------- 5 files changed, 23 insertions(+), 25 deletions(-) create mode 100644 src/images/doformitoTriste.png diff --git a/src/images/doformitoTriste.png b/src/images/doformitoTriste.png new file mode 100644 index 0000000000000000000000000000000000000000..2bdcee5be8ad9b2794a844bdff67d16b3308b203 GIT binary patch literal 20157 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 PCuR^&{6nZRIUDsq=Px2N literal 0 HcmV?d00001 diff --git a/src/lib/router.js b/src/lib/router.js index 58b34ae7..761bc2ae 100644 --- a/src/lib/router.js +++ b/src/lib/router.js @@ -1,6 +1,6 @@ import { home } from './views/templateHome.js'; import { login } from './views/templateLogin.js'; -import { menu } from './views/templateMenu.js'; +import { menuLogin } from './views/templateMenu.js'; import { feed } from './views/templateFeed.js' @@ -14,7 +14,7 @@ export const changeRoutes = (hash) => { return showTemplate(hash); } else if (hash === '#/login'){ return showTemplate(hash); - } else if (hash === '#/menu'){ + } else if (hash === '#/menuLogin'){ return showTemplate(hash); } else if (hash === '#/feed'){ return showTemplate(hash); @@ -25,8 +25,7 @@ export const changeRoutes = (hash) => { export const showTemplate = (hash) => { const containerRoot = document.getElementById('root'); - containerDiv.innerHTML = menu(); - + containerDiv.innerHTML = menuLogin() switch (hash){ case '#/home': containerRoot.appendChild(home()); @@ -34,8 +33,8 @@ export const showTemplate = (hash) => { case '#/login': containerRoot.appendChild(login()); break; - case '#/menu': - containerRoot.appendChild(menu()); + case '#/menuLogin': + containerRoot.appendChild(menuLogin()); break; case '#/feed': containerRoot.appendChild(feed()); diff --git a/src/lib/views/templateMenu.js b/src/lib/views/templateMenu.js index 0bab760b..7b98bf7d 100644 --- a/src/lib/views/templateMenu.js +++ b/src/lib/views/templateMenu.js @@ -1,26 +1,24 @@ //Función que contiene vista del Menu -export const menu = () => { - const menuScreen = `
    +export const menuLogin = () => { + const menuScreen = `
    - + Tips Adulto Independiente
    -
    Únete a la comunidad y conoce todos los secretos para vivir sol@ antes de los 30 - (づ ̄ 3 ̄)づ
    -
    `; +
    + `; return menuScreen; }; \ No newline at end of file diff --git a/src/main.js b/src/main.js index fab71b3b..9834f01f 100644 --- a/src/main.js +++ b/src/main.js @@ -1,11 +1,11 @@ // Este es el punto de entrada de tu aplicacion -import { menu } from './lib/views/templateMenu.js'; +import { menuLogin } from './lib/views/templateMenu.js'; import { changeRoutes } from './lib/router.js'; // const init = () => { - document.getElementById('root').innerHTML = menu(); + document.getElementById('root').innerHTML = menuLogin(); changeRoutes(window.location.hash); window.addEventListener('hashchange', () => { diff --git a/src/style.css b/src/style.css index 6b11bcf7..a4e52a43 100644 --- a/src/style.css +++ b/src/style.css @@ -13,9 +13,9 @@ body { display: flex; flex-direction: column; text-align: center ; - font-family: 'Mitr'; - font-style: normal; - font-size: 250%; + font-family: 'Montserrat'; + font-style: bold; + font-size: 40px; color: #000000; margin-bottom: 10px; } @@ -41,11 +41,12 @@ body { margin-right: 18%; color: rgb(1, 10, 10); background-color: rgb(247, 247, 247); - font-family: 'Mitr'; + font-family: 'Montserrat'; font-style: normal; - font-size: 30px; + font-size: 28px; padding: 15px; - border-radius: 15%; + border-radius: 20px; + text-align: center; } /*botoncito de inicio de sesión y registro de adorno*/ @@ -53,9 +54,9 @@ body { display: flex; flex-direction: row; justify-content: center; - font-family: 'Mitr'; + font-family: 'Montserrat'; font-weight: 500; - font-size: 30px; + font-size: 20px; color: #000000; border-radius: 50px; padding: 10px; From cd7b62d02d1c18644738d5835eb14dfe1fdd4103 Mon Sep 17 00:00:00 2001 From: FernandaFloresC Date: Tue, 12 Jul 2022 19:09:50 -0400 Subject: [PATCH 33/56] subiendo cambios para probar --- src/main.js | 3 +-- 1 file changed, 1 insertion(+), 2 deletions(-) diff --git a/src/main.js b/src/main.js index 03f2215f..46a571d7 100644 --- a/src/main.js +++ b/src/main.js @@ -3,7 +3,6 @@ //Rutas import { home } from './lib/views/templateHome.js'; import { login } from './lib/views/templateLogin.js'; -import { menu } from './lib/views/templateMenu.js'; import { menuLogin } from './lib/views/templateMenu.js'; import { changeRoutes } from './lib/router.js'; @@ -29,7 +28,7 @@ window.addEventListener('load', init); //llama al input y textarea export const title = document.getElementById('postTitle'); -export const postText = postform['postText']; +export const postText = postForm['postText']; //Formulario enviado DOM export const postForm = document.getElementById('postform'); From 524c083bd9a0ccadfb8a2933ccb004942d7a20cb Mon Sep 17 00:00:00 2001 From: unknown Date: Tue, 12 Jul 2022 20:23:16 -0400 Subject: [PATCH 34/56] actualizacion --- src/main.js | 1 + 1 file changed, 1 insertion(+) diff --git a/src/main.js b/src/main.js index 46a571d7..aafefa66 100644 --- a/src/main.js +++ b/src/main.js @@ -30,6 +30,7 @@ window.addEventListener('load', init); export const title = document.getElementById('postTitle'); export const postText = postForm['postText']; +//Conecta con las funciones del post //Formulario enviado DOM export const postForm = document.getElementById('postform'); postForm.addEventListener('submit', (e) =>{ From dd69d381e619acd369b6c7540c77496b70ddc4c6 Mon Sep 17 00:00:00 2001 From: FernandaFloresC Date: Wed, 13 Jul 2022 11:28:12 -0400 Subject: [PATCH 35/56] subiendo cambios de oh --- src/lib/firebase/auth.js | 10 ++++++--- src/lib/firebase/firestore.js | 5 ++++- src/lib/router.js | 11 ++++----- src/lib/views/templateFeed.js | 7 ++++-- src/lib/views/templateLogin.js | 7 ++++-- src/lib/views/templateMenu.js | 16 ++++++++++--- src/main.js | 41 ++++++++++++++++++---------------- 7 files changed, 62 insertions(+), 35 deletions(-) diff --git a/src/lib/firebase/auth.js b/src/lib/firebase/auth.js index e7de722a..dd42bda3 100644 --- a/src/lib/firebase/auth.js +++ b/src/lib/firebase/auth.js @@ -7,7 +7,8 @@ import { } from "./init.js"; -const auth = getAuth(); +//const auth = getAuth(); +export const loginWithGoogle = () => { signInWithPopup(auth, provider) .then((result) => { // This gives you a Google Access Token. You can use it to access the Google API. @@ -16,7 +17,10 @@ signInWithPopup(auth, provider) // The signed-in user info. const user = result.user; // ... - }).catch((error) => { + window.location.href = "/#feed" + }) + + .catch((error) => { // Handle Errors here. const errorCode = error.code; const errorMessage = error.message; @@ -26,7 +30,7 @@ signInWithPopup(auth, provider) const credential = GoogleAuthProvider.credentialFromError(error); // ... }); - +} diff --git a/src/lib/firebase/firestore.js b/src/lib/firebase/firestore.js index 25e0991a..e7477580 100644 --- a/src/lib/firebase/firestore.js +++ b/src/lib/firebase/firestore.js @@ -1,5 +1,5 @@ import { db, collection, addDoc, getDocs, onSnapshot, query, doc, getDoc, deleteDoc } from "./init.js"; -import { postText, root, title } from "../../main.js"; +//import { postText, root, title } from "../../main.js"; @@ -61,6 +61,8 @@ const createPost = async () => { const docData = doc.data(); + const title = document.getElementById('postTitle'); + const postText = postform['postText']; title.value = docData.title; postText.value = docData.text; @@ -68,6 +70,7 @@ const createPost = async () => { }); }); + }; console.log(createPost()); diff --git a/src/lib/router.js b/src/lib/router.js index b529a8f1..07cbcdda 100644 --- a/src/lib/router.js +++ b/src/lib/router.js @@ -23,23 +23,24 @@ export const changeRoutes = (hash) => { export const showTemplate = (hash) => { const containerRoot = document.getElementById('root'); - containerDiv.innerHTML = menuLogin() + containerRoot.innerHTML = " " switch (hash){ + case '#/menuLogin': + containerRoot.appendChild(menuLogin()); + break; case '#/home': containerRoot.appendChild(home()); break; case '#/login': containerRoot.appendChild(login()); break; - case '#/menuLogin': - containerRoot.appendChild(menuLogin()); - break; + case '#/feed': containerRoot.appendChild(feed()); break; default: - containerDiv.innerHTML= `

    Error (╯°□°)╯︵ ┻━┻

    ` + containerRoot.innerHTML= `

    Error (╯°□°)╯︵ ┻━┻

    ` }; }; diff --git a/src/lib/views/templateFeed.js b/src/lib/views/templateFeed.js index c1361fff..0210bd1b 100644 --- a/src/lib/views/templateFeed.js +++ b/src/lib/views/templateFeed.js @@ -1,7 +1,8 @@ //Muro de la red export const feed = () => { - const viewFeed = `
    + const divFeed = document.createElement("div"); + const viewFeed = `
    imagenPerfil

    Usuario

    @@ -16,7 +17,9 @@ export const feed = () => {
    ` - return viewFeed; + divFeed.innerHTML = viewFeed; + return divFeed; + } diff --git a/src/lib/views/templateLogin.js b/src/lib/views/templateLogin.js index 13e4e8c0..aa3abf8f 100644 --- a/src/lib/views/templateLogin.js +++ b/src/lib/views/templateLogin.js @@ -1,7 +1,8 @@ //Funcion que crea el template de la pantalla Login export const login = () => { - const screenLogin = `
    + const divLogin = document.createElement("div"); + const viewLogin = `
    @@ -23,6 +24,8 @@ export const login = () => {
    ` - return screenLogin; +divLogin.innerHTML = viewLogin; +return divLogin; + //console.log('Hola mundo!'); }; diff --git a/src/lib/views/templateMenu.js b/src/lib/views/templateMenu.js index 7b98bf7d..6557e2e3 100644 --- a/src/lib/views/templateMenu.js +++ b/src/lib/views/templateMenu.js @@ -1,7 +1,9 @@ +import { loginWithGoogle } from "../firebase/auth"; //Función que contiene vista del Menu export const menuLogin = () => { - const menuScreen = `
    + const divMenuLogin = document.createElement("div"); + const viewMenuLogin = `
    Tips Adulto Independiente @@ -20,5 +22,13 @@ export const menuLogin = () => {

    `; - return menuScreen; -}; \ No newline at end of file + divMenuLogin.innerHTML = viewMenuLogin; + return divMenuLogin; +}; + +const logIn = divLogin.querySelector("#logIn") +logIn.addEventListener("click", async() => { + + +} +) \ No newline at end of file diff --git a/src/main.js b/src/main.js index 46a571d7..812d417a 100644 --- a/src/main.js +++ b/src/main.js @@ -14,41 +14,44 @@ export const root = document.getElementById('root'); //Init del router const init = () => { - document.getElementById('root').innerHTML = menuLogin(); + // document.getElementById('root').innerHTML = menuLogin(); changeRoutes(window.location.hash); window.addEventListener('hashchange', () => { changeRoutes(window.location.hash); }) + + + } //carga el init window.addEventListener('load', init); -//llama al input y textarea -export const title = document.getElementById('postTitle'); -export const postText = postForm['postText']; +// //llama al input y textarea +// export const title = document.getElementById('postTitle'); +// export const postText = postform['postText']; -//Formulario enviado DOM -export const postForm = document.getElementById('postform'); -postForm.addEventListener('submit', (e) =>{ - e.preventDefault(); +// //Formulario enviado DOM +// export const postForm = document.getElementById('postform'); +// postForm.addEventListener('submit', (e) =>{ +// e.preventDefault(); - title; - postText; +// title; +// postText; - // const title = document.getElementById('postTitle'); - // const postText = postform['postText']; +// // const title = document.getElementById('postTitle'); +// // const postText = postform['postText']; -//console.log(title.value); +// //console.log(title.value); - //obtiene el valor del titulo y el post del input y textarea - console.log (savePost(title.value, postText.value)); - // console.log(postText.value) +// //obtiene el valor del titulo y el post del input y textarea +// console.log (savePost(title.value, postText.value)); +// // console.log(postText.value) - //Resetea el formulario, lo limpia - postForm.reset(); +// //Resetea el formulario, lo limpia +// postForm.reset(); -}); +// }); From 911e34c522a8809373b04dbf3d9554f58c1f3663 Mon Sep 17 00:00:00 2001 From: unknown Date: Wed, 13 Jul 2022 12:13:46 -0400 Subject: [PATCH 36/56] test --- src/lib/firebase/firestore.js | 2 -- 1 file changed, 2 deletions(-) diff --git a/src/lib/firebase/firestore.js b/src/lib/firebase/firestore.js index 0e6f5772..eb37d643 100644 --- a/src/lib/firebase/firestore.js +++ b/src/lib/firebase/firestore.js @@ -61,8 +61,6 @@ const createPost = async () => { const docData = doc.data(); - const title = document.getElementById('postTitle'); - const postText = postform['postText']; title.value = docData.title; postText.value = docData.text; From 07f34ea231f4668f3d7eefa6cfb8b11060ee94b7 Mon Sep 17 00:00:00 2001 From: unknown Date: Wed, 13 Jul 2022 13:37:36 -0400 Subject: [PATCH 37/56] se rompio el code --- src/lib/firebase/auth.js | 3 +- src/lib/firebase/firestore.js | 29 +++++++++------- src/lib/views/templateFeed.js | 64 +++++++++++++++++++++++------------ src/lib/views/templateMenu.js | 24 ++++++++++--- src/main.js | 26 -------------- 5 files changed, 79 insertions(+), 67 deletions(-) diff --git a/src/lib/firebase/auth.js b/src/lib/firebase/auth.js index dd42bda3..c15049c7 100644 --- a/src/lib/firebase/auth.js +++ b/src/lib/firebase/auth.js @@ -2,7 +2,6 @@ import { auth, provider, GoogleAuthProvider, - signInWithEmailAndPassword, signInWithPopup, } from "./init.js"; @@ -17,7 +16,7 @@ signInWithPopup(auth, provider) // The signed-in user info. const user = result.user; // ... - window.location.href = "/#feed" + window.location.href = "/#feed"; }) .catch((error) => { diff --git a/src/lib/firebase/firestore.js b/src/lib/firebase/firestore.js index eb37d643..5c8f2156 100644 --- a/src/lib/firebase/firestore.js +++ b/src/lib/firebase/firestore.js @@ -1,5 +1,5 @@ import { db, collection, addDoc, getDocs, onSnapshot, query, doc, getDoc, deleteDoc } from "./init.js"; -import { postText, root, title } from "../../main.js"; +import { root } from "../../main.js"; @@ -53,19 +53,22 @@ const createPost = async () => { }); - const btnsEdit = root.querySelectorAll('.btnEdit'); - btnsEdit.forEach(btn => { - btn.addEventListener('click', async (event) => { - - const doc = await editPost(event.target.dataset.id); - - const docData = doc.data(); - - title.value = docData.title; - postText.value = docData.text; + const btnsEdit = root.querySelectorAll('.btnEdit'); + btnsEdit.forEach(btn => { + btn.addEventListener('click', async (event) => { + + const doc = await editPost(event.target.dataset.id); + + const docData = doc.data(); + + const title = document.getElementById('postTitle'); + const postText = postform['postText']; - }); - }); + title.value = docData.title; + postText.value = docData.text; + + }); + }); }); diff --git a/src/lib/views/templateFeed.js b/src/lib/views/templateFeed.js index 0210bd1b..2684a6a4 100644 --- a/src/lib/views/templateFeed.js +++ b/src/lib/views/templateFeed.js @@ -1,26 +1,48 @@ + + //Muro de la red export const feed = () => { - const divFeed = document.createElement("div"); - const viewFeed = `
    -
    - imagenPerfil -

    Usuario

    -
    -
    -
    - - -
    - -
    -
    -
    -
    ` - divFeed.innerHTML = viewFeed; - return divFeed; - - - } + const divFeed = document.createElement("div"); + const viewFeed = `
    +
    + imagenPerfil +

    Usuario

    +
    +
    +
    + + +
    + +
    +
    +
    +
    ` + divFeed.innerHTML = viewFeed; + return divFeed; + + + //Formulario enviado DOM +const postForm = document.getElementById('postform'); +postForm.addEventListener('submit', (e) =>{ + e.preventDefault(); + + const title = document.getElementById('postTitle'); + const postText = postform['postText']; +//console.log(title.value); + + //obtiene el valor del titulo y el post del input y textarea + savePost(title.value, postText.value); + // console.log(postText.value) + + //Resetea el formulario, lo limpia + postForm.reset(); + +}); +console.log(postForm); + +}; + diff --git a/src/lib/views/templateMenu.js b/src/lib/views/templateMenu.js index 6557e2e3..9ce678c6 100644 --- a/src/lib/views/templateMenu.js +++ b/src/lib/views/templateMenu.js @@ -1,4 +1,4 @@ -import { loginWithGoogle } from "../firebase/auth"; +import { loginWithGoogle } from "../firebase/auth.js"; //Función que contiene vista del Menu export const menuLogin = () => { @@ -24,11 +24,25 @@ export const menuLogin = () => { `; divMenuLogin.innerHTML = viewMenuLogin; return divMenuLogin; + + const logIn = divMenuLogin.querySelector("#logIn"); + logIn.addEventListener("click", async() => { + const loginGoogle = loginWithGoogle (); + + if(loginGoogle) { + changeRoutes('#/feed') + } else { + console.log("el gatito tuyo te perdió") + } + }); + }; -const logIn = divLogin.querySelector("#logIn") -logIn.addEventListener("click", async() => { -} -) \ No newline at end of file + + + + + + diff --git a/src/main.js b/src/main.js index 0b501d61..7dc18387 100644 --- a/src/main.js +++ b/src/main.js @@ -29,30 +29,4 @@ const init = () => { window.addEventListener('load', init); -//llama al input y textarea -export const title = document.getElementById('postTitle'); -export const postText = postform['postText']; - -// Conecta con las funciones del post -// Formulario enviado DOM -export const postForm = document.getElementById('postform'); -postForm.addEventListener('submit', (e) =>{ - e.preventDefault(); - - title; - postText; - - // const title = document.getElementById('postTitle'); - // const postText = postform['postText']; - -//console.log(title.value); - - //obtiene el valor del titulo y el post del input y textarea - console.log (savePost(title.value, postText.value)); - // console.log(postText.value) - - //Resetea el formulario, lo limpia - postForm.reset(); - -}); From 15ead35a20236cbc45cf5b3e4391aaa4e22fab52 Mon Sep 17 00:00:00 2001 From: FernandaFloresC Date: Wed, 13 Jul 2022 16:41:30 -0400 Subject: [PATCH 38/56] cambios de tarde con Dani --- src/lib/firebase/auth.js | 1 - src/lib/firebase/firestore.js | 2 +- src/lib/firebase/templatePost.js | 10 ---------- src/lib/router.js | 13 ------------- src/lib/views/templateHome.js | 29 ----------------------------- src/lib/views/templateLogin.js | 31 ------------------------------- src/lib/views/templateMenu.js | 25 ++++++++++++++++--------- src/lib/views/templateRegister.js | 27 --------------------------- src/main.js | 4 +--- 9 files changed, 18 insertions(+), 124 deletions(-) delete mode 100644 src/lib/firebase/templatePost.js delete mode 100644 src/lib/views/templateHome.js delete mode 100644 src/lib/views/templateLogin.js delete mode 100644 src/lib/views/templateRegister.js diff --git a/src/lib/firebase/auth.js b/src/lib/firebase/auth.js index dd42bda3..3aaba0ac 100644 --- a/src/lib/firebase/auth.js +++ b/src/lib/firebase/auth.js @@ -2,7 +2,6 @@ import { auth, provider, GoogleAuthProvider, - signInWithEmailAndPassword, signInWithPopup, } from "./init.js"; diff --git a/src/lib/firebase/firestore.js b/src/lib/firebase/firestore.js index e7477580..33c3a52e 100644 --- a/src/lib/firebase/firestore.js +++ b/src/lib/firebase/firestore.js @@ -1,5 +1,5 @@ import { db, collection, addDoc, getDocs, onSnapshot, query, doc, getDoc, deleteDoc } from "./init.js"; -//import { postText, root, title } from "../../main.js"; +import { root } from "../../main.js"; diff --git a/src/lib/firebase/templatePost.js b/src/lib/firebase/templatePost.js deleted file mode 100644 index a81c99a7..00000000 --- a/src/lib/firebase/templatePost.js +++ /dev/null @@ -1,10 +0,0 @@ -//import { docData } from "./firestore" - -//Template del post -export const post = (data) => { - const viewPost = `
    -

    ${data.title}

    -

    ${data.text}

    -
    `; - return viewPost; -} \ No newline at end of file diff --git a/src/lib/router.js b/src/lib/router.js index 07cbcdda..303788c2 100644 --- a/src/lib/router.js +++ b/src/lib/router.js @@ -1,5 +1,3 @@ -import { home } from './views/templateHome.js'; -import { login } from './views/templateLogin.js'; import { menuLogin } from './views/templateMenu.js'; import { feed } from './views/templateFeed.js' @@ -7,10 +5,6 @@ import { feed } from './views/templateFeed.js' export const changeRoutes = (hash) => { if (hash === '#/'){ return showTemplate(hash); - } else if (hash === '#/home'){ - return showTemplate(hash); - } else if (hash === '#/login'){ - return showTemplate(hash); } else if (hash === '#/menuLogin'){ return showTemplate(hash); } else if (hash === '#/feed'){ @@ -28,13 +22,6 @@ export const showTemplate = (hash) => { case '#/menuLogin': containerRoot.appendChild(menuLogin()); break; - case '#/home': - containerRoot.appendChild(home()); - break; - case '#/login': - containerRoot.appendChild(login()); - break; - case '#/feed': containerRoot.appendChild(feed()); break; diff --git a/src/lib/views/templateHome.js b/src/lib/views/templateHome.js deleted file mode 100644 index 91de7f81..00000000 --- a/src/lib/views/templateHome.js +++ /dev/null @@ -1,29 +0,0 @@ - -//Funcion que crea el template de la pantalla Inicio -export const home = () => { - const divHome = document.createElement("div"); - const viewHome = `
    -
    - -
    -
    -

    - Únete a la comunidad y - conoce todos los secretos - para vivir sol@ antes de los 30 - -

    -
    -
    - -

    - ¿No tienes cuenta aún? Regístrate aquí. -

    -
    -
    ` - divHome.innerHTML = viewHome; - return divHome; - -} diff --git a/src/lib/views/templateLogin.js b/src/lib/views/templateLogin.js deleted file mode 100644 index aa3abf8f..00000000 --- a/src/lib/views/templateLogin.js +++ /dev/null @@ -1,31 +0,0 @@ - -//Funcion que crea el template de la pantalla Login -export const login = () => { - const divLogin = document.createElement("div"); - const viewLogin = `
    -
    - -
    -
    - - -
    -
    - -

    - ¿No tienes cuenta aún? Regístrate aquí. -

    -
    -
    -` -divLogin.innerHTML = viewLogin; -return divLogin; - - //console.log('Hola mundo!'); -}; diff --git a/src/lib/views/templateMenu.js b/src/lib/views/templateMenu.js index 6557e2e3..258b4a24 100644 --- a/src/lib/views/templateMenu.js +++ b/src/lib/views/templateMenu.js @@ -1,11 +1,11 @@ -import { loginWithGoogle } from "../firebase/auth"; - +import { loginWithGoogle } from "../firebase/auth.js"; +import { changeRoutes } from "../router.js"; //Función que contiene vista del Menu export const menuLogin = () => { const divMenuLogin = document.createElement("div"); const viewMenuLogin = `
    - + Tips Adulto Independiente
    @@ -21,14 +21,21 @@ export const menuLogin = () => { ¿No tienes cuenta aún? Regístrate aquí.

    - `; + ` divMenuLogin.innerHTML = viewMenuLogin; - return divMenuLogin; -}; + -const logIn = divLogin.querySelector("#logIn") -logIn.addEventListener("click", async() => { +const logIn = divMenuLogin.querySelector("#logIn"); +logIn.addEventListener("click", async() => { +const loginGoogle = loginWithGoogle (); +if(loginGoogle) { + changeRoutes('#/feed') +} else { + console.log("el gatito tuyo te perdió") } -) \ No newline at end of file +}); +return divMenuLogin; + +}; \ No newline at end of file diff --git a/src/lib/views/templateRegister.js b/src/lib/views/templateRegister.js deleted file mode 100644 index f17f72f8..00000000 --- a/src/lib/views/templateRegister.js +++ /dev/null @@ -1,27 +0,0 @@ - -//Funcion template de la pantalla de registro -export const register = () => { - const screenRegister = /*`
    -
    - -
    -
    -
    - - - - -
    -
    -
    - - -
    -
    - `*/; -return screenRegister; - -}; \ No newline at end of file diff --git a/src/main.js b/src/main.js index 812d417a..6ed3bdfa 100644 --- a/src/main.js +++ b/src/main.js @@ -1,9 +1,7 @@ // Este es el punto de entrada de tu aplicacion //Rutas -import { home } from './lib/views/templateHome.js'; -import { login } from './lib/views/templateLogin.js'; -import { menuLogin } from './lib/views/templateMenu.js'; +//import { menuLogin } from './lib/views/templateMenu.js'; import { changeRoutes } from './lib/router.js'; //funciones firestore From 701c88fdf3a98b2b71ff377674409c585ae03bf5 Mon Sep 17 00:00:00 2001 From: FernandaFloresC Date: Wed, 13 Jul 2022 18:26:59 -0400 Subject: [PATCH 39/56] cambios que muestran la primera vista --- ...oformitoTriste.png => deformitoTriste.png} | Bin src/lib/firebase/firestore.js | 7 ++-- src/lib/views/templateFeed.js | 33 ++++++++++++++---- src/lib/views/templateMenu.js | 23 ++++++------ src/main.js | 27 +------------- src/style.css | 5 +++ 6 files changed, 49 insertions(+), 46 deletions(-) rename src/images/{doformitoTriste.png => deformitoTriste.png} (100%) diff --git a/src/images/doformitoTriste.png b/src/images/deformitoTriste.png similarity index 100% rename from src/images/doformitoTriste.png rename to src/images/deformitoTriste.png diff --git a/src/lib/firebase/firestore.js b/src/lib/firebase/firestore.js index 33c3a52e..05f317d3 100644 --- a/src/lib/firebase/firestore.js +++ b/src/lib/firebase/firestore.js @@ -27,6 +27,7 @@ const onGetPost = (callback) => onSnapshot(collection(db, "posts"), callback); const createPost = async () => { onGetPost((snapShot) => { let card = ""; + const divPost = document.createElement("div"); //recorre el array de docs de firebase snapShot.forEach((doc) => { @@ -41,10 +42,10 @@ const createPost = async () => { `; }); - root.innerHTML = card; + divPost.innerHTML = card; - const btnsDelete = root.querySelectorAll('.btnDelete'); + const btnsDelete = divPost.querySelectorAll('.btnDelete'); btnsDelete.forEach(btn => { btn.addEventListener('click', (event) => { @@ -53,7 +54,7 @@ const createPost = async () => { }); - const btnsEdit = root.querySelectorAll('.btnEdit'); + const btnsEdit = divPost.querySelectorAll('.btnEdit'); btnsEdit.forEach(btn => { btn.addEventListener('click', async (event) => { diff --git a/src/lib/views/templateFeed.js b/src/lib/views/templateFeed.js index 0210bd1b..e0032e42 100644 --- a/src/lib/views/templateFeed.js +++ b/src/lib/views/templateFeed.js @@ -1,26 +1,47 @@ +import { savePost } from "../firebase/firestore.js "; //Muro de la red export const feed = () => { const divFeed = document.createElement("div"); - const viewFeed = `
    + const viewFeed = `
    imagenPerfil

    Usuario

    -
    - - + + +
    - +
    ` divFeed.innerHTML = viewFeed; - return divFeed; + + //Formulario enviado DOM + const postForm = divFeed.querySelector('#postform'); + + postForm.addEventListener('submit', (e) =>{ + e.preventDefault(); +//llama al input y textarea +const title = divFeed.querySelector('#postTitle'); +const postText = divFeed.querySelector("#postText"); + +console.log(title.value); + + //obtiene el valor del titulo y el post del input y textarea + savePost(title.value, postText.value); + // console.log(postText.value) + + //Resetea el formulario, lo limpia + postForm.reset(); + +}); +return divFeed; } diff --git a/src/lib/views/templateMenu.js b/src/lib/views/templateMenu.js index 258b4a24..f4d72025 100644 --- a/src/lib/views/templateMenu.js +++ b/src/lib/views/templateMenu.js @@ -5,7 +5,7 @@ export const menuLogin = () => { const divMenuLogin = document.createElement("div"); const viewMenuLogin = `
    - + Tips Adulto Independiente
    @@ -26,16 +26,17 @@ export const menuLogin = () => { -const logIn = divMenuLogin.querySelector("#logIn"); -logIn.addEventListener("click", async() => { -const loginGoogle = loginWithGoogle (); +// const logIn = divMenuLogin.querySelector("#logIn"); -if(loginGoogle) { - changeRoutes('#/feed') -} else { - console.log("el gatito tuyo te perdió") -} -}); +// logIn.addEventListener("click", async() => { +// const loginGoogle = loginWithGoogle(); + +// if(loginGoogle) { +// changeRoutes('#/feed'); +// } else { +// console.log("el gatito tuyo te perdió"); +// } +// }); return divMenuLogin; -}; \ No newline at end of file +} \ No newline at end of file diff --git a/src/main.js b/src/main.js index 6ed3bdfa..765af6d6 100644 --- a/src/main.js +++ b/src/main.js @@ -4,8 +4,7 @@ //import { menuLogin } from './lib/views/templateMenu.js'; import { changeRoutes } from './lib/router.js'; -//funciones firestore -import { savePost } from './lib/firebase/firestore.js'; +; //Contiene o llama el div del html export const root = document.getElementById('root'); @@ -27,29 +26,5 @@ const init = () => { window.addEventListener('load', init); -// //llama al input y textarea -// export const title = document.getElementById('postTitle'); -// export const postText = postform['postText']; -// //Formulario enviado DOM -// export const postForm = document.getElementById('postform'); -// postForm.addEventListener('submit', (e) =>{ -// e.preventDefault(); - -// title; -// postText; - -// // const title = document.getElementById('postTitle'); -// // const postText = postform['postText']; - -// //console.log(title.value); - -// //obtiene el valor del titulo y el post del input y textarea -// console.log (savePost(title.value, postText.value)); -// // console.log(postText.value) - -// //Resetea el formulario, lo limpia -// postForm.reset(); - -// }); diff --git a/src/style.css b/src/style.css index a4e52a43..8862b279 100644 --- a/src/style.css +++ b/src/style.css @@ -65,3 +65,8 @@ body { margin-left: auto; margin-right: auto; } +.feeed{ + display: flex; + flex-direction: row; + justify-content: center; +} \ No newline at end of file From 7b1b654fc8ada6aa705623e8e1637efe3134707e Mon Sep 17 00:00:00 2001 From: unknown Date: Wed, 13 Jul 2022 18:46:18 -0400 Subject: [PATCH 40/56] codigo roto pero sin error --- src/lib/views/templateFeed.js | 75 +++++++++++++++++++---------------- src/main.js | 2 - 2 files changed, 40 insertions(+), 37 deletions(-) diff --git a/src/lib/views/templateFeed.js b/src/lib/views/templateFeed.js index 2684a6a4..a2800610 100644 --- a/src/lib/views/templateFeed.js +++ b/src/lib/views/templateFeed.js @@ -1,48 +1,53 @@ +//funciones firestore +import { savePost } from "../firebase/firestore.js "; - +export const divFeed = document.createElement("div"); //Muro de la red export const feed = () => { - const divFeed = document.createElement("div"); - const viewFeed = `
    -
    - imagenPerfil -

    Usuario

    -
    -
    -
    - - -
    - -
    -
    -
    -
    ` - divFeed.innerHTML = viewFeed; - return divFeed; - - - //Formulario enviado DOM -const postForm = document.getElementById('postform'); -postForm.addEventListener('submit', (e) =>{ + + const viewFeed = `
    +
    + +

    Usuario

    +
    +
    +
    + + +
    + +
    +
    +
    +
    `; + divFeed.innerHTML = viewFeed; + + + //Formulario enviado DOM + const postForm = divFeed.querySelector("#postform"); + postForm.addEventListener("submit", (e) => { e.preventDefault(); - const title = document.getElementById('postTitle'); - const postText = postform['postText']; + const title = document.getElementById("postTitle"); + const postText = postform["postText"]; -//console.log(title.value); + //console.log(title.value); - //obtiene el valor del titulo y el post del input y textarea - savePost(title.value, postText.value); - // console.log(postText.value) + //obtiene el valor del titulo y el post del input y textarea + savePost(title.value, postText.value); + // console.log(postText.value) - //Resetea el formulario, lo limpia - postForm.reset(); + //Resetea el formulario, lo limpia + postForm.reset(); + }); + console.log(postForm); -}); -console.log(postForm); + return divFeed; }; - diff --git a/src/main.js b/src/main.js index 7dc18387..aa968c26 100644 --- a/src/main.js +++ b/src/main.js @@ -6,8 +6,6 @@ import { login } from './lib/views/templateLogin.js'; import { menuLogin } from './lib/views/templateMenu.js'; import { changeRoutes } from './lib/router.js'; -//funciones firestore -import { savePost } from './lib/firebase/firestore.js'; //Contiene o llama el div del html export const root = document.getElementById('root'); From c6fb557f273cc72c03d9874b9ba80d5b72563aea Mon Sep 17 00:00:00 2001 From: FernandaFloresC Date: Wed, 13 Jul 2022 19:56:48 -0400 Subject: [PATCH 41/56] cambios leves para que se vea la vista --- src/lib/views/templateMenu.js | 24 ++++++++++++------------ 1 file changed, 12 insertions(+), 12 deletions(-) diff --git a/src/lib/views/templateMenu.js b/src/lib/views/templateMenu.js index f4d72025..3babd0b2 100644 --- a/src/lib/views/templateMenu.js +++ b/src/lib/views/templateMenu.js @@ -13,10 +13,10 @@ export const menuLogin = () => { conoce todos los secretos para vivir sol@ antes de los 30
    - +
    - ` - divFeed.innerHTML = viewFeed; - - - //Formulario enviado DOM - - const postForm = divFeed.querySelector('#postform'); + `; + divFeed.innerHTML = viewFeed; + + + //Formulario enviado a DOM + const postForm = divFeed.querySelector("#postform"); - postForm.addEventListener('submit', (e) =>{ + postForm.addEventListener("submit", (e) => { e.preventDefault(); -//llama al input y textarea -const title = divFeed.querySelector('#postTitle'); -const postText = divFeed.querySelector("#postText"); - -console.log(title.value); + //llama al input y textarea + const title = divFeed.querySelector("#postTitle"); + const postText = divFeed.querySelector("#postText"); + + console.log(title.value); + + //obtiene el valor del titulo y el post del input y textarea + savePost(title.value, postText.value); + // console.log(postText.value) + + //Resetea el formulario, lo limpia + postForm.reset(); + }); + - //obtiene el valor del titulo y el post del input y textarea - savePost(title.value, postText.value); - // console.log(postText.value) + //crea el post en tiempo real + const createPost = async () => { + onGetPost((snapShot) => { + let card = ""; - //Resetea el formulario, lo limpia - postForm.reset(); + const divPost = document.createElement("div"); -}); + //recorre el array de docs de firebase + snapShot.forEach((doc) => { + //console.log(doc.data()) + const docData = doc.data(); //el .data() convierte los objetos firebase a obj JS + + card += `
    +

    ${docData.title}

    +

    ${docData.text}

    + + +
    `; + }); -return divFeed; + divPost.innerHTML = card; + + + const btnsDelete = divPost.querySelectorAll('.btnDelete'); + btnsDelete.forEach(btn => { + btn.addEventListener('click', (event) => { + + deletePost(event.target.dataset.id); + }); + }); + + + const btnsEdit = divPost.querySelectorAll('.btnEdit'); + btnsEdit.forEach(btn => { + btn.addEventListener('click', async (event) => { + + const doc = await editPost(event.target.dataset.id); + + const docData = doc.data(); + + const title = divFeed.querySelector('#postTitle'); + const postText = divFeed.querySelector("#postText"); + + title.value = docData.title; + postText.value = docData.text; + + }); + }); + + }); }; +console.log(createPost()); + + return divFeed; +}; diff --git a/src/lib/views/templateMenu.js b/src/lib/views/templateMenu.js index bdc619c1..c1f57da3 100644 --- a/src/lib/views/templateMenu.js +++ b/src/lib/views/templateMenu.js @@ -1,9 +1,7 @@ import { loginWithGoogle } from "../firebase/auth.js"; -<<<<<<< HEAD - -======= import { changeRoutes } from "../router.js"; ->>>>>>> 701c88fdf3a98b2b71ff377674409c585ae03bf5 + + //Función que contiene vista del Menu export const menuLogin = () => { const divMenuLogin = document.createElement("div"); @@ -27,8 +25,7 @@ export const menuLogin = () => { ` divMenuLogin.innerHTML = viewMenuLogin; -<<<<<<< HEAD - return divMenuLogin; + const logIn = divMenuLogin.querySelector("#logIn"); logIn.addEventListener("click", async() => { @@ -41,32 +38,6 @@ export const menuLogin = () => { } }); -}; - - - - - - - - - -======= - - - -// const logIn = divMenuLogin.querySelector("#logIn"); - -// logIn.addEventListener("click", async() => { -// const loginGoogle = loginWithGoogle(); - -// if(loginGoogle) { -// changeRoutes('#/feed'); -// } else { -// console.log("el gatito tuyo te perdió"); -// } -// }); -return divMenuLogin; + return divMenuLogin; -} ->>>>>>> 701c88fdf3a98b2b71ff377674409c585ae03bf5 +}; diff --git a/src/lib/views/templatePost.js b/src/lib/views/templatePost.js new file mode 100644 index 00000000..e69de29b From 9c99dd7f9c37cb5a60ba8747920ec3e284b2fd34 Mon Sep 17 00:00:00 2001 From: unknown Date: Wed, 13 Jul 2022 20:43:29 -0400 Subject: [PATCH 43/56] estilo --- src/lib/views/templateFeed.js | 32 +++++++++++++++++--------------- src/style.css | 32 ++++++++++++++++++++++++++++++++ 2 files changed, 49 insertions(+), 15 deletions(-) diff --git a/src/lib/views/templateFeed.js b/src/lib/views/templateFeed.js index be05616e..e91411b0 100644 --- a/src/lib/views/templateFeed.js +++ b/src/lib/views/templateFeed.js @@ -4,21 +4,23 @@ import { savePost, deletePost, editPost, onGetPost } from "../firebase/firestore //Muro de la red export const feed = () => { const divFeed = document.createElement("div"); - const viewFeed = `
    -
    - imagenPerfil -

    Usuario

    -
    -
    -
    - - -
    - -
    -
    -
    -
    `; + const viewFeed = `
    + imagenPerfil +

    Usuario

    +
    +
    +
    + + +
    + +
    +
    +
    `; divFeed.innerHTML = viewFeed; diff --git a/src/style.css b/src/style.css index 8862b279..feb8dba0 100644 --- a/src/style.css +++ b/src/style.css @@ -69,4 +69,36 @@ body { display: flex; flex-direction: row; justify-content: center; +} + + +.containerForm{ + display: flex; + flex-direction: column; + flex-wrap: nowrap; + justify-content: center; + align-items: center; +} + +label input { + + border-radius: 10%; +} + +.titlePost{ + height: 5vh; + width: 50vw; + background-color: aquamarine; + border-radius: 10px; + text-align: center; + margin: 10px 0px 10px 0px; +} + +.textPost{ + height: 15vh; + width: 50vw; + background-color: aquamarine; + border-radius: 10px; + text-align: center; + margin-bottom: 15px; } \ No newline at end of file From 58528d5c666742f63c794f256b1f59456ddae40f Mon Sep 17 00:00:00 2001 From: unknown Date: Wed, 13 Jul 2022 20:54:22 -0400 Subject: [PATCH 44/56] ggg --- src/index.html | 1 + src/lib/views/templateFeed.js | 4 ++-- 2 files changed, 3 insertions(+), 2 deletions(-) diff --git a/src/index.html b/src/index.html index e90c5aed..1c375c59 100644 --- a/src/index.html +++ b/src/index.html @@ -9,6 +9,7 @@
    +
    diff --git a/src/lib/views/templateFeed.js b/src/lib/views/templateFeed.js index e91411b0..7f81a94b 100644 --- a/src/lib/views/templateFeed.js +++ b/src/lib/views/templateFeed.js @@ -5,7 +5,7 @@ import { savePost, deletePost, editPost, onGetPost } from "../firebase/firestore export const feed = () => { const divFeed = document.createElement("div"); const viewFeed = `
    - imagenPerfil + imagenPerfil

    Usuario

    @@ -49,7 +49,7 @@ export const feed = () => { onGetPost((snapShot) => { let card = ""; - const divPost = document.createElement("div"); + const divPost = document.getElementById('rootPost'); //recorre el array de docs de firebase snapShot.forEach((doc) => { From 6d8148b075f6cd6a5bd089ee8ffefa21bb0f85bb Mon Sep 17 00:00:00 2001 From: katherine Date: Thu, 14 Jul 2022 08:04:22 -0400 Subject: [PATCH 45/56] =?UTF-8?q?peque=C3=B1os=20cambios?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- src/style.css | 8 ++++---- 1 file changed, 4 insertions(+), 4 deletions(-) diff --git a/src/style.css b/src/style.css index feb8dba0..5f3ebf6f 100644 --- a/src/style.css +++ b/src/style.css @@ -78,12 +78,11 @@ body { flex-wrap: nowrap; justify-content: center; align-items: center; + font-family: 'Montserrat'; + margin-top: 5%; } -label input { - border-radius: 10%; -} .titlePost{ height: 5vh; @@ -92,6 +91,7 @@ label input { border-radius: 10px; text-align: center; margin: 10px 0px 10px 0px; + font-family: 'Montserrat'; } .textPost{ @@ -100,5 +100,5 @@ label input { background-color: aquamarine; border-radius: 10px; text-align: center; - margin-bottom: 15px; + font-family: 'Montserrat'; } \ No newline at end of file From 507b3cd0ca81fe9a3ffc388597a07019b36198d9 Mon Sep 17 00:00:00 2001 From: unknown Date: Thu, 14 Jul 2022 08:19:14 -0400 Subject: [PATCH 46/56] funciona login, y router, falta indexar el user al post, por eso no se edita y actualizar los datos --- src/lib/firebase/auth.js | 14 +++++++++++-- src/lib/firebase/firestore.js | 6 +++--- src/lib/router.js | 37 ++++++++++++++++++----------------- src/lib/views/templateFeed.js | 21 +++++++++++++------- src/lib/views/templateMenu.js | 35 +++++++++++++++++++-------------- src/main.js | 16 +++++++-------- src/style.css | 10 ++++++++-- 7 files changed, 84 insertions(+), 55 deletions(-) diff --git a/src/lib/firebase/auth.js b/src/lib/firebase/auth.js index c15049c7..e36515b7 100644 --- a/src/lib/firebase/auth.js +++ b/src/lib/firebase/auth.js @@ -5,6 +5,15 @@ import { signInWithPopup, } from "./init.js"; +export const loginGoogle = () => { + //funcion llamada en el router cuando se inicializa + const signInGoogle = document.querySelector('.logIn'); + signInGoogle.addEventListener('click', (event) => { + event.preventDefault(); + loginWithGoogle(); + }); +}; + //const auth = getAuth(); export const loginWithGoogle = () => { @@ -15,8 +24,8 @@ signInWithPopup(auth, provider) const token = credential.accessToken; // The signed-in user info. const user = result.user; - // ... - window.location.href = "/#feed"; + console.log(user); + window.location.href = "#/feed"; }) .catch((error) => { @@ -33,6 +42,7 @@ signInWithPopup(auth, provider) + /* const login = async(email, password)=> { try { diff --git a/src/lib/firebase/firestore.js b/src/lib/firebase/firestore.js index e6dd7a2b..1065448e 100644 --- a/src/lib/firebase/firestore.js +++ b/src/lib/firebase/firestore.js @@ -4,11 +4,11 @@ import { db, collection, addDoc, onSnapshot, query, doc, getDoc, deleteDoc } fro //Función que guarda los datos del formulario del post en firebase -export const savePost = (title, text) => { +export const savePost = (autor, title, text) => { //Agrega un doc a una colección en formato de objeto - addDoc(collection(db,'posts'),{title:title, text:text}); - //console.log(collection(db,'posts'),{title:title, text:text}); + addDoc(collection(db,'posts'),{autor:autor, title:title, text:text}); + //console.log(collection(db,'posts'),{autor:autor, title:title, text:text}); }; diff --git a/src/lib/router.js b/src/lib/router.js index 06da4236..59b78fe3 100644 --- a/src/lib/router.js +++ b/src/lib/router.js @@ -1,34 +1,35 @@ import { menuLogin } from './views/templateMenu.js'; import { feed } from './views/templateFeed.js'; +import { loginGoogle } from './firebase/auth.js'; //Enrutador +// export const changeRoutes = (hash) => { +// if (hash === '#/'){ +// return showTemplate(hash); +// } else if (hash === '#/menuLogin'){ +// return showTemplate(hash); +// } else if (hash === '#/feed'){ +// return showTemplate(hash); +// } else { +// return showTemplate(hash); +// } +// } + + export const changeRoutes = (hash) => { - if (hash === '#/'){ - return showTemplate(hash); - } else if (hash === '#/menuLogin'){ - return showTemplate(hash); - } else if (hash === '#/feed'){ - return showTemplate(hash); - } else { - return alert(' No existen rutas (╬▔皿▔)╯') - } -} - - -export const showTemplate = (hash) => { const containerRoot = document.getElementById('root'); - containerRoot.innerHTML = " "; + //containerRoot.innerHTML = ""; switch (hash){ case '#/menuLogin': - containerRoot.appendChild(menuLogin()); - + containerRoot.appendChild(menuLogin()); + loginGoogle(); + break; case '#/feed': containerRoot.appendChild(feed()); - + break; - default: containerRoot.innerHTML= `

    Error (╯°□°)╯︵ ┻━┻

    ` }; diff --git a/src/lib/views/templateFeed.js b/src/lib/views/templateFeed.js index 7f81a94b..1424dc3e 100644 --- a/src/lib/views/templateFeed.js +++ b/src/lib/views/templateFeed.js @@ -25,7 +25,7 @@ export const feed = () => { //Formulario enviado a DOM - const postForm = divFeed.querySelector("#postform"); + const postForm = divFeed.querySelector("#postform"); postForm.addEventListener("submit", (e) => { e.preventDefault(); @@ -56,12 +56,19 @@ export const feed = () => { //console.log(doc.data()) const docData = doc.data(); //el .data() convierte los objetos firebase a obj JS - card += `
    -

    ${docData.title}

    -

    ${docData.text}

    - - -
    `; + card += `
    +
    +

    ${docData.autor}

    +

    ${docData.title}

    +
    +
    +

    ${docData.text}

    +
    +
    + + +
    +
    `; }); divPost.innerHTML = card; diff --git a/src/lib/views/templateMenu.js b/src/lib/views/templateMenu.js index c1f57da3..f932e5a5 100644 --- a/src/lib/views/templateMenu.js +++ b/src/lib/views/templateMenu.js @@ -15,29 +15,34 @@ export const menuLogin = () => { conoce todos los secretos para vivir sol@ antes de los 30 - + ` divMenuLogin.innerHTML = viewMenuLogin; - + return divMenuLogin; + +}; + +// const logIn = divMenuLogin.querySelector("#logIn"); +// logIn.addEventListener("click", async() => { +// const loginGoogle = loginWithGoogle (); + +// if(loginGoogle) { +// changeRoutes('#/feed') +// } else { +// console.log("el gatito tuyo te perdió") +// } +// }); + + + + - const logIn = divMenuLogin.querySelector("#logIn"); - logIn.addEventListener("click", async() => { - const loginGoogle = loginWithGoogle (); - - if(loginGoogle) { - changeRoutes('#/feed') - } else { - console.log("el gatito tuyo te perdió") - } - }); - return divMenuLogin; -}; diff --git a/src/main.js b/src/main.js index 2dbf2833..b7468d9c 100644 --- a/src/main.js +++ b/src/main.js @@ -1,24 +1,24 @@ // Este es el punto de entrada de tu aplicacion //Rutas -//import { menuLogin } from './lib/views/templateMenu.js'; +import { menuLogin } from './lib/views/templateMenu.js'; import { changeRoutes } from './lib/router.js'; //Contiene o llama el div del html -export const root = document.getElementById('root'); +//export const root = document.getElementById('root'); //Init del router const init = () => { - // document.getElementById('root').innerHTML = menuLogin(); + window.location.href="http://localhost:3000/#/menuLogin"; + const root = document.getElementById('root'); + root.innerHTML = menuLogin(); changeRoutes(window.location.hash); window.addEventListener('hashchange', () => { - + root.innerHTML = ''; changeRoutes(window.location.hash); - }) - - - + }); + } //carga el init diff --git a/src/style.css b/src/style.css index feb8dba0..330a9893 100644 --- a/src/style.css +++ b/src/style.css @@ -10,8 +10,6 @@ body { } /*titulo y deformito*/ .tips{ - display: flex; - flex-direction: column; text-align: center ; font-family: 'Montserrat'; font-style: bold; @@ -32,6 +30,14 @@ body { color: #000000; }*/ +.containerIndex{ + display: flex; + flex-direction: column; + flex-wrap: nowrap; + justify-content: center; + align-items: center; +} + /*texto de únete...*/ .comunity { display: flex; From e1e2e4f29c5868ac77c30b88fe0b206bc9d28fcc Mon Sep 17 00:00:00 2001 From: FernandaFloresC Date: Thu, 14 Jul 2022 10:23:26 -0400 Subject: [PATCH 47/56] nada que subir, solo errores --- src/lib/firebase/auth.js | 22 +++++++++++++++------- src/lib/firebase/firestore.js | 19 ++++++++++--------- src/lib/firebase/init.js | 10 +++++++++- src/lib/router.js | 24 ++++++++++++------------ src/lib/views/templateFeed.js | 5 +++-- src/lib/views/templateMenu.js | 25 ++++++++++++++----------- src/main.js | 1 - src/style.css | 6 +++--- 8 files changed, 66 insertions(+), 46 deletions(-) diff --git a/src/lib/firebase/auth.js b/src/lib/firebase/auth.js index 3aaba0ac..3fc194e8 100644 --- a/src/lib/firebase/auth.js +++ b/src/lib/firebase/auth.js @@ -2,6 +2,7 @@ import { auth, provider, GoogleAuthProvider, + //signOut, signInWithPopup, } from "./init.js"; @@ -11,12 +12,12 @@ export const loginWithGoogle = () => { signInWithPopup(auth, provider) .then((result) => { // This gives you a Google Access Token. You can use it to access the Google API. - const credential = GoogleAuthProvider.credentialFromResult(result); - const token = credential.accessToken; + //const credential = GoogleAuthProvider.credentialFromResult(result); + //const token = credential.accessToken; // The signed-in user info. const user = result.user; // ... - window.location.href = "/#feed" + window.location.href = "/#feed"; }) .catch((error) => { @@ -24,14 +25,21 @@ signInWithPopup(auth, provider) const errorCode = error.code; const errorMessage = error.message; // The email of the user's account used. - const email = error.customData.email; + //const email = error.customData.email; // The AuthCredential type that was used. - const credential = GoogleAuthProvider.credentialFromError(error); + //const credential = GoogleAuthProvider.credentialFromError(error); // ... }); } - - +//--> funcion que escucha el click para acceder con Google // +export const signWithGoogle = () => { + //funcion llamada en el router cuando se inicializa + const signGoogle = document.querySelector('#btnLogin'); + signGoogle.addEventListener('click', (event) => { + event.preventDefault(); + loginWithGoogle(); + }); +}; /* const login = async(email, password)=> { diff --git a/src/lib/firebase/firestore.js b/src/lib/firebase/firestore.js index 05f317d3..ac95f88d 100644 --- a/src/lib/firebase/firestore.js +++ b/src/lib/firebase/firestore.js @@ -1,15 +1,9 @@ -import { db, collection, addDoc, getDocs, onSnapshot, query, doc, getDoc, deleteDoc } from "./init.js"; +import { db, collection, addDoc, getDocs, onSnapshot, query, doc, getDoc, deleteDoc, auth } from "./init.js"; import { root } from "../../main.js"; -//Función que guarda los datos del formulario del post en firebase -export const savePost = (title, text) => { - //Agrega un doc a una colección en formato de objeto - addDoc(collection(db,'posts'),{title:title, text:text}); - //console.log(collection(db,'posts'),{title:title, text:text}); -}; //Busca o enlista el post desde Firestore export const getPost = () => getDocs(collection(db,'posts')); @@ -69,12 +63,19 @@ const createPost = async () => { }); }); - + }); - + return createPost; }; console.log(createPost()); +//Función que guarda los datos del formulario del post en firebase +export const savePost = (title, text) => { + + //Agrega un doc a una colección en formato de objeto + addDoc(collection(db,'posts'),{title:title, text:text}); + //console.log(collection(db,'posts'),{title:title, text:text}); +}; export const editPost = (id) => getDoc(doc(db,'posts',id)); diff --git a/src/lib/firebase/init.js b/src/lib/firebase/init.js index b74c24cd..5cf71d9b 100644 --- a/src/lib/firebase/init.js +++ b/src/lib/firebase/init.js @@ -4,7 +4,7 @@ import { initializeApp } from 'https://www.gstatic.com/firebasejs/9.8.4/firebase //configuracion firebase import { firebaseConfig } from './config.js'; //Importando funciones firebase auth -import { getAuth, signInWithEmailAndPassword, signInWithPopup, GoogleAuthProvider } from 'https://www.gstatic.com/firebasejs/9.8.4/firebase-auth.js'; +import { getAuth, signInWithEmailAndPassword, signInWithPopup, GoogleAuthProvider } from 'https://www.gstatic.com/firebasejs/9.8.4/firebase-auth.js'; //Importando funciones relacionadas a firestore import { getFirestore, collection, getDocs, addDoc,onSnapshot, query, doc, getDoc, deleteDoc } from 'https://www.gstatic.com/firebasejs/9.8.4/firebase-firestore.js'; @@ -19,6 +19,14 @@ const provider = new GoogleAuthProvider(); // Get firestore const db = getFirestore(app); +// //const auth = getAuth(); +// signOut(auth).then(() => { +// // Sign-out successful. +// }).catch((error) => { +// // An error happened. +// }); + + //Exportar funciones firebase-firestore diff --git a/src/lib/router.js b/src/lib/router.js index 303788c2..cb47800f 100644 --- a/src/lib/router.js +++ b/src/lib/router.js @@ -1,18 +1,6 @@ import { menuLogin } from './views/templateMenu.js'; import { feed } from './views/templateFeed.js' -//Enrutador -export const changeRoutes = (hash) => { - if (hash === '#/'){ - return showTemplate(hash); - } else if (hash === '#/menuLogin'){ - return showTemplate(hash); - } else if (hash === '#/feed'){ - return showTemplate(hash); - } else { - return showTemplate(hash); - } -} export const showTemplate = (hash) => { @@ -31,6 +19,18 @@ export const showTemplate = (hash) => { }; }; +//Enrutador +export const changeRoutes = (hash) => { + if (hash === '#/'){ + return showTemplate(hash); + } else if (hash === '#/menuLogin'){ + return showTemplate(hash); + } else if (hash === '#/feed'){ + return showTemplate(hash); + } else { + return showTemplate(hash); + } +} diff --git a/src/lib/views/templateFeed.js b/src/lib/views/templateFeed.js index e0032e42..1e224b0b 100644 --- a/src/lib/views/templateFeed.js +++ b/src/lib/views/templateFeed.js @@ -5,8 +5,8 @@ export const feed = () => { const divFeed = document.createElement("div"); const viewFeed = `
    - imagenPerfil -

    Usuario

    + imagenPerfil +

    Pepito Alcachofa

    @@ -16,6 +16,7 @@ export const feed = () => {
    +
    ` divFeed.innerHTML = viewFeed; diff --git a/src/lib/views/templateMenu.js b/src/lib/views/templateMenu.js index 3babd0b2..23eae490 100644 --- a/src/lib/views/templateMenu.js +++ b/src/lib/views/templateMenu.js @@ -12,10 +12,12 @@ export const menuLogin = () => { Únete a la comunidad y conoce todos los secretos para vivir sol@ antes de los 30 + (づ ̄ 3 ̄)づ - +
    +
    + + +
    + +
    +
    +
    `; + divFeed.innerHTML = viewFeed; //Formulario enviado a DOM - const postForm = divFeed.querySelector("#postform"); - + const postForm = divFeed.querySelector("#postform"); postForm.addEventListener("submit", (e) => { e.preventDefault(); //llama al input y textarea @@ -43,69 +46,60 @@ export const feed = () => { postForm.reset(); }); - //crea el post en tiempo real const createPost = async () => { - onGetPost((snapShot) => { - let card = ""; - - const divPost = document.getElementById('rootPost'); - - //recorre el array de docs de firebase - snapShot.forEach((doc) => { - //console.log(doc.data()) - const docData = doc.data(); //el .data() convierte los objetos firebase a obj JS - - card += `
    -
    -

    ${docData.autor}

    -

    ${docData.title}

    -
    -
    -

    ${docData.text}

    -
    -
    - - -
    -
    `; - }); - - divPost.innerHTML = card; - - - const btnsDelete = divPost.querySelectorAll('.btnDelete'); - btnsDelete.forEach(btn => { - btn.addEventListener('click', (event) => { - - deletePost(event.target.dataset.id); - }); + onGetPost((snapShot) => { + let card = ""; + + const divPost = document.getElementById("rootPost"); + + //recorre el array de docs de firebase + snapShot.forEach((doc) => { + //console.log(doc.data()) + const docData = doc.data(); //el .data() convierte los objetos firebase a obj JS + + card += `
    +
    +

    ${docData.autor}

    +

    ${docData.title}

    +
    +
    +

    ${docData.text}

    +
    +
    + + +
    +
    `; + }); + + divPost.innerHTML = card; + + const btnsDelete = divPost.querySelectorAll(".btnDelete"); + btnsDelete.forEach((btn) => { + btn.addEventListener("click", (event) => { + deletePost(event.target.dataset.id); }); + }); + const btnsEdit = divPost.querySelectorAll(".btnEdit"); + btnsEdit.forEach((btn) => { + btn.addEventListener("click", async (event) => { + const doc = await editPost(event.target.dataset.id); - const btnsEdit = divPost.querySelectorAll('.btnEdit'); - btnsEdit.forEach(btn => { - btn.addEventListener('click', async (event) => { - - const doc = await editPost(event.target.dataset.id); - - const docData = doc.data(); - - const title = divFeed.querySelector('#postTitle'); - const postText = divFeed.querySelector("#postText"); - - title.value = docData.title; - postText.value = docData.text; - - }); - }); - - }); - + const docData = doc.data(); -}; + const title = divFeed.querySelector("#postTitle"); + const postText = divFeed.querySelector("#postText"); -console.log(createPost()); + title.value = docData.title; + postText.value = docData.text; + }); + }); + }); + }; + //console.log(createPost()); + createPost(); return divFeed; }; diff --git a/src/lib/views/templateMenu.js b/src/lib/views/templateMenu.js index f932e5a5..ed01546c 100644 --- a/src/lib/views/templateMenu.js +++ b/src/lib/views/templateMenu.js @@ -1,48 +1,27 @@ -import { loginWithGoogle } from "../firebase/auth.js"; -import { changeRoutes } from "../router.js"; - //Función que contiene vista del Menu export const menuLogin = () => { const divMenuLogin = document.createElement("div"); const viewMenuLogin = `
    -
    +
    Tips Adulto Independiente -
    +
    Únete a la comunidad y conoce todos los secretos para vivir sol@ antes de los 30 -
    -
    + - + ` divMenuLogin.innerHTML = viewMenuLogin; return divMenuLogin; }; - -// const logIn = divMenuLogin.querySelector("#logIn"); -// logIn.addEventListener("click", async() => { -// const loginGoogle = loginWithGoogle (); - -// if(loginGoogle) { -// changeRoutes('#/feed') -// } else { -// console.log("el gatito tuyo te perdió") -// } -// }); - - - - - - - diff --git a/src/lib/views/templatePost.js b/src/lib/views/templatePost.js deleted file mode 100644 index e69de29b..00000000 diff --git a/src/main.js b/src/main.js index b7468d9c..cbe4c717 100644 --- a/src/main.js +++ b/src/main.js @@ -6,7 +6,7 @@ import { changeRoutes } from './lib/router.js'; //Contiene o llama el div del html -//export const root = document.getElementById('root'); +export const root = document.getElementById('root'); //Init del router const init = () => { diff --git a/src/style.css b/src/style.css index 330a9893..eff562d3 100644 --- a/src/style.css +++ b/src/style.css @@ -30,6 +30,9 @@ body { color: #000000; }*/ + +/*flexbox de la pagina de inicio, por favor no agregar más atributos a esta clase*/ +/*/////////////////////////////////////////////////*/ .containerIndex{ display: flex; flex-direction: column; @@ -37,6 +40,7 @@ body { justify-content: center; align-items: center; } +/*/////////////////////////////////////////////////*/ /*texto de únete...*/ .comunity { @@ -77,24 +81,26 @@ body { justify-content: center; } - +/*flexbox de la pagina de inicio, por favor no agregar más atributos a esta clase*/ +/*/////////////////////////////////////////////////*/ .containerForm{ - display: flex; + display: flex; flex-direction: column; flex-wrap: nowrap; justify-content: center; align-items: center; } +/*/////////////////////////////////////////////////*/ label input { - border-radius: 10%; } +/*posts desde aqui*/ .titlePost{ height: 5vh; width: 50vw; - background-color: aquamarine; + background-color: rgba(201, 227, 233, 0.877); border-radius: 10px; text-align: center; margin: 10px 0px 10px 0px; @@ -103,7 +109,7 @@ label input { .textPost{ height: 15vh; width: 50vw; - background-color: aquamarine; + background-color: rgba(201, 227, 233, 0.877); border-radius: 10px; text-align: center; margin-bottom: 15px; From f20aef8c37a48c2bc881ccc6272c1329e6208e93 Mon Sep 17 00:00:00 2001 From: unknown Date: Fri, 15 Jul 2022 09:36:01 -0400 Subject: [PATCH 49/56] actualizado --- src/style.css | 6 +++++- 1 file changed, 5 insertions(+), 1 deletion(-) diff --git a/src/style.css b/src/style.css index eff562d3..c6c00d19 100644 --- a/src/style.css +++ b/src/style.css @@ -7,6 +7,8 @@ body { background: linear-gradient(rgba(201, 227, 233, 0.877), rgba(6, 106, 131, 0.938)), url('./images/fondo.jpg'); background-attachment: fixed; + font-family: 'Montserrat'; + font-style: normal; } /*titulo y deformito*/ .tips{ @@ -104,6 +106,7 @@ label input { border-radius: 10px; text-align: center; margin: 10px 0px 10px 0px; + font-family: 'Montserrat'; } .textPost{ @@ -112,5 +115,6 @@ label input { background-color: rgba(201, 227, 233, 0.877); border-radius: 10px; text-align: center; - margin-bottom: 15px; + margin-bottom: 10px; + font-family: 'Montserrat'; } \ No newline at end of file From 7426b5457d985fb511dc70f9680ab61bcc63417c Mon Sep 17 00:00:00 2001 From: unknown Date: Fri, 15 Jul 2022 10:46:03 -0400 Subject: [PATCH 50/56] test --- src/lib/firebase/firestore.js | 4 ++-- src/lib/views/templateFeed.js | 2 +- 2 files changed, 3 insertions(+), 3 deletions(-) diff --git a/src/lib/firebase/firestore.js b/src/lib/firebase/firestore.js index 6f4f72bd..656f26e4 100644 --- a/src/lib/firebase/firestore.js +++ b/src/lib/firebase/firestore.js @@ -3,10 +3,10 @@ import { db, collection, addDoc, onSnapshot, doc, getDoc, deleteDoc } from "./in //Función que guarda los datos del formulario del post en firebase -export const savePost = (autor, title, text) => { +export const savePost = ( title, text) => { //Agrega un doc a una colección en formato de objeto - addDoc(collection(db,'posts'),{autor:autor, title:title, text:text}); + addDoc(collection(db,'posts'),{title:title, text:text}); //console.log(collection(db,'posts'),{autor:autor, title:title, text:text}); }; diff --git a/src/lib/views/templateFeed.js b/src/lib/views/templateFeed.js index d1700b06..2dd44e2c 100644 --- a/src/lib/views/templateFeed.js +++ b/src/lib/views/templateFeed.js @@ -60,7 +60,7 @@ export const feed = () => { card += `
    -

    ${docData.autor}

    +

    ${docData.title}

    From c1c1e8e137a10538f90991f155435b117982e212 Mon Sep 17 00:00:00 2001 From: katherine Date: Fri, 15 Jul 2022 12:02:12 -0400 Subject: [PATCH 51/56] modificaciones css --- src/lib/firebase/firestore.js | 4 ++-- src/lib/views/templateFeed.js | 3 +-- src/style.css | 42 +++++++++++++++++++++++++---------- 3 files changed, 33 insertions(+), 16 deletions(-) diff --git a/src/lib/firebase/firestore.js b/src/lib/firebase/firestore.js index 6f4f72bd..57d7c5a5 100644 --- a/src/lib/firebase/firestore.js +++ b/src/lib/firebase/firestore.js @@ -3,10 +3,10 @@ import { db, collection, addDoc, onSnapshot, doc, getDoc, deleteDoc } from "./in //Función que guarda los datos del formulario del post en firebase -export const savePost = (autor, title, text) => { +export const savePost = (title, text) => { //Agrega un doc a una colección en formato de objeto - addDoc(collection(db,'posts'),{autor:autor, title:title, text:text}); + addDoc(collection(db,'posts'),{title:title, text:text}); //console.log(collection(db,'posts'),{autor:autor, title:title, text:text}); }; diff --git a/src/lib/views/templateFeed.js b/src/lib/views/templateFeed.js index d1700b06..a192be54 100644 --- a/src/lib/views/templateFeed.js +++ b/src/lib/views/templateFeed.js @@ -59,8 +59,7 @@ export const feed = () => { const docData = doc.data(); //el .data() convierte los objetos firebase a obj JS card += `
    -
    -

    ${docData.autor}

    +

    ${docData.title}

    diff --git a/src/style.css b/src/style.css index 44300878..fb733dd8 100644 --- a/src/style.css +++ b/src/style.css @@ -34,7 +34,6 @@ body { /*flexbox de la pagina de inicio, por favor no agregar más atributos a esta clase*/ -/*/////////////////////////////////////////////////*/ .containerIndex{ display: flex; flex-direction: column; @@ -42,7 +41,7 @@ body { justify-content: center; align-items: center; } -/*/////////////////////////////////////////////////*/ + /*texto de únete...*/ .comunity { @@ -84,7 +83,6 @@ body { } /*flexbox de la pagina de inicio, por favor no agregar más atributos a esta clase*/ -/*/////////////////////////////////////////////////*/ .containerForm{ display: flex; flex-direction: column; @@ -92,18 +90,15 @@ body { justify-content: center; align-items: center; font-family: 'Montserrat'; - margin-top: 5%; + margin-top: 3%; + margin-bottom: 3%; } -/*/////////////////////////////////////////////////*/ -label input { - border-radius: 10%; -} /*posts desde aqui*/ .titlePost{ - height: 5vh; - width: 50vw; + height: 3vh; + width: 30vw; background-color: rgba(201, 227, 233, 0.877); border-radius: 10px; text-align: center; @@ -113,10 +108,33 @@ label input { .textPost{ height: 15vh; - width: 50vw; + width: 30vw; background-color: rgba(201, 227, 233, 0.877); border-radius: 10px; text-align: center; margin-bottom: 10px; font-family: 'Montserrat'; -} \ No newline at end of file + justify-content: center; + font-size: 15px; +} + + +.postTitle{ + width: 30vw; + font-family: 'Montserrat'; + font-size: 15px; + background-color: rgb(247, 247, 247); + + + + } +.postText{ +height: 15vh; +width: 30vw; +font-family: 'Montserrat'; +font-size: 15px; +background-color: rgb(247, 247, 247); + + +} + From b976376421d35967de9f5b82fa09347b15ff599f Mon Sep 17 00:00:00 2001 From: unknown Date: Fri, 15 Jul 2022 12:05:09 -0400 Subject: [PATCH 52/56] viendo lo del observador --- src/style.css | 10 ++++++++-- 1 file changed, 8 insertions(+), 2 deletions(-) diff --git a/src/style.css b/src/style.css index 44300878..fc389832 100644 --- a/src/style.css +++ b/src/style.css @@ -1,3 +1,4 @@ +@import url('https://fonts.googleapis.com/css2?family=Roboto+Flex:opsz,wght@8..144,100&display=swap'); * { box-sizing: border-box; padding: 0; @@ -7,7 +8,7 @@ body { background: linear-gradient(rgba(201, 227, 233, 0.877), rgba(6, 106, 131, 0.938)), url('./images/fondo.jpg'); background-attachment: fixed; - font-family: 'Montserrat'; + font-family: 'Roboto Flex', sans-serif; font-style: normal; } /*titulo y deformito*/ @@ -119,4 +120,9 @@ label input { text-align: center; margin-bottom: 10px; font-family: 'Montserrat'; -} \ No newline at end of file +} + +.postText, +.postTitle { + font-family: 'Montserrat'; +} From 08a19e290126a7f83fcc1fa906a76a6159033058 Mon Sep 17 00:00:00 2001 From: unknown Date: Fri, 15 Jul 2022 12:34:44 -0400 Subject: [PATCH 53/56] test --- src/lib/firebase/auth.js | 2 ++ src/lib/firebase/init.js | 7 +++++-- 2 files changed, 7 insertions(+), 2 deletions(-) diff --git a/src/lib/firebase/auth.js b/src/lib/firebase/auth.js index 21e732a9..31f36a7c 100644 --- a/src/lib/firebase/auth.js +++ b/src/lib/firebase/auth.js @@ -38,3 +38,5 @@ signInWithPopup(auth, provider) // ... }); } + + diff --git a/src/lib/firebase/init.js b/src/lib/firebase/init.js index b74c24cd..d05c3d34 100644 --- a/src/lib/firebase/init.js +++ b/src/lib/firebase/init.js @@ -4,7 +4,7 @@ import { initializeApp } from 'https://www.gstatic.com/firebasejs/9.8.4/firebase //configuracion firebase import { firebaseConfig } from './config.js'; //Importando funciones firebase auth -import { getAuth, signInWithEmailAndPassword, signInWithPopup, GoogleAuthProvider } from 'https://www.gstatic.com/firebasejs/9.8.4/firebase-auth.js'; +import { getAuth, signInWithEmailAndPassword, signInWithPopup, GoogleAuthProvider, onAuthStateChanged } from 'https://www.gstatic.com/firebasejs/9.8.4/firebase-auth.js'; //Importando funciones relacionadas a firestore import { getFirestore, collection, getDocs, addDoc,onSnapshot, query, doc, getDoc, deleteDoc } from 'https://www.gstatic.com/firebasejs/9.8.4/firebase-firestore.js'; @@ -12,15 +12,18 @@ import { getFirestore, collection, getDocs, addDoc,onSnapshot, query, doc, getDo // Initialize Firebase const app = initializeApp(firebaseConfig); + //Autenticación const auth = getAuth(); + //Provider const provider = new GoogleAuthProvider(); + // Get firestore const db = getFirestore(app); //Exportar funciones firebase-firestore -export { initializeApp, signInWithEmailAndPassword, auth, signInWithPopup, provider, GoogleAuthProvider, collection, getDocs, addDoc,onSnapshot, query, doc, db, deleteDoc, getDoc }; +export { initializeApp, signInWithEmailAndPassword, auth, signInWithPopup, provider, GoogleAuthProvider, collection, getDocs, addDoc,onSnapshot, query, doc, db, deleteDoc, getDoc, onAuthStateChanged }; From c063d4506f4cc26a72f0050c44e94f8a5361e334 Mon Sep 17 00:00:00 2001 From: unknown Date: Sat, 16 Jul 2022 19:44:35 -0400 Subject: [PATCH 54/56] ahora se puede editar --- src/lib/firebase/auth.js | 17 +++++++++++++++++ src/lib/firebase/firestore.js | 6 +++++- src/lib/views/templateFeed.js | 21 ++++++++++++++++++--- 3 files changed, 40 insertions(+), 4 deletions(-) diff --git a/src/lib/firebase/auth.js b/src/lib/firebase/auth.js index 31b6b73f..b6289dcc 100644 --- a/src/lib/firebase/auth.js +++ b/src/lib/firebase/auth.js @@ -39,3 +39,20 @@ signInWithPopup(auth, provider) }); } + + + + +// export const snapshotProfile = (callback) => { +// let autor = ''; +// onAuthStateChanged(auth, (user) => { //uso el metodo observador para acceder al usuario que se loguea +// console.log(user); +// autor = user.email; +// const lookPostProfile = query( +// collection(db, 'Comentarios'), +// where('Autor', '==', autor), +// );// trae los comentadios "donde/where" autor es igual al logueado (accedemos por medio de observador) +// console.log(autor); +// onSnapshot(lookPostProfile, callback); +// }); +// }; \ No newline at end of file diff --git a/src/lib/firebase/firestore.js b/src/lib/firebase/firestore.js index c1d72ab5..5aa3b3a6 100644 --- a/src/lib/firebase/firestore.js +++ b/src/lib/firebase/firestore.js @@ -1,5 +1,5 @@ //funciones firestore -import { db, collection, addDoc, onSnapshot, doc, getDoc, deleteDoc } from "./init.js"; +import { db, collection, addDoc, onSnapshot, doc, getDoc, deleteDoc, updateDoc } from "./init.js"; //Función que guarda los datos del formulario del post en firebase @@ -20,3 +20,7 @@ export const onGetPost = (callback) => onSnapshot(collection(db, "posts"), callb export const editPost = (id) => getDoc(doc(db,'posts',id)); export const deletePost = (id) => deleteDoc(doc(db,'posts',id)); + +export const updatePost = (id, {title:title, text:text}) => { + updateDoc(doc(db,'posts',id), {title:title, text:text}); +}; \ No newline at end of file diff --git a/src/lib/views/templateFeed.js b/src/lib/views/templateFeed.js index 39d3ae35..a16069e8 100644 --- a/src/lib/views/templateFeed.js +++ b/src/lib/views/templateFeed.js @@ -3,6 +3,7 @@ import { deletePost, editPost, onGetPost, + updatePost, } from "../firebase/firestore.js"; //Muro de la red @@ -30,6 +31,9 @@ export const feed = () => { divFeed.innerHTML = viewFeed; + let statusPost = ''; + let idPost =''; + //Formulario enviado a DOM const postForm = divFeed.querySelector("#postform"); postForm.addEventListener("submit", (e) => { @@ -40,9 +44,16 @@ export const feed = () => { console.log(title.value); - //obtiene el valor del titulo y el post del input y textarea - savePost(title.value, postText.value); - // console.log(postText.value) + if (statusPost !== true){ + //obtiene el valor del titulo y el post del input y textarea + savePost(title.value, postText.value); + // console.log(postText.value) + } else { + updatePost(idPost, {title: title.value, text: postText.value}); + } + + + //Resetea el formulario, lo limpia postForm.reset(); @@ -96,6 +107,10 @@ export const feed = () => { title.value = docData.title; postText.value = docData.text; + + statusPost = true; + idPost = doc.id; + }); }); }); From 368e8d49396bd1c457701a298ebcd769f4cd1c77 Mon Sep 17 00:00:00 2001 From: unknown Date: Sun, 17 Jul 2022 21:00:48 -0400 Subject: [PATCH 55/56] actualizacion, guarda id de usuario en firestore --- src/lib/firebase/auth.js | 43 ++++++++++++++++++++--------------- src/lib/firebase/firestore.js | 12 +++++++--- src/lib/firebase/init.js | 4 ++-- src/lib/views/templateFeed.js | 14 ++++-------- 4 files changed, 40 insertions(+), 33 deletions(-) diff --git a/src/lib/firebase/auth.js b/src/lib/firebase/auth.js index b6289dcc..23580046 100644 --- a/src/lib/firebase/auth.js +++ b/src/lib/firebase/auth.js @@ -1,30 +1,38 @@ import { auth, provider, - onAuthStateChanged, - signInWithPopup + signInWithPopup, + doc, db, + setDoc, getDoc } from "./init.js"; export const loginGoogle = () => { + const btnGoogle = document.querySelector('.logIn'); btnGoogle.addEventListener('click', (event) => { event.preventDefault(); - loginWithGoogle(); + + loginWithGoogle(); }); }; export const loginWithGoogle = () => { -signInWithPopup(auth, provider) + signInWithPopup(auth, provider) .then((result) => { // This gives you a Google Access Token. You can use it to access the Google API. //const credential = GoogleAuthProvider.credentialFromResult(result); //const token = credential.accessToken; // The signed-in user info. const user = result.user; + const userFirestore = setDoc(doc(db, "users", user.uid),{ + name : user.displayName, + email: user.email + }); console.log(user); + console.log(userFirestore); window.location.href = "#/feed"; }) .catch((error) => { @@ -36,23 +44,22 @@ signInWithPopup(auth, provider) // The AuthCredential type that was used. //const credential = GoogleAuthProvider.credentialFromError(error); // ... + console.log() }); -} +} +const user = auth.currentUser.uid; +// export const getUser = async (id) => { +// try { +// const data = doc(db, 'users', id); +// const userData = await getDoc(data); +// return userData.data(); +// } catch (err) { +// console.log(err); +// } +// }; -// export const snapshotProfile = (callback) => { -// let autor = ''; -// onAuthStateChanged(auth, (user) => { //uso el metodo observador para acceder al usuario que se loguea -// console.log(user); -// autor = user.email; -// const lookPostProfile = query( -// collection(db, 'Comentarios'), -// where('Autor', '==', autor), -// );// trae los comentadios "donde/where" autor es igual al logueado (accedemos por medio de observador) -// console.log(autor); -// onSnapshot(lookPostProfile, callback); -// }); -// }; \ No newline at end of file +console.log(getUser); \ No newline at end of file diff --git a/src/lib/firebase/firestore.js b/src/lib/firebase/firestore.js index 5aa3b3a6..b15ef99f 100644 --- a/src/lib/firebase/firestore.js +++ b/src/lib/firebase/firestore.js @@ -17,10 +17,16 @@ export const onGetPost = (callback) => onSnapshot(collection(db, "posts"), callb -export const editPost = (id) => getDoc(doc(db,'posts',id)); +export const editPost = (id) => { + const postRef = getDoc(doc(db,'posts',id)); + return postRef; +}; -export const deletePost = (id) => deleteDoc(doc(db,'posts',id)); +export const deletePost = (id) => { + const delDocRef = deleteDoc(doc(db,'posts',id)) + return delDocRef; +}; export const updatePost = (id, {title:title, text:text}) => { - updateDoc(doc(db,'posts',id), {title:title, text:text}); + updateDoc(doc(db,'posts',id), {title:title, text:text}); }; \ No newline at end of file diff --git a/src/lib/firebase/init.js b/src/lib/firebase/init.js index 27dbbcaf..14bcf15c 100644 --- a/src/lib/firebase/init.js +++ b/src/lib/firebase/init.js @@ -6,7 +6,7 @@ import { firebaseConfig } from './config.js'; //Importando funciones firebase auth import { getAuth, signInWithEmailAndPassword, signInWithPopup, GoogleAuthProvider, onAuthStateChanged } from 'https://www.gstatic.com/firebasejs/9.8.4/firebase-auth.js'; //Importando funciones relacionadas a firestore -import { getFirestore, collection, getDocs, addDoc,onSnapshot, query, doc, getDoc, deleteDoc, updateDoc } from 'https://www.gstatic.com/firebasejs/9.8.4/firebase-firestore.js'; +import { getFirestore, collection, getDocs, addDoc,onSnapshot, query, doc, getDoc, deleteDoc, updateDoc, setDoc } from 'https://www.gstatic.com/firebasejs/9.8.4/firebase-firestore.js'; @@ -26,5 +26,5 @@ const db = getFirestore(app); //Exportar funciones firebase-firestore -export { initializeApp, signInWithEmailAndPassword, auth, signInWithPopup, provider, GoogleAuthProvider, collection, getDocs, addDoc,onSnapshot, query, doc, db, deleteDoc, getDoc, onAuthStateChanged, updateDoc }; +export { initializeApp, signInWithEmailAndPassword, auth, signInWithPopup, provider, GoogleAuthProvider, collection, getDocs, addDoc,onSnapshot, query, doc, db, deleteDoc, getDoc, onAuthStateChanged, updateDoc, setDoc }; diff --git a/src/lib/views/templateFeed.js b/src/lib/views/templateFeed.js index a16069e8..774719bb 100644 --- a/src/lib/views/templateFeed.js +++ b/src/lib/views/templateFeed.js @@ -43,16 +43,8 @@ export const feed = () => { const postText = divFeed.querySelector("#postText"); console.log(title.value); - - if (statusPost !== true){ - //obtiene el valor del titulo y el post del input y textarea - savePost(title.value, postText.value); - // console.log(postText.value) - } else { - updatePost(idPost, {title: title.value, text: postText.value}); - } - - + + statusPost !== true ? savePost(title.value, postText.value) : updatePost(idPost, {title: title.value, text: postText.value}); //Resetea el formulario, lo limpia @@ -111,6 +103,8 @@ export const feed = () => { statusPost = true; idPost = doc.id; + + }); }); }); From 6b7e6cfc2d2d5e2ae733425ea0c9f5842270d0d3 Mon Sep 17 00:00:00 2001 From: unknown Date: Mon, 18 Jul 2022 08:14:27 -0400 Subject: [PATCH 56/56] funcion logout y creacion de coleccion de usuarios --- src/lib/firebase/auth.js | 21 ++++++++++++++++----- src/lib/firebase/init.js | 4 ++-- src/lib/views/templateFeed.js | 18 ++++++++++++++++++ src/style.css | 11 ++++++++++- 4 files changed, 46 insertions(+), 8 deletions(-) diff --git a/src/lib/firebase/auth.js b/src/lib/firebase/auth.js index 23580046..9dfaf387 100644 --- a/src/lib/firebase/auth.js +++ b/src/lib/firebase/auth.js @@ -3,7 +3,7 @@ import { provider, signInWithPopup, doc, db, - setDoc, getDoc + setDoc, getDoc, signOut } from "./init.js"; @@ -48,10 +48,23 @@ export const loginWithGoogle = () => { }); - } -const user = auth.currentUser.uid; + + +export const logOut = () => { + signOut(auth).then(() => { + // Sign-out successful. + console.log('log out') + console.log(currentUser()); + }).catch((error) => { + console.log(error); + // An error happened. + }); +}; + +//console.log(logOut(auth)); + // export const getUser = async (id) => { // try { // const data = doc(db, 'users', id); @@ -61,5 +74,3 @@ const user = auth.currentUser.uid; // console.log(err); // } // }; - -console.log(getUser); \ No newline at end of file diff --git a/src/lib/firebase/init.js b/src/lib/firebase/init.js index 14bcf15c..f07b8b77 100644 --- a/src/lib/firebase/init.js +++ b/src/lib/firebase/init.js @@ -4,7 +4,7 @@ import { initializeApp } from 'https://www.gstatic.com/firebasejs/9.8.4/firebase //configuracion firebase import { firebaseConfig } from './config.js'; //Importando funciones firebase auth -import { getAuth, signInWithEmailAndPassword, signInWithPopup, GoogleAuthProvider, onAuthStateChanged } from 'https://www.gstatic.com/firebasejs/9.8.4/firebase-auth.js'; +import { getAuth, signInWithEmailAndPassword, signInWithPopup, GoogleAuthProvider, onAuthStateChanged, signOut } from 'https://www.gstatic.com/firebasejs/9.8.4/firebase-auth.js'; //Importando funciones relacionadas a firestore import { getFirestore, collection, getDocs, addDoc,onSnapshot, query, doc, getDoc, deleteDoc, updateDoc, setDoc } from 'https://www.gstatic.com/firebasejs/9.8.4/firebase-firestore.js'; @@ -26,5 +26,5 @@ const db = getFirestore(app); //Exportar funciones firebase-firestore -export { initializeApp, signInWithEmailAndPassword, auth, signInWithPopup, provider, GoogleAuthProvider, collection, getDocs, addDoc,onSnapshot, query, doc, db, deleteDoc, getDoc, onAuthStateChanged, updateDoc, setDoc }; +export { initializeApp, signInWithEmailAndPassword, auth, signInWithPopup, provider, GoogleAuthProvider, collection, getDocs, addDoc,onSnapshot, query, doc, db, deleteDoc, getDoc, onAuthStateChanged, updateDoc, setDoc, signOut }; diff --git a/src/lib/views/templateFeed.js b/src/lib/views/templateFeed.js index 774719bb..d76026b8 100644 --- a/src/lib/views/templateFeed.js +++ b/src/lib/views/templateFeed.js @@ -1,3 +1,4 @@ +import { logOut } from "../firebase/auth.js"; import { savePost, deletePost, @@ -5,14 +6,18 @@ import { onGetPost, updatePost, } from "../firebase/firestore.js"; +import { auth } from "../firebase/init.js"; //Muro de la red export const feed = () => { const divFeed = document.createElement("div"); const viewFeed = `
    +
    imagenPerfil

    Usuario

    + +
    @@ -31,6 +36,14 @@ export const feed = () => { divFeed.innerHTML = viewFeed; + const userOut = divFeed.querySelector('.logOutBtn'); + userOut.addEventListener('click', (e) => { + e.preventDefault(); + logOut(); + window.location.href = '#/'; + }); + + let statusPost = ''; let idPost =''; @@ -51,6 +64,7 @@ export const feed = () => { postForm.reset(); }); + //crea el post en tiempo real const createPost = async () => { onGetPost((snapShot) => { @@ -112,5 +126,9 @@ export const feed = () => { //console.log(createPost()); createPost(); + + + + return divFeed; }; diff --git a/src/style.css b/src/style.css index 9c9cd6f7..9cb19ece 100644 --- a/src/style.css +++ b/src/style.css @@ -127,6 +127,15 @@ font-family: 'Montserrat'; font-size: 15px; background-color: rgb(247, 247, 247); - } +.textUser{ + height: 25vh; + width: 15vw; + background-color: rgba(201, 227, 233, 0.877); + border-radius: 10px; + text-align: center; + margin-bottom: 10px; + font-family: 'Montserrat'; + justify-content: center; + font-size: 15px;}