From e2badedafba84177d3a61bb9e95cfc0b48fef72a Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Roxi=20Fiorella=20Ochoa=20Garc=C3=ADa?= <46870050+roxifochoag@users.noreply.github.com> Date: Thu, 15 Jun 2023 10:31:27 -0500 Subject: [PATCH 01/95] Update README.md --- README.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/README.md b/README.md index fe12fa3..58f8e53 100644 --- a/README.md +++ b/README.md @@ -1,4 +1,4 @@ -# Creando una Red Social +# Red Social para Mujeres Latinas en el Exterior ## Índice From 4ea1345b901611d5203c2cc386e9cec144bdfed2 Mon Sep 17 00:00:00 2001 From: RoxiFOchoaG <46870050+roxifochoag@users.noreply.github.com> Date: Fri, 16 Jun 2023 14:03:55 -0500 Subject: [PATCH 02/95] Subir los cambios realizados por Erika --- package.json | 12 ++++++++++-- 1 file changed, 10 insertions(+), 2 deletions(-) diff --git a/package.json b/package.json index 1d89e14..a467bf0 100644 --- a/package.json +++ b/package.json @@ -41,5 +41,13 @@ "createdAt": "2023-06-06T21:37:46.504Z", "version": "6.3.0", "commit": "a942adeb868f1fe54b86e34cc4fc4ddb0601700d" - } -} \ No newline at end of file + }, + "directories": { + "test": "test" + }, + "repository": { + "type": "git", + "url": "1" + }, + "author": "Roxi-Erika-Tatiana" +} From 1a28a75cf8174fdfbefb3b37d63acdb2c1544144 Mon Sep 17 00:00:00 2001 From: RoxiFOchoaG <46870050+roxifochoag@users.noreply.github.com> Date: Fri, 16 Jun 2023 14:09:00 -0500 Subject: [PATCH 03/95] Primer commit, realizado por roxi --- package.json | 5 ++++- src/firebase/analytics.js | 0 src/firebase/app.js | 0 src/firebase/config.js | 21 +++++++++++++++++++++ src/index.html | 13 ++++++++++++- src/styles.css | 27 +++++++++++++++++++++++++++ 6 files changed, 64 insertions(+), 2 deletions(-) create mode 100644 src/firebase/analytics.js create mode 100644 src/firebase/app.js create mode 100644 src/firebase/config.js create mode 100644 src/styles.css diff --git a/package.json b/package.json index a467bf0..d118198 100644 --- a/package.json +++ b/package.json @@ -49,5 +49,8 @@ "type": "git", "url": "1" }, - "author": "Roxi-Erika-Tatiana" + "author": "Roxi-Erika-Tatiana", + "dependencies": { + "firebase": "^9.22.2" + } } diff --git a/src/firebase/analytics.js b/src/firebase/analytics.js new file mode 100644 index 0000000..e69de29 diff --git a/src/firebase/app.js b/src/firebase/app.js new file mode 100644 index 0000000..e69de29 diff --git a/src/firebase/config.js b/src/firebase/config.js new file mode 100644 index 0000000..7ba2698 --- /dev/null +++ b/src/firebase/config.js @@ -0,0 +1,21 @@ +// Import the functions you need from the SDKs you need +import { initializeApp } from "firebase/app"; +//import { getAnalytics } from "firebase/analytics"; +// TODO: Add SDKs for Firebase products that you want to use +// https://firebase.google.com/docs/web/setup#available-libraries + +// Your web app's Firebase configuration +// For Firebase JS SDK v7.20.0 and later, measurementId is optional +const firebaseConfig = { + apiKey: "AIzaSyDzcfa3MBIp2IA3cuOBKZntaHv9-0BqeI8", + authDomain: "dev008-social-network.firebaseapp.com", + projectId: "dev008-social-network", + storageBucket: "dev008-social-network.appspot.com", + messagingSenderId: "813514052859", + appId: "1:813514052859:web:cf928bd795e4eb761d0c5e", + measurementId: "G-N70CK0BGX8", +}; + +// Initialize Firebase +const app = initializeApp(firebaseConfig); +//const analytics = getAnalytics(app); diff --git a/src/index.html b/src/index.html index 788db3c..42376b0 100644 --- a/src/index.html +++ b/src/index.html @@ -4,9 +4,20 @@ - Document + + Warmi +
+
Header
+
Menu
+
Main
+
Footer
+
+ + + + \ No newline at end of file diff --git a/src/styles.css b/src/styles.css new file mode 100644 index 0000000..dd54d0f --- /dev/null +++ b/src/styles.css @@ -0,0 +1,27 @@ +html, body{ + margin: 0; + height: 100%; +} +.item1 {grid-area: header;} +.item2 {grid-area: menu;} +.item3 {grid-area: main;} +.item5 {grid-area: footer;} +.grid-container { + width: 100%; + height: 100%; + display: grid; + grid-template-columns: 2 50%; + grid-template-rows: 10% 80% 10%; + grid-template-areas: + 'header header' + 'menu main' + 'footer footer'; + gap: 1px; +} +.grid-container>div { + height: auto; + background-color: rgba(255, 176, 176, 0.8); + text-align: center; + padding: 0; + font-size: 30px; +} \ No newline at end of file From 1ce0b66b4a14dc4376961905b8eae7baa7e63b60 Mon Sep 17 00:00:00 2001 From: RoxiFOchoaG <46870050+roxifochoag@users.noreply.github.com> Date: Fri, 16 Jun 2023 14:36:22 -0500 Subject: [PATCH 04/95] Orden de los elementos-roxi --- src/index.html | 2 +- src/styles.css | 2 +- 2 files changed, 2 insertions(+), 2 deletions(-) diff --git a/src/index.html b/src/index.html index 42376b0..63c7f56 100644 --- a/src/index.html +++ b/src/index.html @@ -12,7 +12,7 @@
Header
Menu
Main
-
Footer
+
Footer
diff --git a/src/styles.css b/src/styles.css index dd54d0f..4e60edd 100644 --- a/src/styles.css +++ b/src/styles.css @@ -5,7 +5,7 @@ html, body{ .item1 {grid-area: header;} .item2 {grid-area: menu;} .item3 {grid-area: main;} -.item5 {grid-area: footer;} +.item4 {grid-area: footer;} .grid-container { width: 100%; height: 100%; From 425d9492a24bc0ec17a22c86aa581fdf42b1d631 Mon Sep 17 00:00:00 2001 From: RoxiFOchoaG <46870050+roxifochoag@users.noreply.github.com> Date: Fri, 16 Jun 2023 15:51:47 -0500 Subject: [PATCH 05/95] =?UTF-8?q?Estructura=20de=20p=C3=A1gina=20principal?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- src/index.html | 20 +++++++++----------- src/styles.css | 18 +++++++----------- 2 files changed, 16 insertions(+), 22 deletions(-) diff --git a/src/index.html b/src/index.html index 63c7f56..ac7b514 100644 --- a/src/index.html +++ b/src/index.html @@ -1,23 +1,21 @@ + - + Warmi - -
-
Header
-
Menu
-
Main
-
Footer
-
- - + - +
+
Section
+
Main
+
+ + \ No newline at end of file diff --git a/src/styles.css b/src/styles.css index 4e60edd..a7c74b3 100644 --- a/src/styles.css +++ b/src/styles.css @@ -2,26 +2,22 @@ html, body{ margin: 0; height: 100%; } -.item1 {grid-area: header;} -.item2 {grid-area: menu;} -.item3 {grid-area: main;} -.item4 {grid-area: footer;} +.item1 {grid-area: menu;} +.item2 {grid-area: main;} .grid-container { width: 100%; height: 100%; display: grid; - grid-template-columns: 2 50%; - grid-template-rows: 10% 80% 10%; + grid-template-columns: 50% 50%; grid-template-areas: - 'header header' - 'menu main' - 'footer footer'; + 'menu main'; gap: 1px; } -.grid-container>div { +.design { height: auto; background-color: rgba(255, 176, 176, 0.8); text-align: center; padding: 0; font-size: 30px; -} \ No newline at end of file +} + From 4c39b074f1134b9a2ac3041572f98aa52c80e575 Mon Sep 17 00:00:00 2001 From: Erika Nagaki Date: Fri, 16 Jun 2023 16:13:30 -0500 Subject: [PATCH 06/95] imagenes --- src/img/Daco_5876808.png | Bin 0 -> 286470 bytes src/img/Frame 1.png | Bin 0 -> 17854 bytes src/img/google.png | Bin 0 -> 18527 bytes src/img/logotipo-de-apple.png | Bin 0 -> 5774 bytes src/img/panorama.png | Bin 0 -> 10752 bytes 5 files changed, 0 insertions(+), 0 deletions(-) create mode 100644 src/img/Daco_5876808.png create mode 100644 src/img/Frame 1.png create mode 100644 src/img/google.png create mode 100644 src/img/logotipo-de-apple.png create mode 100644 src/img/panorama.png diff --git a/src/img/Daco_5876808.png b/src/img/Daco_5876808.png new file mode 100644 index 0000000000000000000000000000000000000000..90d2271b89bf9d585c8d30047f257a9a58bbb7d7 GIT binary patch literal 286470 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�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 z%0D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 literal 0 HcmV?d00001 diff --git a/src/img/Frame 1.png b/src/img/Frame 1.png new file mode 100644 index 0000000000000000000000000000000000000000..c93f67f85ddcc77ce0ad287606f5fc8964eac227 GIT binary patch literal 17854 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 literal 0 HcmV?d00001 diff --git a/src/img/google.png b/src/img/google.png new file mode 100644 index 0000000000000000000000000000000000000000..cb96f198034092200511411b23b72d7bab609a9f GIT binary patch literal 18527 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

B~~jzS;e~Db>PTDY&%HZ3jw4J!=>xu* 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 literal 0 HcmV?d00001 diff --git a/src/img/panorama.png b/src/img/panorama.png new file mode 100644 index 0000000000000000000000000000000000000000..9f4811b558e4409350163437fd441702e0442fe9 GIT binary patch literal 10752 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 literal 0 HcmV?d00001 From 6b8e72712e224865490e8d3f1d5ff0b69429b5f7 Mon Sep 17 00:00:00 2001 From: Erika Nagaki Date: Fri, 16 Jun 2023 17:08:20 -0500 Subject: [PATCH 07/95] imagenes renombradas y logos en transparencia --- src/img/Frame 1.png | Bin 17854 -> 0 bytes src/img/Logo.png | Bin 0 -> 27960 bytes ...co_5876808.png => illustration-homepage.png} | Bin src/img/logo-feed.png | Bin 0 -> 18679 bytes src/img/{panorama.png => outlook.png} | Bin 5 files changed, 0 insertions(+), 0 deletions(-) delete mode 100644 src/img/Frame 1.png create mode 100644 src/img/Logo.png rename src/img/{Daco_5876808.png => illustration-homepage.png} (100%) create mode 100644 src/img/logo-feed.png rename src/img/{panorama.png => outlook.png} (100%) diff --git a/src/img/Frame 1.png b/src/img/Frame 1.png deleted file mode 100644 index c93f67f85ddcc77ce0ad287606f5fc8964eac227..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 17854 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 diff --git a/src/img/Logo.png b/src/img/Logo.png new file mode 100644 index 0000000000000000000000000000000000000000..cdfcdb982ff07a6860ec43303fde2c16906b9821 GIT binary patch literal 27960 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 P00000NkvXXu0mjfq5+V+ literal 0 HcmV?d00001 diff --git a/src/img/panorama.png b/src/img/outlook.png similarity index 100% rename from src/img/panorama.png rename to src/img/outlook.png From c364a3b49b2e784946416fcaf753bfdcc3b89d78 Mon Sep 17 00:00:00 2001 From: tatianahernandez Date: Fri, 16 Jun 2023 18:33:01 -0500 Subject: [PATCH 08/95] configuracion firebase --- .gitignore | 2 +- package.json | 1 + src/firebase/analytics.js | 0 src/firebase/config.js | 4 +++- src/firebase/firebase.js | 32 ++++++++++++++++++++++++++++++++ src/index.html | 2 +- 6 files changed, 38 insertions(+), 3 deletions(-) delete mode 100644 src/firebase/analytics.js create mode 100644 src/firebase/firebase.js diff --git a/.gitignore b/.gitignore index 7d3f8fd..abd7fe4 100644 --- a/.gitignore +++ b/.gitignore @@ -4,4 +4,4 @@ coverage/ node_modules/ .yarn.lock package-lock.json -dist/ +dist/ \ No newline at end of file diff --git a/package.json b/package.json index d118198..86d78b0 100644 --- a/package.json +++ b/package.json @@ -1,6 +1,7 @@ { "name": "social-network", "private": true, + "type": "module", "version": "1.0.0", "description": "Social Network @ Laboratoria", "main": "src/index.html", diff --git a/src/firebase/analytics.js b/src/firebase/analytics.js deleted file mode 100644 index e69de29..0000000 diff --git a/src/firebase/config.js b/src/firebase/config.js index 7ba2698..68f7da2 100644 --- a/src/firebase/config.js +++ b/src/firebase/config.js @@ -1,5 +1,6 @@ // Import the functions you need from the SDKs you need import { initializeApp } from "firebase/app"; +import { getAuth } from "firebase/auth"; //import { getAnalytics } from "firebase/analytics"; // TODO: Add SDKs for Firebase products that you want to use // https://firebase.google.com/docs/web/setup#available-libraries @@ -17,5 +18,6 @@ const firebaseConfig = { }; // Initialize Firebase -const app = initializeApp(firebaseConfig); +export const app = initializeApp(firebaseConfig); +export const auth = getAuth(app); //const analytics = getAnalytics(app); diff --git a/src/firebase/firebase.js b/src/firebase/firebase.js new file mode 100644 index 0000000..b6be2cb --- /dev/null +++ b/src/firebase/firebase.js @@ -0,0 +1,32 @@ +import { auth } from "./config.js"; +import { createUserWithEmailAndPassword } from "firebase/auth" + + +const user = { + name: "pepita perez", + email: "pepita@perez.com", + nick: "pepis", + password: "123456" +} + + +singUp(user) + +export const singUp =(user) =>{ + createUserWithEmailAndPassword(auth, user.email, user.password) + .then((userCredential) => { + const userCreated = userCredential.user; + console.log(userCredential) + + return userCreated + }) + .catch((error) => { + const errorCode = error.code; + const errorMessage = error.message; + + console.log(errorCode, " ", errorMessage) + + return error + }); + +} \ No newline at end of file diff --git a/src/index.html b/src/index.html index 42376b0..ac98b56 100644 --- a/src/index.html +++ b/src/index.html @@ -7,7 +7,7 @@ Warmi - +npm

Header
Menu
From 5a02abee4435d73ba88b1df27b0a31528052e4e3 Mon Sep 17 00:00:00 2001 From: Tati20h Date: Fri, 16 Jun 2023 19:04:41 -0500 Subject: [PATCH 09/95] conflictos http --- .gitignore | 2 +- src/index.html | 6 ------ 2 files changed, 1 insertion(+), 7 deletions(-) diff --git a/.gitignore b/.gitignore index abd7fe4..7d3f8fd 100644 --- a/.gitignore +++ b/.gitignore @@ -4,4 +4,4 @@ coverage/ node_modules/ .yarn.lock package-lock.json -dist/ \ No newline at end of file +dist/ diff --git a/src/index.html b/src/index.html index cf52941..23fa2fc 100644 --- a/src/index.html +++ b/src/index.html @@ -9,12 +9,6 @@ Warmi -
-
Header
-
Menu
-
Main
-
Footer
-
From 6f56389c6e087740bce945a9c5aa2b00e261f63d Mon Sep 17 00:00:00 2001 From: RoxiFOchoaG <46870050+roxifochoag@users.noreply.github.com> Date: Mon, 19 Jun 2023 10:39:42 -0500 Subject: [PATCH 10/95] =?UTF-8?q?Descripci=C3=B3n-=20Se=20creo=20la=20p?= =?UTF-8?q?=C3=A1gina=20de=20inicio=20el=20front-end=20de=20registrar=20us?= =?UTF-8?q?uario=20e=20iniciar=20sesi=C3=B3n?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .vscode/settings.json | 3 + src/components/app.js | 11 + src/firebase/firebase.js | 57 +++-- src/index.html | 118 ++++++++-- src/lib/index.js | 5 +- src/styles.css | 471 +++++++++++++++++++++++++++++++++++++-- 6 files changed, 604 insertions(+), 61 deletions(-) create mode 100644 .vscode/settings.json create mode 100644 src/components/app.js diff --git a/.vscode/settings.json b/.vscode/settings.json new file mode 100644 index 0000000..f673a71 --- /dev/null +++ b/.vscode/settings.json @@ -0,0 +1,3 @@ +{ + "liveServer.settings.port": 5502 +} \ No newline at end of file diff --git a/src/components/app.js b/src/components/app.js new file mode 100644 index 0000000..99f9264 --- /dev/null +++ b/src/components/app.js @@ -0,0 +1,11 @@ +const sign_in_btn = document.querySelector("#sign-in-btn"); +const sign_up_btn = document.querySelector("#sign-up-btn"); +const container = document.querySelector(".container"); + +sign_up_btn.addEventListener("click", () => { + container.classList.add("sign-up-mode"); +}); + +sign_in_btn.addEventListener("click", () => { + container.classList.remove("sign-up-mode"); +}); \ No newline at end of file diff --git a/src/firebase/firebase.js b/src/firebase/firebase.js index b6be2cb..9f8db12 100644 --- a/src/firebase/firebase.js +++ b/src/firebase/firebase.js @@ -1,32 +1,29 @@ -import { auth } from "./config.js"; -import { createUserWithEmailAndPassword } from "firebase/auth" - +import { auth } from "./config.js"; +import { createUserWithEmailAndPassword } from "firebase/auth"; const user = { - name: "pepita perez", - email: "pepita@perez.com", - nick: "pepis", - password: "123456" -} - - -singUp(user) - -export const singUp =(user) =>{ - createUserWithEmailAndPassword(auth, user.email, user.password) - .then((userCredential) => { - const userCreated = userCredential.user; - console.log(userCredential) - - return userCreated - }) - .catch((error) => { - const errorCode = error.code; - const errorMessage = error.message; - - console.log(errorCode, " ", errorMessage) - - return error - }); - -} \ No newline at end of file + name: "pepita perez", + email: "pepita@perez.com", + nick: "pepis", + password: "123456", +}; + +singUp(user); + +export const singUp = (user) => { + createUserWithEmailAndPassword(auth, user.email, user.password) + .then((userCredential) => { + const userCreated = userCredential.user; + console.log(userCredential); + + return userCreated; + }) + .catch((error) => { + const errorCode = error.code; + const errorMessage = error.message; + + console.log(errorCode, "", errorMessage); + + return error; + }); +}; diff --git a/src/index.html b/src/index.html index 23fa2fc..df22d6f 100644 --- a/src/index.html +++ b/src/index.html @@ -1,20 +1,110 @@ + + + + + + Warmi + - - - - - - Warmi - - - + + +
+
+ +
-
-
Section
-
Main
-
- +
+
+
+ Brand +

Warmi es la primera Red Social para Mujeres + Latinas que viven fuera de sus paises de origen

+

+ ¿Nueva en Warmi? +

+ +
+ +
+
+
+ Brand +

¿Estas registrada?

+

Warmi es la primera Red Social para Mujeres Latinas que viven fuera de sus paises de origen.

+ + + + +
+
+
+
+ + \ No newline at end of file diff --git a/src/lib/index.js b/src/lib/index.js index d193089..5a83719 100644 --- a/src/lib/index.js +++ b/src/lib/index.js @@ -1,6 +1,5 @@ -// aqui exportaras las funciones que necesites - export const myFunction = () => { // aqui tu codigo - console.log('Hola mundo!'); + console.log("Hola mundo!"); }; + diff --git a/src/styles.css b/src/styles.css index a7c74b3..65e1522 100644 --- a/src/styles.css +++ b/src/styles.css @@ -1,23 +1,466 @@ -html, body{ +@import url("https://fonts.googleapis.com/css2?family=Poppins:wght@200;300;400;500;600;700;800&display=swap"); + +* { margin: 0; + padding: 0; + box-sizing: border-box; +} + +body, +input { + font-family: "Poppins", sans-serif; +} + +.container { + position: relative; + width: 100%; + background-color: #fff; + min-height: 100vh; + overflow: hidden; +} + +.forms-container { + position: absolute; + width: 100%; height: 100%; + top: 0; + left: 0; +} + +.signin-signup { + position: absolute; + top: 50%; + transform: translate(-50%, -50%); + left: 75%; + width: 50%; + transition: 1s 0.7s ease-in-out; + display: grid; + grid-template-columns: 1fr; + z-index: 5; +} + +form { + display: flex; + align-items: center; + justify-content: center; + flex-direction: column; + padding: 0rem 5rem; + transition: all 0.2s 0.7s; + overflow: hidden; + grid-column: 1 / 2; + grid-row: 1 / 2; } -.item1 {grid-area: menu;} -.item2 {grid-area: main;} -.grid-container { + +form.sign-up-form { + opacity: 0; + z-index: 1; +} + +form.sign-in-form { + z-index: 2; +} + +.title { + font-size: 2.2rem; + color: #444; + margin-bottom: 10px; +} + +.subtitle{ + font-size: 1rem; + color: #444; + margin-bottom: 10px; + /* identical to box height */ + + + color: #8C8C8C; + +} +.input-field { + max-width: 380px; width: 100%; + background-color: #f0f0f0; + margin: 10px 0; + height: 55px; + border-radius: 55px; + display: grid; + grid-template-columns: 15% 85%; + padding: 0 0.4rem; + position: relative; +} + +.input-field i { + text-align: center; + line-height: 55px; + color: #acacac; + transition: 0.5s; + font-size: 1.1rem; +} + +.input-field input { + background: none; + outline: none; + border: none; + line-height: 1; + font-weight: 600; + font-size: 1.1rem; + color: #333; +} + +.input-field input::placeholder { + color: #aaa; + font-weight: 500; +} + +.social-text { + padding: 0.7rem 0; + font-size: 1rem; +} + +.social-media { + display: flex; + justify-content: center; +} + +.social-icon { + height: 46px; + width: 46px; + display: flex; + justify-content: center; + align-items: center; + margin: 0 0.45rem; + color: #333; + border-radius: 50%; + border: 1px solid #333; + text-decoration: none; + font-size: 1.1rem; + transition: 0.3s; +} + +.social-icon:hover { + color: #EF2684; + border-color: #EF2684; +} + +.btn { + + + width: 150px; + background-color: #FF728D ; + border: none; + outline: none; + height: 49px; + border-radius: 49px; + color: #fff; + text-transform: uppercase; + font-weight: 600; + margin: 10px 0; + cursor: pointer; + transition: 0.5s; + + + + +} + +.btn:hover { + background-color: #EF2684 ; +} +.panels-container { + position: absolute; height: 100%; + width: 100%; + top: 0; + left: 0; display: grid; - grid-template-columns: 50% 50%; - grid-template-areas: - 'menu main'; - gap: 1px; -} -.design { - height: auto; - background-color: rgba(255, 176, 176, 0.8); + grid-template-columns: repeat(2, 1fr); +} +.link{ + + +position: absolute; + +font-family: 'Inria Sans'; +font-style: normal; +font-weight: 700; +font-size: 15px; +line-height: 18px; +/* identical to box height */ +left: 550px; +top: 320px; + +color: #FF728D; + + +} +.container:before { + content: ""; + position: absolute; + height: 2000px; + width: 2000px; + top: -10%; + right: 48%; + transform: translateY(-50%); + background-image: linear-gradient(-45deg, #FF728D 0%, #FF728D 100%); + transition: 1.8s ease-in-out; + border-radius: 100%; + z-index: 6; +} + +.image { + width: 120%; + transition: transform 1.1s ease-in-out; + transition-delay: 0.4s; + /* display: flex; + align-self: flex-end;*/ + left: 0px; + bottom: 0px; + padding: 0%; + margin-top: 5px; +} +.image1{ + width: 30%; + +} +.panel { + display: flex; + flex-direction: column; + align-items: flex-end; + justify-content: space-around; text-align: center; - padding: 0; - font-size: 30px; + z-index: 6; +} + +.left-panel { + pointer-events: all; + padding: 3rem 17% 2rem 12%; +} + +.right-panel { + pointer-events: none; + padding: 3rem 12% 2rem 17%; +} + +.panel .content { + color: #fff; + transition: transform 0.9s ease-in-out; + transition-delay: 0.6s; +} + +.panel h3 { + font-weight: 600; + line-height: 1; + font-size: 1.5rem; +} + +.panel p { + font-size: 0.95rem; + padding: 0.7rem 0; +} + +.btn.transparent { + margin: 0; + background: none; + border: 2px solid #fff; + width: 130px; + height: 41px; + font-weight: 600; + font-size: 0.8rem; +} + +.right-panel .image, +.right-panel .content { + transform: translateX(800px); +} + +/* ANIMATION */ + +.container.sign-up-mode:before { + transform: translate(100%, -50%); + right: 52%; +} + +.container.sign-up-mode .left-panel .image, +.container.sign-up-mode .left-panel .content { + transform: translateX(-1000px); +} + +.container.sign-up-mode .signin-signup { + left: 25%; +} + +.container.sign-up-mode form.sign-up-form { + opacity: 1; + z-index: 2; +} + +.container.sign-up-mode form.sign-in-form { + opacity: 0; + z-index: 1; +} + +.container.sign-up-mode .right-panel .image, +.container.sign-up-mode .right-panel .content { + transform: translateX(0%); +} + +.container.sign-up-mode .left-panel { + pointer-events: none; +} + +.container.sign-up-mode .right-panel { + pointer-events: all; +} + +@media (max-width: 870px) { + .container { + min-height: 800px; + height: 100vh; + } + .signin-signup { + width: 100%; + top: 95%; + transform: translate(-50%, -100%); + transition: 1s 0.8s ease-in-out; + } + + .signin-signup, + .container.sign-up-mode .signin-signup { + left: 50%; + } + + .panels-container { + grid-template-columns: 1fr; + grid-template-rows: 1fr 2fr 1fr; + } + + .panel { + flex-direction: row; + justify-content: space-around; + align-items: center; + padding: 2.5rem 8%; + grid-column: 1 / 2; + } + + .right-panel { + grid-row: 3 / 4; + } + + .left-panel { + grid-row: 1 / 2; + } + + .image { + width: 200px; + transition: transform 0.9s ease-in-out; + transition-delay: 0.6s; + } + + .panel .content { + padding-right: 15%; + transition: transform 0.9s ease-in-out; + transition-delay: 0.8s; + } + + .panel h3 { + font-size: 1.2rem; + } + + .panel p { + font-size: 0.7rem; + padding: 0.5rem 0; + } + + .btn.transparent { + width: 110px; + height: 35px; + font-size: 0.7rem; + } + + .container:before { + width: 1500px; + height: 1500px; + transform: translateX(-50%); + left: 30%; + bottom: 68%; + right: initial; + top: initial; + transition: 2s ease-in-out; + } + + .container.sign-up-mode:before { + transform: translate(-50%, 100%); + bottom: 32%; + right: initial; + } + + .container.sign-up-mode .left-panel .image, + .container.sign-up-mode .left-panel .content { + transform: translateY(-300px); + } + + .container.sign-up-mode .right-panel .image, + .container.sign-up-mode .right-panel .content { + transform: translateY(0px); + } + + .right-panel .image, + .right-panel .content { + transform: translateY(300px); + } + + .container.sign-up-mode .signin-signup { + top: 5%; + transform: translate(-50%, 0); + } +} + +.imagen1 { + + justify-content: center; + align-items: center; + height: fit-content; + width: 25%; + margin: 30px; + + + + } + + .imagen2 { + display: flex; + position: absolute; + width: fit-content; + align-self: flex-end; + -ms-flex-align: end; + height: 68%; + left: 0px; + top: 292px; + } + +@media (max-width: 570px) { + form { + padding: 0 1.5rem; + } + + .imagen1,.imagen2 { + display: none; + } + .panel .content { + padding: 0.5rem 1rem; + } + .container { + padding: 1.5rem; + } + + .container:before { + bottom: 72%; + left: 50%; + } + + .container.sign-up-mode:before { + bottom: 28%; + left: 50%; + } } From 07f51bbfe46a4f0b76f74710e52a08ad844bf98a Mon Sep 17 00:00:00 2001 From: Erika Nagaki Date: Mon, 19 Jun 2023 12:40:37 -0500 Subject: [PATCH 11/95] html celular feed avance --- src/feed.html | 38 ++++++++++++ src/feedstyle.css | 104 +++++++++++++++++++++++++++++++++ src/img/camara-icon.svg | 5 ++ src/img/icon-logo.png | Bin 0 -> 8113 bytes src/img/icon-menu-celphone.svg | 6 ++ 5 files changed, 153 insertions(+) create mode 100644 src/feed.html create mode 100644 src/feedstyle.css create mode 100644 src/img/camara-icon.svg create mode 100644 src/img/icon-logo.png create mode 100644 src/img/icon-menu-celphone.svg diff --git a/src/feed.html b/src/feed.html new file mode 100644 index 0000000..a304db9 --- /dev/null +++ b/src/feed.html @@ -0,0 +1,38 @@ + + + + + + + + WarmiFeed + + + + +
+
+ + + +
+
+ +
+
+ + + + +
+
+ +
footer
+
+ + + + + \ No newline at end of file diff --git a/src/feedstyle.css b/src/feedstyle.css new file mode 100644 index 0000000..24867b0 --- /dev/null +++ b/src/feedstyle.css @@ -0,0 +1,104 @@ +html, +body { + margin: 0; + height: 100%; +} + +/*design colors*/ +.colorbackpink { + background-color: #FF728D; +} +.colorwhite { + background-color: #FAFAFA; +} + +.grid-container { + width: 100%; + height: 100%; + display: grid; + grid-template-rows: 9% 80% 11%; + grid-template-columns: 100%; + grid-template-areas: + 'header' + 'main' + 'footer'; + gap: 1px; +} +.item2 { + grid-area: aside; +} + +.item4 { + grid-area: footer; +} + +.design { + height: auto; + background-color: rgba(255, 176, 176, 0.8); + text-align: center; + padding: 0; + font-size: 30px; +} + +/* header */ +.header { + padding-left: 3%; + padding-right: 3%; + grid-area: header; + display: flex; + align-items: center; +} + +.logo { + height: 24px; + width: 39px; +} + +.icon-hide-menu { + border: none; + background: none; +} + +.input-search-bar { + margin-left: 4%; + padding-left: 10px; + height: 25px; + width: 50%; + border: 0; + font-size: 12px; +} + +.user-image { + height: 30px; + width: 30px; + border-radius: 50%; + background-color: beige; + margin-left: auto; +} +/*aside*/ +aside{ + display: none; +} +/* main */ +.main { + grid-area: main; + display: flex; + justify-content: center; +} +.user-post-container{ + background-color: #cae9f8d7; + border: 1px solid #B6B6B6; + margin-top: 10px; + display: flex; + justify-content: center; + width: 90%; + height: 150px; +} +.user-post{ + box-sizing: border-box; + resize: none; + padding-top: 15px; + border: none; + height: 110px; + width: 90%; +} diff --git a/src/img/camara-icon.svg b/src/img/camara-icon.svg new file mode 100644 index 0000000..638ea84 --- /dev/null +++ b/src/img/camara-icon.svg @@ -0,0 +1,5 @@ + + + + + diff --git a/src/img/icon-logo.png b/src/img/icon-logo.png new file mode 100644 index 0000000000000000000000000000000000000000..81740911799c43d6b547d52646c0694df1fc0031 GIT binary patch literal 8113 zcmY*ec|4Tg+kRvjOR{92EM;kkCKE%**4I8{OCgemW@1R8luAU(&Y&5Tj3rxzX;cV> z7|}4+8C0Yck|j&Td#2y__kP~@4%PxzLJ%ZuWBrda z1Z^Wg5Ep@;4_J;(cqxN_0_UyWFG7&ePR<_}M9!4~My`v_R_4&-?p@!&51zAT_GS=N zl_Iopniql;Ep7fWbG^(pJK7T_VKo4K^ewbt>6wel=5H_Dt`w~+=CkK%e3R(Sw_>Jz z2<~>s@8_bL|E;*jbE6A%bMiORw;!cto3AcLdZ1a)M5x8VA3RsatQOZc&hURyfuPj# zZV!_oQR`#ca-z4+wDpXqO(KWuHTw5BMUi~%32cTQ0CQWOrqyd1hH;!9ex ztKS8z7ed5p0!!3!IU^ext9nRo2s*SDoTYVbernkyugjmgDzqg4K{Kq@iMJ^a#x}Z4 zqG=}%Ub_$$mPs!pi$hR2LRWDFJDlDzdn&Qd=8ck-cm~Pt%E;RO;Px**b>NQUyhK3AQ`#|StKaOXsIzC|DxvdnjFUz z)87q?q4g0(kxzhc4GDfdBHEqkYg2=Yv64Ef5VSP+BR-{0?R4z)^fXo7j3fc&o6KeL z26oW%yUZh?DDR>_1;NL!G3ohQcYgIR-3S$fpea_)F?Skvl0<_aKYo0#_QbL_1TivU zR*@t98qBN~>S#oLE)0TRE)>k_(RQ%J?ZKY%NNt+zue1;KZj54eE+`*fb@#;pi}5U) z_W9$-kDA^dRDWtj470w+A^ftPC^Y0nN4Y?#D+j3D&%)iZj59-2;7 z)n+cM_>a75K|TO@x!JB;i0s(maVc?(=2Wa@BQz3rs^fgl#nJG{&=6 zN3}4J?F2#KCCkW>XJKFodx4A&>_ki$1UJUK7*PhDx8LdEbAK+44~8uP1FXSWQ`KhO;u7j=_*pa0-q4er`L}6GC0wd&uU0iQWQI?C|Nb2?#h4F@ zs{i%sR46IWpOt>k*C@rzbFN$wf@oA`X0GA;|G+`Y0W9r&dgQ;q53!FeHWS==2pyk3 zoj&)MJ+iVFz!u$!R>3$x5>$p|vH1Cz_d6SbS@B(BZfx z1X0onnaJsUExdni9t?`QZlB}duIcBc(9i?8j4B-_K&D9Ff+>9R+2J7U1I}bTIlz%u z^__=&?C!QxNAJD=isxwuoS$;YQa1jfv4wnp(Vpxy9-t;33lu2v8d_&3V^tLw_-q2o?29V>vDuV1bM^* zNjo$r?NvOrFeS_(DO@#a^?CUehMhD$9l+VtvAY34Qtswgx+9+CNc>Ip-)M=7yBtaT zwgd|Sl6Kv#1-MwI|NrQ+rG5eIs~_NcZ`mj%8zkRP6QntBnIJ2@SiKpfv(jHpbG-RI znpUj-$qRxkk#3*L@U9gA+8sM~bdML^eIy4BVaS?JR{)KU>FycfXrE=}-7hihvUgNf zdzWaGI+W-Vw&+>j_5U@^N22$7PfSdVhJj^pIS1O z3dQyUUpWblw+C@L2JqE>@cuz-X9)!LY0gR?uGGbq8#A+Xj{E|dVmeyJ$yEf3qo%3V z1S>A+k$o5dSI**JK`W%k+<^{+&mY=Cxd!Q&c~&TugGRUKRkYqd;n@N6OJt_lqv&vBc`tHOAfwav2t7oQ?Wx>YJ388-lE%8&+9>_Jw z)icGCgs;=i=^A_caW(>iY!?st4=2BgPc*kuTpp zI!FLw9YLoZ7J^KFl#Tss8dt0bkUPfpB(6TUE3Oo)Ap}oM9s^}rw+!T*086fGhK4i) zyv5>CqzO)JzB)A`H9;cMBP}(bK&3RqiK@llWE*_<-HTxc6rm=Zt z*F!t5_efz`=zPFXgEK8wb|?azQ_DuwBhoxpI=)mi6R_E5j@Y4#f@8$DL^>lzQhQ(Qwi$2sx6Hb zBOs4mOVLWWY14ysvqlh9Uihbg*~B7R8FGs4UxE4=b#LnOcTKiGmSq5pL% zE*&W*C=Ct{qQOr-vdEP^IJk9J~FM? zgQvoy@(EUd^{3TS0J5;l5YtiIenk284gg^Od9nzf3X^u^Khjg=EG3_cVJEj@*ctai z*2Nnm#i9INe>)7BL|`xat2#M?kj0(;J=3x~Rf~>f`%q#(W0arxk<|$Y{+A?w`9^+~G-%91TzHT4M>0}1Kay_~!rf8_b%u4Gc z9w1?`YKYN@?L*1IV=WV~`ey{kJF6Ef*L-gC5JEN0 zj`;;4Vpw2Ae)wG;mn*ae9%0UJst zUQ$n00U-23N5s0tq7pMp-CjV#w{l=>I51qQaita_{O=DwdldrhuAI$!Hz*Lml!QSFv5 z_fFhieRBE;pUsg&vOwnL3cJ=~os;PI}gkgjhShM?2)V3Ejr*sa=i3tMPc5!)K z1J(7cJ#L=+&}fo^RGH&WRbIC^sKRuMUyV8AvaPN<{EZnLOgNCZ+Mb$UDca3dr3}~I zMfD4ZW51a%n%(Ci@P_P&-%VhjXT%-MNmVp_x~PiV7cZZ@y|5-O22H;4J_5RMfRMaD zb$1d!Z}porh1t(P=llEnJ3udG%;!@wBi)sQ@gx;K{&oZjoYb!os5{$;+r+X2C2I(! zg-aTydSkz?T_;Gcho3IlPtHbvEk3BmbbAEK-=3zdIGjH2&E0)NrFz?F8y!^1cjujH z#OOk4dprtWGdy!`WA2JV)WbqC#iQKAJE@WmF5BSra8`ti+8++_qQ>yXh}#RePuutU zaT^AJsc>)^pjo_PRLT9qdy_~4UYDr-({VA6?~U@sSj%2QT7yT&l#FjNxqs|wy72Xo z&MvBI!uCIRWoIu{2l|0$ri1cYd4;=a4@Iln8RZENY4;iOW}d3fFrUaK_rtH9=M~nJ zCH|3;y+YCSP%`th=&i5J&uzJ21)SBCFb8(+B;-F#(-0nlq|Ky?*QE;anEd0~6X6nq zr&}dM?H0{m@DMV4!mNbwJ3O5Hdi}ZMHBo^;N2>)`8WJ~@8Z4^lHmpZtf@$=^jE;Xu z610mCH9gQ~p0UIXoN`w0jiYRs`R?VF6&FfZ1cX-Ybkh&0(D0KK)oMrz9(!_R_rHe+ zW8M|riq7jjg6-5}bPXks-_NMSgdYJXPO)@%A?{;5CpC#Bu~hYkk3^O(pZeSLQ`0OX z^>=!3k!ZgqU4HwXb$E4c-R<3#auxsd(LqM?p8`n`o&B%8t~qFpab?}Zs5NHx5%Y)n zSa(bYZ=5rJbbDcnU&mgcG&fY@BNtwn)!f{i;K&cWC|t`&p$N)8lA?r`tDhslF$nl! zlUam{rlsNNHeb22tc51+_GJ`rKMnn;K1DT;ris0H^~%9rpgiit7o70}>3$+3wDrZ4 zPf}g5FmY;S@f#5ZiJYoB>U4O^y4 zXMEyf{y92D`Rh-#R%EhB%!Feq2yP;~9GXZ?M(r}}bTc8*(h^KQR}(50H1i~dc<+cj zt;yebZ(Zo*u#Fayia+8OjlO#|BW2|ma(=-o>LuP-M$8PZmr%=`q4^F-SMBt#HM{QZ zaa>n{PPye@_+}dF%p>*@Q%{UqcJ+>Vaj~DbQ|I;E1w5YP=!LC3=6LI$Sk&5KQ$O;d zyV5s%Qt=bPYINpnCwvWihlmK1WKR)&)aBZQHjYMb4rmew?dckgZ51;$j;X8XT{cV9 z)F)~qMMMey>77vGlN&QiiixO-6EV><`MfIw*vv%XtCrO5br#tKC!IP zB(B|LLWq92M`zz-aQTqXA@1Ce-CZ35oOpKmc~9@x)uux`c=6p6lKmL7XEV~1-gHWZ zY91FjOat%eHNhWVN$S>BcAU$F4OOkmt{XHR#~Q;ITrrRaLo(Z(>Ddw&Wl3XJG& zpwznB8VLS;nox}K!1$wi$@80=GCulbkrOsx8d;33ot1xWvn{=#LWS8j0CHwsrv9+V z(~*#ODiSW?L>qt8)};2+dcY}`Z$NBRS9<{pj5rtJi{;4`e93WbKdlzYZw5aebmqM0*?O`o2ZU%jYNDg)2B~VqFmS@LdDe7Yt z>D_lEkEvza6eH(fUD@k%Mjk~7rJF~v5QK-3zC!%+2ghTc39zP!ASkXQGc*}$QSVj> zBo9;y3A8dV8>>a9glZhVm6?wFgy1tP0*!R8+5l{5%(bZvRPL!*XK^iwTF0>&^h<`$ z#7UkL85sDr9%7S5s}@nOE{QOVq=RC-R6vRh78Whf1+9C-BZ8dU$*S1C$e-w@IIxc- zFomREo&6hO_!Ze08a_(6gW8j`BzhmCMlY;bD5SvIB2SdsQ%B`P7^ljQ_-CF4j$aC9n#-vW zUMc1|D)@<##c`$2hY2>C8O2xE-J=Yp5?ZI!z#batyxUvjyY^=`X z5%E`ZU_(gT5~7tX#sI6J80c2}lx`y!ZEp51Xo8Dg5NgY4%XcnS(tq9s@(p?JV~{v^ zZO!Eu{6Dix#S}yB!PDMmg3zS-Qi!$bC$(+21Sh*OrE?Jk;BL<1D zTYO8%Ps)o|#1(g3d@ycjn+zr1?}9B^GTI!#+=t8Vot@-wn(C>|zE# zl7UyYBa45>`bP4@V6e0E3x^z0>lVWTW^i{~djX(IXY=LoQV(FGr^e@EB#%$NWJESS zMx>-`2~C#!X7$Va*Gf+73-gFPHLN2YzF~|75%p~eWOHg(J`ZYVK=ruB(fP@VBbxJ#{Ha`KaEp1L zeKFNjzsDQ?XnGs-R*!qD?WI#BiiSt6+lUr=8J0GMAL>jUihuZB*u%68nF)GFuAY)2 z-|SUqhf56Uu3K~@W8kfK%*?*4H1K2Jj#SOw8_klGJyWfWqv$IH4qq93Cx1q0`GEO1rt$7u9{HlY!Z<5iu-Ib*j)I z>QrV4%&=VDsaKbO{D}Kg@EH?99B)P8HI(If!_97crBpnZbCY}Fdwl<)3_RsBSv=ep z7_k|!u-!h&mq5)fVF#TpHkkQ6$Rpl;;@44k;*5HVGw*14jEj`KV}0$>@xzIF?yKbb-~0%V$!LMqW(~i zZY_JDuJRzhaf%7?rr{|D_OdqTd$jxtF@?hfauBVg4|9iy;A$gVdJzn*8b24n{Bm&H z-2x-qXT&rEiYECXIOuY)8jz}KJKAu|aSsVy=Ev)}_mxJ%7j?eg2h7Lsnml^vNKr}7 z9aJaXno3&D2~BUkB7M~7P4Ap9+;`QOmi^8y(Xk6~L+PiJU4I(TBpYCCLktn0(p;qu zyIE?y2}I|#nUrtwWUcM034F^X$axH|JxT&w22J z(T2E3c$OvP*HaBn{OeasOS47K}NV_%p8K zuv+ygJDJ;#=(o^yse`F=Bg{VY;-sEC!||@auS!1e)W0S8&cCKcrf@^bdW7j}!DyR0 zfw*Df*K?&sIwSOkVr*Its3R5S1!{CkV)7BTiHlTa!Z2YA(5F8Qe}=k?wV5OC9NTt% zyXlvEavfA{f3o=N8;U_CH@~--407aCS>+<8l82D!=J8w}N%2O^eR6vey4?pwN}O+1 z@k{QKEwlwwv)ZMD_9Y}Y@uzUrC$9X`F^vVUjIGRlcz~2jSUHW&U6Z~2@7Z<97Zn$T zNA7X8k0AC07`*F#6OTwpetXaD`Jo3kvsji=yQO2J7}2I={uTQBt+EcP+3G&HSj|xi z&i25Y0P49QTkCa;F7LuC(P*5G{8{OTL3878W{nOQ=w7mWEB)9cb6u8u(&_mm=OWw~ zGLADS3Tz3H;}w%BvaKru4~0qS=c;}W$73q#{d%RE8b0varLU(>N1Svg_J~rO z5bYah6h*qBzK7eyY7>cx^@I94YP}03|o}!*{T_E<7U5;-1 zP&>8xFlbD{x%R6g?BMX~ZC5p|YvDQWF^OpyxKVz3F;7kTWyj_kHa108m4v=*dXcZ< zvzUPY@v6RGzrqBk?2H=KJKGQfET20vOS!QZa>R{>PLweo_DYjQWcHcCHJyGAD|&@d zFPuMrUP@3-gV2aLqlSx-1U=BA;|@Qk0cXYxt#n44V+^-tu^(yDJp>OmuJw2FpV^Cx zkrMoCvbv+ewPPcEa2xmjxHr3H{-&22#l)Y zTYdd&yZoH0GyH2~gWOJn%d_rkGdntk5%XAzz7L*Op6p-S5Sk^-%D~4cgjP9vyAyMZ zu12CrffrNQNWp+~U?%hsef%XYhL#jk%s${<{CPe8S`7xvCSt}IIl^=ErBT8IfEfw| z{lV{fFu5Y@mDQK~9_uJJ`4g>9Ljmuey~IiRuh87Nelutoa`(CK@o`-MQHYgg2&6oK z3$A*1g^)8t5<@=)8{e*!X?P~?(|gGe=uyrkR=%m$*;@64ZK;hqgBn?>o5;;y6Zacm zwVW~$bbR_nVQZlY)D_4x4Igu}u=;B{H`~A3sorl<;EbAsl@8=*BYWFWHr`~LEBNx# za4Ch`vA(>#e5aq&x$v)usH?l8F0{gi*Dc2B5@(xm`80Y)ZJM c-feM{#66Io5C8lQzOX|!77qVBHus7CAL`r^;Q#;t literal 0 HcmV?d00001 diff --git a/src/img/icon-menu-celphone.svg b/src/img/icon-menu-celphone.svg new file mode 100644 index 0000000..99b2fe7 --- /dev/null +++ b/src/img/icon-menu-celphone.svg @@ -0,0 +1,6 @@ + + + + + + From 5bee4a7b689bd32fa036237e6b8eb45bf9d5c798 Mon Sep 17 00:00:00 2001 From: RoxiFOchoaG <46870050+roxifochoag@users.noreply.github.com> Date: Mon, 19 Jun 2023 12:53:57 -0500 Subject: [PATCH 12/95] =?UTF-8?q?Actualizaci=C3=B3n=20de=20front-end=20Reg?= =?UTF-8?q?istro=20de=20usuarios=20y=20Iniciar=20sesi=C3=B3n?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- src/index.html | 63 +++++++++++++++++++++++++++++++++++++------------- src/styles.css | 11 ++++----- 2 files changed, 51 insertions(+), 23 deletions(-) diff --git a/src/index.html b/src/index.html index df22d6f..754a02e 100644 --- a/src/index.html +++ b/src/index.html @@ -17,8 +17,10 @@
+ \ No newline at end of file diff --git a/src/styles.css b/src/styles.css index c4ee008..7571f3e 100644 --- a/src/styles.css +++ b/src/styles.css @@ -1,4 +1,5 @@ @import url("https://fonts.googleapis.com/css2?family=Poppins:wght@200;300;400;500;600;700;800&display=swap"); + * { margin: 0; padding: 0; @@ -63,6 +64,7 @@ form.sign-in-form { font-size: 2rem; color: #444; margin-bottom: 10px; + ; } .subtitle{ @@ -72,6 +74,9 @@ form.sign-in-form { color: #8C8C8C; } +label{ + color: #8C8C8C; +} .input-field { max-width: 380px; width: 100%; @@ -141,11 +146,11 @@ form.sign-in-form { .btn { - width: 150px; + width: 200px; background-color: #FF728D ; border: none; outline: none; - height: 49px; + height: 50px; border-radius: 49px; color: #fff; text-transform: uppercase; @@ -162,6 +167,27 @@ form.sign-in-form { .btn:hover { background-color: #EF2684 ; } +.btn-save{ + width: 375px; + background-color: #FF728D ; + border: none; + outline: none; + height: 49px; + border-radius: 49px; + color: #fff; + text-transform: uppercase; + font-weight: 600; + margin: 10px 0; + cursor: pointer; + transition: 0.5s; + +} +.btn-save:hover{ + + background-color: #EF2684 ; + +} + .panels-container { position: absolute; height: 100%; @@ -193,32 +219,41 @@ color: #FF728D; .container:before { content: ""; position: absolute; - height: 2000px; - width: 2000px; + height: 2100px; /*Height*/ + width: 1600px; top: -10%; right: 48%; transform: translateY(-50%); background-image: linear-gradient(-45deg, #FF728D 0%, #FF728D 100%); transition: 1.8s ease-in-out; - border-radius: 100%; - z-index: 6; + /*border-radius: 100%; modificar + z-index: 6;*/ } .image { - width: 120%; + transition: transform 1.1s ease-in-out; transition-delay: 0.4s; - /* display: flex; - align-self: flex-end;*/ left: 0px; bottom: 0px; padding: 0%; - margin-top: 5px; + margin-top: 0px; } .image1{ width: 30%; } +#illustration{ + display: flex; + align-self: flex-start; + align-items: flex-start; + margin-bottom: -200px; + width: 100%; + + +} + + .panel { display: flex; flex-direction: column; From 84f62e1ccb0d5e83bea6f73062b91b31f01b0779 Mon Sep 17 00:00:00 2001 From: RoxiFOchoaG <46870050+roxifochoag@users.noreply.github.com> Date: Wed, 21 Jun 2023 09:47:47 -0500 Subject: [PATCH 14/95] =?UTF-8?q?Tama=C3=B1o=20de=20la=20altura=20del=20pa?= =?UTF-8?q?nel=20izquierdo?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- src/styles.css | 8 ++++---- 1 file changed, 4 insertions(+), 4 deletions(-) diff --git a/src/styles.css b/src/styles.css index 7571f3e..093a060 100644 --- a/src/styles.css +++ b/src/styles.css @@ -219,7 +219,7 @@ color: #FF728D; .container:before { content: ""; position: absolute; - height: 2100px; /*Height*/ + height: 3000px; /*Height*/ width: 1600px; top: -10%; right: 48%; @@ -245,10 +245,10 @@ color: #FF728D; } #illustration{ display: flex; - align-self: flex-start; - align-items: flex-start; + align-self: center; + align-items: center; margin-bottom: -200px; - width: 100%; + width: fit-content; } From b91bdd1bb4eecd0f7188733bf28dee06c99249c9 Mon Sep 17 00:00:00 2001 From: Tati20h Date: Thu, 22 Jun 2023 13:20:47 -0500 Subject: [PATCH 15/95] creacion routers componentes registro y enlace a firebase --- package.json | 2 +- src/components/Home.js | 16 + src/components/Login.js | 13 + src/components/RecoverPassword.js | 11 + src/components/Register.js | 212 +++++++++ src/components/app.js | 25 +- src/{feed.html => feed.html.txt} | 0 src/firebase/app.js | 0 src/firebase/config.js | 9 +- src/firebase/firebase.js | 38 +- src/index.html | 158 +------ src/lib/index.js | 5 - src/main.js | 32 +- src/styles.css | 687 ++++++++++++++++-------------- 14 files changed, 706 insertions(+), 502 deletions(-) create mode 100644 src/components/Home.js create mode 100644 src/components/Login.js create mode 100644 src/components/RecoverPassword.js create mode 100644 src/components/Register.js rename src/{feed.html => feed.html.txt} (100%) delete mode 100644 src/firebase/app.js delete mode 100644 src/lib/index.js diff --git a/package.json b/package.json index 86d78b0..3f047b2 100644 --- a/package.json +++ b/package.json @@ -18,7 +18,7 @@ "pretest": "npm run htmlhint && npm run eslint && npm run stylelint", "test": "jest --coverage", "dev": "vite dev src", - "start": "npm run dev", + "start": "serve src/ -s", "build": "vite build", "preview": "vite preview" }, diff --git a/src/components/Home.js b/src/components/Home.js new file mode 100644 index 0000000..3f18476 --- /dev/null +++ b/src/components/Home.js @@ -0,0 +1,16 @@ +export const Home=() =>{ + const HomeDiv = document.createElement('div'); + const buttonRegister = document.createElement('button'); + const buttonLogin = document.createElement('button'); + const buttonRecoverPassword = document.createElement('button'); + + buttonRegister.textContent = 'Registrate'; + buttonLogin.textContent = 'Inicia sesion'; + buttonRecoverPassword.textContent = 'Recupera tu contraseña'; + + HomeDiv.appendChild(buttonRegister); + HomeDiv.appendChild(buttonLogin); + HomeDiv.appendChild(buttonRecoverPassword); + + return HomeDiv; +}; \ No newline at end of file diff --git a/src/components/Login.js b/src/components/Login.js new file mode 100644 index 0000000..3b385b9 --- /dev/null +++ b/src/components/Login.js @@ -0,0 +1,13 @@ +export const Login=() =>{ + const HomeDiv = document.createElement('div'); + const buttonRegister = document.createElement('button'); + const buttonLogin = document.createElement('button'); + + buttonRegister.textContent = 'Registrate'; + buttonLogin.textContent = 'Inicia sesion'; + + HomeDiv.appendChild(buttonRegister); + HomeDiv.appendChild(buttonLogin); + + return HomeDiv; + }; \ No newline at end of file diff --git a/src/components/RecoverPassword.js b/src/components/RecoverPassword.js new file mode 100644 index 0000000..a842ab7 --- /dev/null +++ b/src/components/RecoverPassword.js @@ -0,0 +1,11 @@ +export const RecoverPassword=() =>{ + const HomeDiv = document.createElement('div'); + HomeDiv.textContent = 'Recupera tu contraseña' + + const buttonHome = document.createElement('button'); + buttonHome.textContent = 'Regresa al Home'; + + HomeDiv.appendChild(buttonHome); + + return HomeDiv; +}; \ No newline at end of file diff --git a/src/components/Register.js b/src/components/Register.js new file mode 100644 index 0000000..2967a49 --- /dev/null +++ b/src/components/Register.js @@ -0,0 +1,212 @@ +import { signUp } from '../firebase/firebase.js' + +export const Register = () => { + //creando el elemento div que contiene todo el registro + const signUpDiv = document.createElement("div"); + signUpDiv.className = "signin-signup"; + + //creando el elemento formulario + const formSignUp = document.createElement("form"); + formSignUp.className = "sign-up-form"; + formSignUp.action = "#"; + + //creando el titulo del registr + const title = document.createElement("h3"); + title.className = "title"; + title.textContent = "Crea tu cuenta"; + + //creando subtitulo registro + const subtitle = document.createElement("h4"); + subtitle.className = "subtitle"; + subtitle.textContent = "Con esta cuenta podrás conectar con otras mujeres latinas que se encuentran alrededor del mundo"; + + //creando input de email dentro de un div con un icon + const inputFieldEmail = document.createElement("div"); + inputFieldEmail.className = "input-field"; + + const iconEmail = document.createElement("i"); + iconEmail.className = "fas fa-envelope"; + + const email = document.createElement("input"); + email.type = "email"; + email.className = "mail-register"; + email.placeholder = "Ingresa tu email"; + email.name = "Mail"; + email.required = true; + + inputFieldEmail.appendChild(iconEmail); + inputFieldEmail.appendChild(email); + + //creando input de nombre usuario dentro de un div con un icon + const inputFieldUserName = document.createElement("div"); + inputFieldUserName.className = "input-field"; + + // Crear el segundo elemento i con clase "fas fa-user" + const iconUserName = document.createElement("i"); + iconUserName.className = "fas fa-user"; + + // Crear el segundo input con tipo "text", clase "username-register", placeholder "Ingresa tu usuario", y nombre "Username" + const userName = document.createElement("input"); + userName.type = "text"; + userName.className = "username-register"; + userName.placeholder = "Ingresa tu usuario"; + userName.name = "Username"; + userName.required = true; + + // Agregar el icono al segundo div de campo de entrada + inputFieldUserName.appendChild(iconUserName); + inputFieldUserName.appendChild(userName); + + //creando input de contraseña dentro de un div con un icon + const inputFieldPss1 = document.createElement("div"); + inputFieldPss1.className = "input-field"; + + const iconPassword1 = document.createElement("i"); + iconPassword1.className = "fas fa-lock"; + + const password1 = document.createElement("input"); + password1.type = "password"; + password1.className = "password-register"; + password1.placeholder = "Ingresa tu contraseña"; + password1.name = "Password"; + password1.required = true; + + inputFieldPss1.appendChild(iconPassword1); + inputFieldPss1.appendChild(password1); + + //creando input de contraseña dos dentro de un div con un icon + const inputFieldPss2 = document.createElement("div"); + inputFieldPss2.className = "input-field"; + + const iconPassword2 = document.createElement("i"); + iconPassword2.className = "fas fa-lock"; + + const password2 = document.createElement("input"); + password2.type = "password"; + password2.className = "password-register"; + password2.placeholder = "Repite tu contraseña"; + password2.name = "Password"; + password2.required = true; + + inputFieldPss2.appendChild(iconPassword2); + inputFieldPss2.appendChild(password2); + + //crear label de subscribcion + const labelNews = document.createElement("label"); + labelNews.setAttribute("for", "subscribeNews"); + + //Crear el input checkbox para la suscripción a noticias + const suscribe = document.createElement("input"); + suscribe.type = "checkbox"; + suscribe.id = "subscribeNews"; + suscribe.value = "newsletter"; + suscribe.name = "subscribe"; + suscribe.required = true; + + // Crear el texto para la suscripción a noticias + const textReceiveNews = document.createTextNode("Deseo recibir noticias y novedades de Warmi a mi correo"); + + labelNews.appendChild(suscribe); + labelNews.appendChild(textReceiveNews); + + // Crear el elemento label para las políticas y condiciones + const labelCond = document.createElement("label"); + labelCond.setAttribute("for", "conditions"); + + // Crear el input checkbox para las políticas y condiciones + const inputCond = document.createElement("input"); + inputCond.type = "checkbox"; + inputCond.id = "conditions"; + inputCond.value = "conditions"; + inputCond.name = "conditions"; + inputCond.required = true; + + // Crear el texto para las políticas y condiciones + const labelPolitics = document.createTextNode("Estoy de acuerdo con las políticas y condiciones"); + + // Crear el elemento de enlace para leer más + const linkConditions = document.createElement("a"); + linkConditions.href = "/src/conditions.html"; + linkConditions.className = "link1"; + linkConditions.textContent = "Leer aquí"; + + labelCond.appendChild(inputCond); + labelCond.appendChild(labelPolitics); + labelCond.appendChild(linkConditions); + + // Crear el elemento input para el botón de enviar + const submitBtn = document.createElement("input"); + submitBtn.type = "submit"; + submitBtn.className = "btn"; + submitBtn.value = "Crear mi cuenta"; + + // Crear el elemento p para el texto de redes sociales + const socialText = document.createElement("p"); + socialText.className = "social-text"; + socialText.textContent = "Regístrate con tus redes sociales:"; + + // Crear el elemento div con clase "social-media" + const socialMediaDiv = document.createElement("div"); + socialMediaDiv.className = "social-media"; + + // Crear los enlaces de redes sociales + const googleLink = document.createElement("a"); + googleLink.href = "#"; + googleLink.className = "social-icon"; + const googleIcon = document.createElement("i"); + googleIcon.className = "fab fa-google"; + googleLink.appendChild(googleIcon); + + const appleLink = document.createElement("a"); + appleLink.href = "#"; + appleLink.className = "social-icon"; + const appleIcon = document.createElement("i"); + appleIcon.className = "fab fa-apple"; + appleLink.appendChild(appleIcon); + + const microsoftLink = document.createElement("a"); + microsoftLink.href = "#"; + microsoftLink.className = "social-icon"; + const microsoftIcon = document.createElement("i"); + microsoftIcon.className = "fab fa-microsoft"; + microsoftLink.appendChild(microsoftIcon); + + // Agregar los enlaces al div de redes sociales + socialMediaDiv.appendChild(googleLink); + socialMediaDiv.appendChild(appleLink); + socialMediaDiv.appendChild(microsoftLink); + + //append child de cada elemento agregado al form + formSignUp.appendChild(title); + formSignUp.appendChild(subtitle); + formSignUp.appendChild(inputFieldEmail); + formSignUp.appendChild(inputFieldUserName); + formSignUp.appendChild(inputFieldPss1); + formSignUp.appendChild(inputFieldPss2); + formSignUp.appendChild(labelCond); + formSignUp.appendChild(labelNews); + formSignUp.appendChild(submitBtn); + formSignUp.appendChild(socialText); + formSignUp.appendChild(socialMediaDiv); + + signUpDiv.appendChild(formSignUp); + + //evento que va a guardar el registro del usuario + submitBtn.addEventListener("click", (e)=>{ + e.preventDefault(); + + console.log(formSignUp.elements) + + const user = { + email: formSignUp.elements.Mail.value, + name: formSignUp.elements.Username.value, + password: formSignUp.elements.Password[0].value, + }; + + signUp(user); + }) + + + + return signUpDiv; +}; \ No newline at end of file diff --git a/src/components/app.js b/src/components/app.js index 99f9264..2c714f8 100644 --- a/src/components/app.js +++ b/src/components/app.js @@ -1,11 +1,14 @@ -const sign_in_btn = document.querySelector("#sign-in-btn"); -const sign_up_btn = document.querySelector("#sign-up-btn"); -const container = document.querySelector(".container"); - -sign_up_btn.addEventListener("click", () => { - container.classList.add("sign-up-mode"); -}); - -sign_in_btn.addEventListener("click", () => { - container.classList.remove("sign-up-mode"); -}); \ No newline at end of file +const sign_in_btn = document.querySelector("#sign-in-btn"); +const sign_up_btn = document.querySelector("#sign-up-btn"); +const container = document.querySelector(".container"); + +sign_up_btn.addEventListener("click", () => { + container.classList.add("sign-up-mode"); +}); + +sign_in_btn.addEventListener("click", () => { + container.classList.remove("sign-up-mode"); +}); + + +console.log("Hello world"); \ No newline at end of file diff --git a/src/feed.html b/src/feed.html.txt similarity index 100% rename from src/feed.html rename to src/feed.html.txt diff --git a/src/firebase/app.js b/src/firebase/app.js deleted file mode 100644 index e69de29..0000000 diff --git a/src/firebase/config.js b/src/firebase/config.js index 68f7da2..48fe53c 100644 --- a/src/firebase/config.js +++ b/src/firebase/config.js @@ -1,6 +1,8 @@ // Import the functions you need from the SDKs you need import { initializeApp } from "firebase/app"; -import { getAuth } from "firebase/auth"; +// importamps desde fireestore ese codigo //++ +import { getFirestore } from "firebase/firestore"; +import { getAuth,GoogleAuthProvider } from "firebase/auth"; //import { getAnalytics } from "firebase/analytics"; // TODO: Add SDKs for Firebase products that you want to use // https://firebase.google.com/docs/web/setup#available-libraries @@ -20,4 +22,7 @@ const firebaseConfig = { // Initialize Firebase export const app = initializeApp(firebaseConfig); export const auth = getAuth(app); -//const analytics = getAnalytics(app); +// inicialize firestore +export const db = getFirestore(app); + +export const googleProvider = new GoogleAuthProvider(); \ No newline at end of file diff --git a/src/firebase/firebase.js b/src/firebase/firebase.js index 9f8db12..d0bf73d 100644 --- a/src/firebase/firebase.js +++ b/src/firebase/firebase.js @@ -1,16 +1,7 @@ -import { auth } from "./config.js"; -import { createUserWithEmailAndPassword } from "firebase/auth"; - -const user = { - name: "pepita perez", - email: "pepita@perez.com", - nick: "pepis", - password: "123456", -}; - -singUp(user); +import { auth , googleProvider} from "./config.js"; +import { createUserWithEmailAndPassword, getRedirectResult } from "firebase/auth"; -export const singUp = (user) => { +export const signUp = (user) => { createUserWithEmailAndPassword(auth, user.email, user.password) .then((userCredential) => { const userCreated = userCredential.user; @@ -27,3 +18,26 @@ export const singUp = (user) => { return error; }); }; + + +export const signInGoogle = () => { + getRedirectResult(auth) + .then((result) => { + // This gives you a Google Access Token. You can use it to access Google APIs. + const credential = googleProvider.credentialFromResult(result); + const token = credential.accessToken; + + const user = result.user; + console.log("este usuario se logueo con google ", user, " y el token ", token) + }).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 = googleProvider.credentialFromError(error); + console.log(errorCode, errorMessage, email) + }); +} + diff --git a/src/index.html b/src/index.html index 754a02e..9ade28e 100644 --- a/src/index.html +++ b/src/index.html @@ -1,141 +1,19 @@ - - - - - - - - Warmi - - - - -
-
- -
- -
-
-
- Brand -

Warmi es la primera Red Social para Mujeres - Latinas que viven fuera de sus paises de origen

-

- ¿Nueva en Warmi? -

- -
- -
-
-
- Brand -

¿Estas registrada?

-

Warmi es la primera Red Social para Mujeres Latinas que viven fuera de sus paises de origen.

- - - - -
-
-
-
- - - + + + + + + + + Warmi + + + + +
+ + \ No newline at end of file diff --git a/src/lib/index.js b/src/lib/index.js deleted file mode 100644 index 5a83719..0000000 --- a/src/lib/index.js +++ /dev/null @@ -1,5 +0,0 @@ -export const myFunction = () => { - // aqui tu codigo - console.log("Hola mundo!"); -}; - diff --git a/src/main.js b/src/main.js index ac27e91..8199609 100644 --- a/src/main.js +++ b/src/main.js @@ -1,5 +1,27 @@ -// Este es el punto de entrada de tu aplicacion - -import { myFunction } from './lib/index.js'; - -myFunction(); +import { Home } from "./components/Home.js"; +import { Register } from "./components/Register.js"; +import { Login } from "./components/Login.js"; +import { RecoverPassword } from "./components/RecoverPassword.js"; + +const rootDiv = document.getElementById('root'); + +const routes = { + "/": Home, + "/login": Login, + "/register": Register, + "/recoverPassword": RecoverPassword, +}; + +export const onNavigate = (pathname) => { + console.log(pathname) + window.history.pushState({}, pathname, window.location.origin + pathname); + rootDiv.appendChild(routes[pathname]()) +}; + +const component = routes[window.location.pathname] + +window.onpopstate = () => { + rootDiv.appendChild(component()); +} + +rootDiv.appendChild(component()); diff --git a/src/styles.css b/src/styles.css index c4ee008..5054284 100644 --- a/src/styles.css +++ b/src/styles.css @@ -1,463 +1,498 @@ @import url("https://fonts.googleapis.com/css2?family=Poppins:wght@200;300;400;500;600;700;800&display=swap"); + * { - margin: 0; - padding: 0; - box-sizing: border-box; + margin: 0; + padding: 0; + box-sizing: border-box; } body, input { - font-family: "Poppins", sans-serif; + font-family: "Poppins", sans-serif; } .container { - position: relative; - width: 100%; - background-color: #fff; - min-height: 100vh; - overflow: hidden; + position: relative; + width: 100%; + background-color: #fff; + min-height: 100vh; + overflow: hidden; } .forms-container { - position: absolute; - width: 100%; - height: 100%; - top: 0; - left: 0; + position: absolute; + width: 100%; + height: 100%; + top: 0; + left: 0; } .signin-signup { - position: absolute; - top: 50%; - transform: translate(-50%, -50%); - left: 75%; - width: 50%; - transition: 1s 0.7s ease-in-out; - display: grid; - grid-template-columns: 1fr; - z-index: 5; + position: absolute; + top: 50%; + transform: translate(-50%, -50%); + left: 75%; + width: 50%; + transition: 1s 0.7s ease-in-out; + display: grid; + grid-template-columns: 1fr; + z-index: 5; } form { - display: flex; - align-items: center; - justify-content: center; - flex-direction: column; - padding: 0rem 5rem; - transition: all 0.2s 0.7s; - overflow: hidden; - grid-column: 1 / 2; - grid-row: 1 / 2; + display: flex; + align-items: center; + justify-content: center; + flex-direction: column; + padding: 0rem 5rem; + transition: all 0.2s 0.7s; + overflow: hidden; + grid-column: 1 / 2; + grid-row: 1 / 2; } -form.sign-up-form { - opacity: 0; - z-index: 1; +form .sign-up-form { + opacity: 0; + z-index: 1; } -form.sign-in-form { - z-index: 2; +form .sign-in-form { + z-index: 2; } .title { - font-size: 2rem; - color: #444; - margin-bottom: 10px; + font-size: 2rem; + color: #444; + margin-bottom: 10px; + ; } -.subtitle{ - font-size: 1rem; - color: #444; - margin-bottom: 10px; - color: #8C8C8C; +.subtitle { + font-size: 1rem; + color: #444; + margin-bottom: 10px; + color: #8C8C8C; } + +label { + color: #8C8C8C; +} + .input-field { - max-width: 380px; - width: 100%; - background-color: #f0f0f0; - margin: 10px 0; - height: 55px; - border-radius: 55px; - display: grid; - grid-template-columns: 15% 85%; - padding: 0 0.4rem; - position: relative; + max-width: 380px; + width: 100%; + background-color: #f0f0f0; + margin: 10px 0; + height: 55px; + border-radius: 55px; + display: grid; + grid-template-columns: 15% 85%; + padding: 0 0.4rem; + position: relative; } .input-field i { - text-align: center; - line-height: 55px; - color: #acacac; - transition: 0.5s; - font-size: 1.1rem; + text-align: center; + line-height: 55px; + color: #acacac; + transition: 0.5s; + font-size: 1.1rem; } .input-field input { - background: none; - outline: none; - border: none; - line-height: 1; - font-weight: 600; - font-size: 1.1rem; - color: #333; + background: none; + outline: none; + border: none; + line-height: 1; + font-weight: 600; + font-size: 1.1rem; + color: #333; } .input-field input::placeholder { - color: #aaa; - font-weight: 500; + color: #aaa; + font-weight: 500; } .social-text { - padding: 0.7rem 0; - font-size: 1rem; + padding: 0.7rem 0; + font-size: 1rem; } .social-media { - display: flex; - justify-content: center; + display: flex; + justify-content: center; } .social-icon { - height: 46px; - width: 46px; - display: flex; - justify-content: center; - align-items: center; - margin: 0 0.45rem; - color: #333; - border-radius: 50%; - border: 1px solid #333; - text-decoration: none; - font-size: 1.1rem; - transition: 0.3s; + height: 46px; + width: 46px; + display: flex; + justify-content: center; + align-items: center; + margin: 0 0.45rem; + color: #333; + border-radius: 50%; + border: 1px solid #333; + text-decoration: none; + font-size: 1.1rem; + transition: 0.3s; } .social-icon:hover { - color: #EF2684; - border-color: #EF2684; + color: #EF2684; + border-color: #EF2684; } .btn { - - - width: 150px; - background-color: #FF728D ; - border: none; - outline: none; - height: 49px; - border-radius: 49px; - color: #fff; - text-transform: uppercase; - font-weight: 600; - margin: 10px 0; - cursor: pointer; - transition: 0.5s; - + width: 200px; + background-color: #FF728D; + border: none; + outline: none; + height: 50px; + border-radius: 49px; + color: #fff; + text-transform: uppercase; + font-weight: 600; + margin: 10px 0; + cursor: pointer; + transition: 0.5s; +} +.btn:hover { + background-color: #EF2684; +} +.btn-save { + width: 375px; + background-color: #FF728D; + border: none; + outline: none; + height: 49px; + border-radius: 49px; + color: #fff; + text-transform: uppercase; + font-weight: 600; + margin: 10px 0; + cursor: pointer; + transition: 0.5s; } -.btn:hover { - background-color: #EF2684 ; +.btn-save:hover { + + background-color: #EF2684; + } + .panels-container { - position: absolute; - height: 100%; - width: 100%; - top: 0; - left: 0; - display: grid; - grid-template-columns: repeat(2, 1fr); -} -.link{ - - - - -font-family: 'Inria Sans'; -font-style: normal; -font-weight: 700; -font-size: 15px; -line-height: 18px; -/* identical to box height */ -/* + position: absolute; + height: 100%; + width: 100%; + top: 0; + left: 0; + display: grid; + grid-template-columns: repeat(2, 1fr); +} + +.link { + font-family: 'Inria Sans'; + font-style: normal; + font-weight: 700; + font-size: 15px; + line-height: 18px; + /* identical to box height */ + /* left: 550px; top: 320px; */ -color: #FF728D; - - + color: #FF728D; } + .container:before { - content: ""; - position: absolute; - height: 2000px; - width: 2000px; - top: -10%; - right: 48%; - transform: translateY(-50%); - background-image: linear-gradient(-45deg, #FF728D 0%, #FF728D 100%); - transition: 1.8s ease-in-out; - border-radius: 100%; - z-index: 6; + content: ""; + position: absolute; + height: 3000px; + /*Height*/ + width: 1600px; + top: -10%; + right: 48%; + transform: translateY(-50%); + background-image: linear-gradient(-45deg, #FF728D 0%, #FF728D 100%); + transition: 1.8s ease-in-out; + /*border-radius: 100%; modificar + z-index: 6;*/ } .image { - width: 120%; - transition: transform 1.1s ease-in-out; - transition-delay: 0.4s; - /* display: flex; - align-self: flex-end;*/ - left: 0px; - bottom: 0px; - padding: 0%; - margin-top: 5px; + + transition: transform 1.1s ease-in-out; + transition-delay: 0.4s; + left: 0px; + bottom: 0px; + padding: 0%; + margin-top: 0px; +} + +.image1 { + width: 30%; + } -.image1{ - width: 30%; + +#illustration { + display: flex; + align-self: center; + align-items: center; + margin-bottom: -200px; + width: fit-content; + } + + .panel { - display: flex; - flex-direction: column; - align-items: flex-end; - justify-content: space-around; - text-align: center; - z-index: 6; + display: flex; + flex-direction: column; + align-items: flex-end; + justify-content: space-around; + text-align: center; + z-index: 6; } .left-panel { - pointer-events: all; - padding: 3rem 17% 2rem 12%; + pointer-events: all; + padding: 3rem 17% 2rem 12%; } .right-panel { - pointer-events: none; - padding: 3rem 12% 2rem 17%; + pointer-events: none; + padding: 3rem 12% 2rem 17%; } .panel .content { - color: #fff; - transition: transform 0.9s ease-in-out; - transition-delay: 0.6s; + color: #fff; + transition: transform 0.9s ease-in-out; + transition-delay: 0.6s; } .panel h3 { - font-weight: 600; - line-height: 1; - font-size: 1.5rem; + font-weight: 600; + line-height: 1; + font-size: 1.5rem; } .panel p { - font-size: 0.95rem; - padding: 0.7rem 0; + font-size: 0.95rem; + padding: 0.7rem 0; } .btn.transparent { - margin: 0; - background: none; - border: 2px solid #fff; - width: 130px; - height: 41px; - font-weight: 600; - font-size: 0.8rem; + margin: 0; + background: none; + border: 2px solid #fff; + width: 130px; + height: 41px; + font-weight: 600; + font-size: 0.8rem; } .right-panel .image, .right-panel .content { - transform: translateX(800px); + transform: translateX(800px); } /* ANIMATION */ .container.sign-up-mode:before { - transform: translate(100%, -50%); - right: 52%; + transform: translate(100%, -50%); + right: 52%; } .container.sign-up-mode .left-panel .image, .container.sign-up-mode .left-panel .content { - transform: translateX(-1000px); + transform: translateX(-1000px); } .container.sign-up-mode .signin-signup { - left: 25%; + left: 25%; } .container.sign-up-mode form.sign-up-form { - opacity: 1; - z-index: 2; + opacity: 1; + z-index: 2; } .container.sign-up-mode form.sign-in-form { - opacity: 0; - z-index: 1; + opacity: 0; + z-index: 1; } .container.sign-up-mode .right-panel .image, .container.sign-up-mode .right-panel .content { - transform: translateX(0%); + transform: translateX(0%); } .container.sign-up-mode .left-panel { - pointer-events: none; + pointer-events: none; } .container.sign-up-mode .right-panel { - pointer-events: all; + pointer-events: all; } @media (max-width: 870px) { - .container { - min-height: 800px; - height: 100vh; - } - .signin-signup { - width: 100%; - top: 95%; - transform: translate(-50%, -100%); - transition: 1s 0.8s ease-in-out; - } - - .signin-signup, - .container.sign-up-mode .signin-signup { - left: 50%; - } + .container { + min-height: 800px; + height: 100vh; + } + + .signin-signup { + width: 100%; + top: 95%; + transform: translate(-50%, -100%); + transition: 1s 0.8s ease-in-out; + } + + .signin-signup, + .container.sign-up-mode .signin-signup { + left: 50%; + } + + .panels-container { + grid-template-columns: 1fr; + grid-template-rows: 1fr 2fr 1fr; + } + + .panel { + flex-direction: row; + justify-content: space-around; + align-items: center; + padding: 2.5rem 8%; + grid-column: 1 / 2; + } + + .right-panel { + grid-row: 3 / 4; + } + + .left-panel { + grid-row: 1 / 2; + } + + .image { + width: 200px; + transition: transform 0.9s ease-in-out; + transition-delay: 0.6s; + } + + .panel .content { + padding-right: 15%; + transition: transform 0.9s ease-in-out; + transition-delay: 0.8s; + } + + .panel h3 { + font-size: 1.2rem; + } + + .panel p { + font-size: 0.7rem; + padding: 0.5rem 0; + } + + .btn.transparent { + width: 110px; + height: 35px; + font-size: 0.7rem; + } + + .container:before { + width: 1500px; + height: 1500px; + transform: translateX(-50%); + left: 30%; + bottom: 68%; + right: initial; + top: initial; + transition: 2s ease-in-out; + } + + .container.sign-up-mode:before { + transform: translate(-50%, 100%); + bottom: 32%; + right: initial; + } + + .container.sign-up-mode .left-panel .image, + .container.sign-up-mode .left-panel .content { + transform: translateY(-300px); + } + + .container.sign-up-mode .right-panel .image, + .container.sign-up-mode .right-panel .content { + transform: translateY(0px); + } + + .right-panel .image, + .right-panel .content { + transform: translateY(300px); + } + + .container.sign-up-mode .signin-signup { + top: 5%; + transform: translate(-50%, 0); + } +} - .panels-container { - grid-template-columns: 1fr; - grid-template-rows: 1fr 2fr 1fr; - } +.imagen1 { - .panel { - flex-direction: row; - justify-content: space-around; + justify-content: center; align-items: center; - padding: 2.5rem 8%; - grid-column: 1 / 2; - } - - .right-panel { - grid-row: 3 / 4; - } + height: fit-content; + width: 25%; + margin: 30px; - .left-panel { - grid-row: 1 / 2; - } - .image { - width: 200px; - transition: transform 0.9s ease-in-out; - transition-delay: 0.6s; - } - .panel .content { - padding-right: 15%; - transition: transform 0.9s ease-in-out; - transition-delay: 0.8s; - } - - .panel h3 { - font-size: 1.2rem; - } - - .panel p { - font-size: 0.7rem; - padding: 0.5rem 0; - } - - .btn.transparent { - width: 110px; - height: 35px; - font-size: 0.7rem; - } - - .container:before { - width: 1500px; - height: 1500px; - transform: translateX(-50%); - left: 30%; - bottom: 68%; - right: initial; - top: initial; - transition: 2s ease-in-out; - } - - .container.sign-up-mode:before { - transform: translate(-50%, 100%); - bottom: 32%; - right: initial; - } - - .container.sign-up-mode .left-panel .image, - .container.sign-up-mode .left-panel .content { - transform: translateY(-300px); - } - - .container.sign-up-mode .right-panel .image, - .container.sign-up-mode .right-panel .content { - transform: translateY(0px); - } - - .right-panel .image, - .right-panel .content { - transform: translateY(300px); - } - - .container.sign-up-mode .signin-signup { - top: 5%; - transform: translate(-50%, 0); - } } -.imagen1 { - - justify-content: center; - align-items: center; - height: fit-content; - width: 25%; - margin: 30px; - - - - } - - .imagen2 { - display: flex; - position: absolute; - width: fit-content; - align-self: flex-end; - -ms-flex-align: end; - height: 68%; - left: 0px; - top: 292px; - } +.imagen2 { + display: flex; + position: absolute; + width: fit-content; + align-self: flex-end; + -ms-flex-align: end; + height: 68%; + left: 0px; + top: 292px; +} @media (max-width: 570px) { - form { - padding: 0 1.5rem; - } - - .imagen1,.imagen2 { - display: none; - } - .panel .content { - padding: 0.5rem 1rem; - } - .container { - padding: 1.5rem; - } - - .container:before { - bottom: 72%; - left: 50%; - } - - .container.sign-up-mode:before { - bottom: 28%; - left: 50%; - } -} + form { + padding: 0 1.5rem; + } + .imagen1, + .imagen2 { + display: none; + } + + .panel .content { + padding: 0.5rem 1rem; + } + + .container { + padding: 1.5rem; + } + + .container:before { + bottom: 72%; + left: 50%; + } + + .container.sign-up-mode:before { + bottom: 28%; + left: 50%; + } +} \ No newline at end of file From 53896c82f81a3767b7360ba273a4f4be91a6ea57 Mon Sep 17 00:00:00 2001 From: Erika Nagaki Date: Thu, 22 Jun 2023 20:32:36 -0500 Subject: [PATCH 16/95] RecoverPassword.js --- src/components/RecoverPassword.js | 72 +++++++++++++++++++++++---- src/{feed.html.txt => feed.html.html} | 0 src/styles.css | 5 ++ 3 files changed, 68 insertions(+), 9 deletions(-) rename src/{feed.html.txt => feed.html.html} (100%) diff --git a/src/components/RecoverPassword.js b/src/components/RecoverPassword.js index a842ab7..0ef0e2f 100644 --- a/src/components/RecoverPassword.js +++ b/src/components/RecoverPassword.js @@ -1,11 +1,65 @@ -export const RecoverPassword=() =>{ - const HomeDiv = document.createElement('div'); - HomeDiv.textContent = 'Recupera tu contraseña' +export const RecoverPassword = () => { + const recoverPasswordDiv = document.createElement('div'); + recoverPasswordDiv.className = 'container'; - const buttonHome = document.createElement('button'); - buttonHome.textContent = 'Regresa al Home'; + const recoverPasswordDivDiv = document.createElement('div'); + recoverPasswordDivDiv.className = 'forms-container'; - HomeDiv.appendChild(buttonHome); - - return HomeDiv; -}; \ No newline at end of file + const formRecoverPassword = document.createElement('form'); + formRecoverPassword.className = 'signin-signup'; + formRecoverPassword.action = '#'; + + const formHeaderDiv = document.createElement('div'); + formHeaderDiv.className = 'form-header-div'; + + const title = document.createElement('h2'); + title.className = 'title'; + title.textContent = '¿Olvidaste tu contraseña?'; + + const subtitle = document.createElement('h3'); + subtitle.className = 'subtitle'; + subtitle.textContent = '¡Nosotras te ayudamos!'; + + const labelForMessage = document.createElement('label'); + labelForMessage.textContent = 'Ingresa el correo electrónico con el que te registraste'; + + const inputFieldEmail = document.createElement('div'); + inputFieldEmail.className = 'input-field'; + + const iconEmail = document.createElement('i'); + iconEmail.className = 'fas fa-envelope'; + + const email = document.createElement('input'); + email.type = 'email'; + email.placeholder = 'Ingresa tu email'; + email.name = 'Mail'; + email.required = true; + + inputFieldEmail.appendChild(iconEmail); + inputFieldEmail.appendChild(email); + + const formButtonDiv = document.createElement('div'); + formButtonDiv.className = 'form-button-div'; + + const sendRecoveryPasswordButton = document.createElement('input'); + sendRecoveryPasswordButton.type = 'submit'; + sendRecoveryPasswordButton.placeholder = 'Enviar enlace de recuperación'; + sendRecoveryPasswordButton.className = 'btn-save'; + + const labelForSendMessage = document.createElement('label'); + labelForSendMessage.textContent = 'Te enviaremos un enlace de recuperacion a tu correo electrónico'; + labelForSendMessage.className = 'support-text' + + recoverPasswordDiv.appendChild(recoverPasswordDivDiv); + recoverPasswordDivDiv.appendChild(formRecoverPassword); + formRecoverPassword.appendChild(formHeaderDiv); + formHeaderDiv.appendChild(title); + formHeaderDiv.appendChild(subtitle); + formRecoverPassword.appendChild(labelForMessage); + formRecoverPassword.appendChild(inputFieldEmail); + formRecoverPassword.appendChild(formButtonDiv); + formButtonDiv.appendChild(sendRecoveryPasswordButton); + formRecoverPassword.appendChild(labelForSendMessage); + + return recoverPasswordDiv; +}; diff --git a/src/feed.html.txt b/src/feed.html.html similarity index 100% rename from src/feed.html.txt rename to src/feed.html.html diff --git a/src/styles.css b/src/styles.css index dcc07be..97969b8 100644 --- a/src/styles.css +++ b/src/styles.css @@ -158,6 +158,11 @@ label{ transition: 0.5s; } +.support-text{ + width: auto; + margin-top: 0px; +} + .btn:hover { background-color: #EF2684; } From 1f3d745d77fff79a1c8b20b4814bbc64719174b3 Mon Sep 17 00:00:00 2001 From: RoxiFOchoaG <46870050+roxifochoag@users.noreply.github.com> Date: Fri, 23 Jun 2023 10:08:54 -0500 Subject: [PATCH 17/95] =?UTF-8?q?Mensaje=20a=20de=20actualizaci=C3=B3n=20d?= =?UTF-8?q?e=20datos=20y=20single=20quotes?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- src/components/Home.js | 28 +- src/components/Login.js | 26 +- src/components/RecoverPassword.js | 2 +- src/components/Register.js | 419 +++++++++++++++--------------- src/firebase/config.js | 17 +- src/firebase/firebase.js | 50 ++-- src/main.js | 24 +- 7 files changed, 284 insertions(+), 282 deletions(-) diff --git a/src/components/Home.js b/src/components/Home.js index 3f18476..04a568d 100644 --- a/src/components/Home.js +++ b/src/components/Home.js @@ -1,16 +1,16 @@ -export const Home=() =>{ - const HomeDiv = document.createElement('div'); - const buttonRegister = document.createElement('button'); - const buttonLogin = document.createElement('button'); - const buttonRecoverPassword = document.createElement('button'); +export const Home = () => { + const HomeDiv = document.createElement('div'); + const buttonRegister = document.createElement('button'); + const buttonLogin = document.createElement('button'); + const buttonRecoverPassword = document.createElement('button'); - buttonRegister.textContent = 'Registrate'; - buttonLogin.textContent = 'Inicia sesion'; - buttonRecoverPassword.textContent = 'Recupera tu contraseña'; + buttonRegister.textContent = 'Registrate'; + buttonLogin.textContent = 'Inicia sesion'; + buttonRecoverPassword.textContent = 'Recupera tu contraseña'; - HomeDiv.appendChild(buttonRegister); - HomeDiv.appendChild(buttonLogin); - HomeDiv.appendChild(buttonRecoverPassword); - - return HomeDiv; -}; \ No newline at end of file + HomeDiv.appendChild(buttonRegister); + HomeDiv.appendChild(buttonLogin); + HomeDiv.appendChild(buttonRecoverPassword); + + return HomeDiv; +}; diff --git a/src/components/Login.js b/src/components/Login.js index 3b385b9..4627efb 100644 --- a/src/components/Login.js +++ b/src/components/Login.js @@ -1,13 +1,13 @@ -export const Login=() =>{ - const HomeDiv = document.createElement('div'); - const buttonRegister = document.createElement('button'); - const buttonLogin = document.createElement('button'); - - buttonRegister.textContent = 'Registrate'; - buttonLogin.textContent = 'Inicia sesion'; - - HomeDiv.appendChild(buttonRegister); - HomeDiv.appendChild(buttonLogin); - - return HomeDiv; - }; \ No newline at end of file +export const Login = () => { + const HomeDiv = document.createElement('div'); + const buttonRegister = document.createElement('button'); + const buttonLogin = document.createElement('button'); + + buttonRegister.textContent = 'Registrate'; + buttonLogin.textContent = 'Inicia sesion'; + + HomeDiv.appendChild(buttonRegister); + HomeDiv.appendChild(buttonLogin); + + return HomeDiv; +}; diff --git a/src/components/RecoverPassword.js b/src/components/RecoverPassword.js index 0ef0e2f..cc5c663 100644 --- a/src/components/RecoverPassword.js +++ b/src/components/RecoverPassword.js @@ -48,7 +48,7 @@ export const RecoverPassword = () => { const labelForSendMessage = document.createElement('label'); labelForSendMessage.textContent = 'Te enviaremos un enlace de recuperacion a tu correo electrónico'; - labelForSendMessage.className = 'support-text' + labelForSendMessage.className = 'support-text'; recoverPasswordDiv.appendChild(recoverPasswordDivDiv); recoverPasswordDivDiv.appendChild(formRecoverPassword); diff --git a/src/components/Register.js b/src/components/Register.js index 2967a49..fc1bfc4 100644 --- a/src/components/Register.js +++ b/src/components/Register.js @@ -1,212 +1,211 @@ -import { signUp } from '../firebase/firebase.js' +import { signUp } from '../firebase/firebase.js'; export const Register = () => { - //creando el elemento div que contiene todo el registro - const signUpDiv = document.createElement("div"); - signUpDiv.className = "signin-signup"; - - //creando el elemento formulario - const formSignUp = document.createElement("form"); - formSignUp.className = "sign-up-form"; - formSignUp.action = "#"; - - //creando el titulo del registr - const title = document.createElement("h3"); - title.className = "title"; - title.textContent = "Crea tu cuenta"; - - //creando subtitulo registro - const subtitle = document.createElement("h4"); - subtitle.className = "subtitle"; - subtitle.textContent = "Con esta cuenta podrás conectar con otras mujeres latinas que se encuentran alrededor del mundo"; - - //creando input de email dentro de un div con un icon - const inputFieldEmail = document.createElement("div"); - inputFieldEmail.className = "input-field"; - - const iconEmail = document.createElement("i"); - iconEmail.className = "fas fa-envelope"; - - const email = document.createElement("input"); - email.type = "email"; - email.className = "mail-register"; - email.placeholder = "Ingresa tu email"; - email.name = "Mail"; - email.required = true; - - inputFieldEmail.appendChild(iconEmail); - inputFieldEmail.appendChild(email); - - //creando input de nombre usuario dentro de un div con un icon - const inputFieldUserName = document.createElement("div"); - inputFieldUserName.className = "input-field"; - - // Crear el segundo elemento i con clase "fas fa-user" - const iconUserName = document.createElement("i"); - iconUserName.className = "fas fa-user"; - - // Crear el segundo input con tipo "text", clase "username-register", placeholder "Ingresa tu usuario", y nombre "Username" - const userName = document.createElement("input"); - userName.type = "text"; - userName.className = "username-register"; - userName.placeholder = "Ingresa tu usuario"; - userName.name = "Username"; - userName.required = true; - - // Agregar el icono al segundo div de campo de entrada - inputFieldUserName.appendChild(iconUserName); - inputFieldUserName.appendChild(userName); - - //creando input de contraseña dentro de un div con un icon - const inputFieldPss1 = document.createElement("div"); - inputFieldPss1.className = "input-field"; - - const iconPassword1 = document.createElement("i"); - iconPassword1.className = "fas fa-lock"; - - const password1 = document.createElement("input"); - password1.type = "password"; - password1.className = "password-register"; - password1.placeholder = "Ingresa tu contraseña"; - password1.name = "Password"; - password1.required = true; - - inputFieldPss1.appendChild(iconPassword1); - inputFieldPss1.appendChild(password1); - - //creando input de contraseña dos dentro de un div con un icon - const inputFieldPss2 = document.createElement("div"); - inputFieldPss2.className = "input-field"; - - const iconPassword2 = document.createElement("i"); - iconPassword2.className = "fas fa-lock"; - - const password2 = document.createElement("input"); - password2.type = "password"; - password2.className = "password-register"; - password2.placeholder = "Repite tu contraseña"; - password2.name = "Password"; - password2.required = true; - - inputFieldPss2.appendChild(iconPassword2); - inputFieldPss2.appendChild(password2); - - //crear label de subscribcion - const labelNews = document.createElement("label"); - labelNews.setAttribute("for", "subscribeNews"); - - //Crear el input checkbox para la suscripción a noticias - const suscribe = document.createElement("input"); - suscribe.type = "checkbox"; - suscribe.id = "subscribeNews"; - suscribe.value = "newsletter"; - suscribe.name = "subscribe"; - suscribe.required = true; - - // Crear el texto para la suscripción a noticias - const textReceiveNews = document.createTextNode("Deseo recibir noticias y novedades de Warmi a mi correo"); - - labelNews.appendChild(suscribe); - labelNews.appendChild(textReceiveNews); - - // Crear el elemento label para las políticas y condiciones - const labelCond = document.createElement("label"); - labelCond.setAttribute("for", "conditions"); - - // Crear el input checkbox para las políticas y condiciones - const inputCond = document.createElement("input"); - inputCond.type = "checkbox"; - inputCond.id = "conditions"; - inputCond.value = "conditions"; - inputCond.name = "conditions"; - inputCond.required = true; - - // Crear el texto para las políticas y condiciones - const labelPolitics = document.createTextNode("Estoy de acuerdo con las políticas y condiciones"); - - // Crear el elemento de enlace para leer más - const linkConditions = document.createElement("a"); - linkConditions.href = "/src/conditions.html"; - linkConditions.className = "link1"; - linkConditions.textContent = "Leer aquí"; - - labelCond.appendChild(inputCond); - labelCond.appendChild(labelPolitics); - labelCond.appendChild(linkConditions); - - // Crear el elemento input para el botón de enviar - const submitBtn = document.createElement("input"); - submitBtn.type = "submit"; - submitBtn.className = "btn"; - submitBtn.value = "Crear mi cuenta"; - - // Crear el elemento p para el texto de redes sociales - const socialText = document.createElement("p"); - socialText.className = "social-text"; - socialText.textContent = "Regístrate con tus redes sociales:"; - - // Crear el elemento div con clase "social-media" - const socialMediaDiv = document.createElement("div"); - socialMediaDiv.className = "social-media"; - - // Crear los enlaces de redes sociales - const googleLink = document.createElement("a"); - googleLink.href = "#"; - googleLink.className = "social-icon"; - const googleIcon = document.createElement("i"); - googleIcon.className = "fab fa-google"; - googleLink.appendChild(googleIcon); - - const appleLink = document.createElement("a"); - appleLink.href = "#"; - appleLink.className = "social-icon"; - const appleIcon = document.createElement("i"); - appleIcon.className = "fab fa-apple"; - appleLink.appendChild(appleIcon); - - const microsoftLink = document.createElement("a"); - microsoftLink.href = "#"; - microsoftLink.className = "social-icon"; - const microsoftIcon = document.createElement("i"); - microsoftIcon.className = "fab fa-microsoft"; - microsoftLink.appendChild(microsoftIcon); - - // Agregar los enlaces al div de redes sociales - socialMediaDiv.appendChild(googleLink); - socialMediaDiv.appendChild(appleLink); - socialMediaDiv.appendChild(microsoftLink); - - //append child de cada elemento agregado al form - formSignUp.appendChild(title); - formSignUp.appendChild(subtitle); - formSignUp.appendChild(inputFieldEmail); - formSignUp.appendChild(inputFieldUserName); - formSignUp.appendChild(inputFieldPss1); - formSignUp.appendChild(inputFieldPss2); - formSignUp.appendChild(labelCond); - formSignUp.appendChild(labelNews); - formSignUp.appendChild(submitBtn); - formSignUp.appendChild(socialText); - formSignUp.appendChild(socialMediaDiv); - - signUpDiv.appendChild(formSignUp); - - //evento que va a guardar el registro del usuario - submitBtn.addEventListener("click", (e)=>{ - e.preventDefault(); - - console.log(formSignUp.elements) - - const user = { - email: formSignUp.elements.Mail.value, - name: formSignUp.elements.Username.value, - password: formSignUp.elements.Password[0].value, - }; - - signUp(user); - }) - - - - return signUpDiv; -}; \ No newline at end of file + // creando el elemento div que contiene todo el registro + const signUpDiv = document.createElement('div'); + signUpDiv.className = 'signin-signup'; + + // creando el elemento formulario + const formSignUp = document.createElement('form'); + formSignUp.className = 'sign-up-form'; + formSignUp.action = '#'; + + // creando el titulo del registr + const title = document.createElement('h3'); + title.className = 'title'; + title.textContent = 'Crea tu cuenta'; + + // creando subtitulo registro + const subtitle = document.createElement('h4'); + subtitle.className = 'subtitle'; + subtitle.textContent = 'Con esta cuenta podrás conectar con otras mujeres latinas que se encuentran alrededor del mundo'; + + // creando input de email dentro de un div con un icon + const inputFieldEmail = document.createElement('div'); + inputFieldEmail.className = 'input-field'; + + const iconEmail = document.createElement('i'); + iconEmail.className = 'fas fa-envelope'; + + const email = document.createElement('input'); + email.type = 'email'; + email.className = 'mail-register'; + email.placeholder = 'Ingresa tu email'; + email.name = 'Mail'; + email.required = true; + + inputFieldEmail.appendChild(iconEmail); + inputFieldEmail.appendChild(email); + + // creando input de nombre usuario dentro de un div con un icon + const inputFieldUserName = document.createElement('div'); + inputFieldUserName.className = 'input-field'; + + // Crear el segundo elemento i con clase "fas fa-user" + const iconUserName = document.createElement('i'); + iconUserName.className = 'fas fa-user'; + + // Crear el segundo input con tipo "text", clase "username-register" + // placeholder "Ingresa tu usuario", y nombre "Username" + const userName = document.createElement('input'); + userName.type = 'text'; + userName.className = 'username-register'; + userName.placeholder = 'Ingresa tu usuario'; + userName.name = 'Username'; + userName.required = true; + + // Agregar el icono al segundo div de campo de entrada + inputFieldUserName.appendChild(iconUserName); + inputFieldUserName.appendChild(userName); + + // creando input de contraseña dentro de un div con un icon + const inputFieldPss1 = document.createElement('div'); + inputFieldPss1.className = 'input-field'; + + const iconPassword1 = document.createElement('i'); + iconPassword1.className = 'fas fa-lock'; + + const password1 = document.createElement('input'); + password1.type = 'password'; + password1.className = 'password-register'; + password1.placeholder = 'Ingresa tu contraseña'; + password1.name = 'Password'; + password1.required = true; + + inputFieldPss1.appendChild(iconPassword1); + inputFieldPss1.appendChild(password1); + + // creando input de contraseña dos dentro de un div con un icon + const inputFieldPss2 = document.createElement('div'); + inputFieldPss2.className = 'input-field'; + + const iconPassword2 = document.createElement('i'); + iconPassword2.className = 'fas fa-lock'; + + const password2 = document.createElement('input'); + password2.type = 'password'; + password2.className = 'password-register'; + password2.placeholder = 'Repite tu contraseña'; + password2.name = 'Password'; + password2.required = true; + + inputFieldPss2.appendChild(iconPassword2); + inputFieldPss2.appendChild(password2); + + // crear label de subscribcion + const labelNews = document.createElement('label'); + labelNews.setAttribute('for', 'subscribeNews'); + + // Crear el input checkbox para la suscripción a noticias + const suscribe = document.createElement('input'); + suscribe.type = 'checkbox'; + suscribe.id = 'subscribeNews'; + suscribe.value = 'newsletter'; + suscribe.name = 'subscribe'; + suscribe.required = true; + + // Crear el texto para la suscripción a noticias + const textReceiveNews = document.createTextNode('Deseo recibir noticias y novedades de Warmi a mi correo'); + + labelNews.appendChild(suscribe); + labelNews.appendChild(textReceiveNews); + + // Crear el elemento label para las políticas y condiciones + const labelCond = document.createElement('label'); + labelCond.setAttribute('for', 'conditions'); + + // Crear el input checkbox para las políticas y condiciones + const inputCond = document.createElement('input'); + inputCond.type = 'checkbox'; + inputCond.id = 'conditions'; + inputCond.value = 'conditions'; + inputCond.name = 'conditions'; + inputCond.required = true; + + // Crear el texto para las políticas y condiciones + const labelPolitics = document.createTextNode('Estoy de acuerdo con las políticas y condiciones'); + + // Crear el elemento de enlace para leer más + const linkConditions = document.createElement('a'); + linkConditions.href = '/src/conditions.html'; + linkConditions.className = 'link1'; + linkConditions.textContent = 'Leer aquí'; + + labelCond.appendChild(inputCond); + labelCond.appendChild(labelPolitics); + labelCond.appendChild(linkConditions); + + // Crear el elemento input para el botón de enviar + const submitBtn = document.createElement('input'); + submitBtn.type = 'submit'; + submitBtn.className = 'btn'; + submitBtn.value = 'Crear mi cuenta'; + + // Crear el elemento p para el texto de redes sociales + const socialText = document.createElement('p'); + socialText.className = 'social-text'; + socialText.textContent = 'Regístrate con tus redes sociales:'; + + // Crear el elemento div con clase "social-media" + const socialMediaDiv = document.createElement('div'); + socialMediaDiv.className = 'social-media'; + + // Crear los enlaces de redes sociales + const googleLink = document.createElement('a'); + googleLink.href = '#'; + googleLink.className = 'social-icon'; + const googleIcon = document.createElement('i'); + googleIcon.className = 'fab fa-google'; + googleLink.appendChild(googleIcon); + + const appleLink = document.createElement('a'); + appleLink.href = '#'; + appleLink.className = 'social-icon'; + const appleIcon = document.createElement('i'); + appleIcon.className = 'fab fa-apple'; + appleLink.appendChild(appleIcon); + + const microsoftLink = document.createElement('a'); + microsoftLink.href = '#'; + microsoftLink.className = 'social-icon'; + const microsoftIcon = document.createElement('i'); + microsoftIcon.className = 'fab fa-microsoft'; + microsoftLink.appendChild(microsoftIcon); + + // Agregar los enlaces al div de redes sociales + socialMediaDiv.appendChild(googleLink); + socialMediaDiv.appendChild(appleLink); + socialMediaDiv.appendChild(microsoftLink); + + // append child de cada elemento agregado al form + formSignUp.appendChild(title); + formSignUp.appendChild(subtitle); + formSignUp.appendChild(inputFieldEmail); + formSignUp.appendChild(inputFieldUserName); + formSignUp.appendChild(inputFieldPss1); + formSignUp.appendChild(inputFieldPss2); + formSignUp.appendChild(labelCond); + formSignUp.appendChild(labelNews); + formSignUp.appendChild(submitBtn); + formSignUp.appendChild(socialText); + formSignUp.appendChild(socialMediaDiv); + + signUpDiv.appendChild(formSignUp); + + // evento que va a guardar el registro del usuario + submitBtn.addEventListener('click', (e) => { + e.preventDefault(); + + console.log(formSignUp.elements); + + const user = { + email: formSignUp.elements.Mail.value, + name: formSignUp.elements.Username.value, + password: formSignUp.elements.Password[0].value, + }; + + signUp(user); + }); + + return signUpDiv; +}; diff --git a/src/firebase/config.js b/src/firebase/config.js index 48fe53c..a177d25 100644 --- a/src/firebase/config.js +++ b/src/firebase/config.js @@ -10,13 +10,13 @@ import { getAuth,GoogleAuthProvider } from "firebase/auth"; // Your web app's Firebase configuration // For Firebase JS SDK v7.20.0 and later, measurementId is optional const firebaseConfig = { - apiKey: "AIzaSyDzcfa3MBIp2IA3cuOBKZntaHv9-0BqeI8", - authDomain: "dev008-social-network.firebaseapp.com", - projectId: "dev008-social-network", - storageBucket: "dev008-social-network.appspot.com", - messagingSenderId: "813514052859", - appId: "1:813514052859:web:cf928bd795e4eb761d0c5e", - measurementId: "G-N70CK0BGX8", + apiKey: 'AIzaSyDzcfa3MBIp2IA3cuOBKZntaHv9-0BqeI8', + authDomain: 'dev008-social-network.firebaseapp.com', + projectId: 'dev008-social-network', + storageBucket: 'dev008-social-network.appspot.com', + messagingSenderId: '813514052859', + appId: '1:813514052859:web:cf928bd795e4eb761d0c5e', + measurementId: 'G-N70CK0BGX8', }; // Initialize Firebase @@ -24,5 +24,4 @@ export const app = initializeApp(firebaseConfig); export const auth = getAuth(app); // inicialize firestore export const db = getFirestore(app); - -export const googleProvider = new GoogleAuthProvider(); \ No newline at end of file +export const googleProvider = new GoogleAuthProvider(); diff --git a/src/firebase/firebase.js b/src/firebase/firebase.js index d0bf73d..d967cb0 100644 --- a/src/firebase/firebase.js +++ b/src/firebase/firebase.js @@ -1,5 +1,5 @@ -import { auth , googleProvider} from "./config.js"; -import { createUserWithEmailAndPassword, getRedirectResult } from "firebase/auth"; +import { createUserWithEmailAndPassword, getRedirectResult } from 'firebase/auth'; +import { auth, googleProvider } from './config.js'; export const signUp = (user) => { createUserWithEmailAndPassword(auth, user.email, user.password) @@ -13,31 +13,35 @@ export const signUp = (user) => { const errorCode = error.code; const errorMessage = error.message; - console.log(errorCode, "", errorMessage); + console.log(errorCode, '', errorMessage); return error; }); }; - export const signInGoogle = () => { getRedirectResult(auth) - .then((result) => { - // This gives you a Google Access Token. You can use it to access Google APIs. - const credential = googleProvider.credentialFromResult(result); - const token = credential.accessToken; - - const user = result.user; - console.log("este usuario se logueo con google ", user, " y el token ", token) - }).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 = googleProvider.credentialFromError(error); - console.log(errorCode, errorMessage, email) - }); -} - + .then((result) => { + // This gives you a Google Access Token. You can use it to access Google APIs. + const credential = googleProvider.credentialFromResult(result); + const token = credential.accessToken; + const user = result.user; + console.log( + 'este usuario se logueo con google', + user, + ' y el token ', + token, + ); + }) + .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 = googleProvider.credentialFromError(error); + console.log(credential); + console.log(errorCode, errorMessage, email); + }); +}; diff --git a/src/main.js b/src/main.js index 8199609..6809e9e 100644 --- a/src/main.js +++ b/src/main.js @@ -1,27 +1,27 @@ -import { Home } from "./components/Home.js"; -import { Register } from "./components/Register.js"; -import { Login } from "./components/Login.js"; -import { RecoverPassword } from "./components/RecoverPassword.js"; +import { Home } from './components/Home.js'; +import { Register } from './components/Register.js'; +import { Login } from './components/Login.js'; +import { RecoverPassword } from './components/RecoverPassword.js'; const rootDiv = document.getElementById('root'); const routes = { - "/": Home, - "/login": Login, - "/register": Register, - "/recoverPassword": RecoverPassword, + '/': Home, + '/login': Login, + '/register': Register, + '/recoverPassword': RecoverPassword, }; export const onNavigate = (pathname) => { - console.log(pathname) + console.log(pathname); window.history.pushState({}, pathname, window.location.origin + pathname); - rootDiv.appendChild(routes[pathname]()) + rootDiv.appendChild(routes[pathname]()); }; -const component = routes[window.location.pathname] +const component = routes[window.location.pathname]; window.onpopstate = () => { rootDiv.appendChild(component()); -} +}; rootDiv.appendChild(component()); From 88818f53d017ee8b387ff47c80357ca1d7aa3afd Mon Sep 17 00:00:00 2001 From: RoxiFOchoaG <46870050+roxifochoag@users.noreply.github.com> Date: Fri, 23 Jun 2023 10:13:18 -0500 Subject: [PATCH 18/95] =?UTF-8?q?Actualizaci=C3=B3n=20de=20las=20rutas?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- src/main.js | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/src/main.js b/src/main.js index 6809e9e..a24602f 100644 --- a/src/main.js +++ b/src/main.js @@ -7,9 +7,9 @@ const rootDiv = document.getElementById('root'); const routes = { '/': Home, - '/login': Login, - '/register': Register, - '/recoverPassword': RecoverPassword, + '/Login': Login, + '/Register': Register, + '/RecoverPassword': RecoverPassword, }; export const onNavigate = (pathname) => { From 4a2bcba987bde6cdb97b76c2112608c4cd52525f Mon Sep 17 00:00:00 2001 From: RoxiFOchoaG <46870050+roxifochoag@users.noreply.github.com> Date: Mon, 26 Jun 2023 17:02:26 -0500 Subject: [PATCH 19/95] =?UTF-8?q?Cambios=20actualizados=20en=20proceso=20d?= =?UTF-8?q?e=20routeo=20adem=C3=A1s=20de=20creado=20Login,=20Register=20y?= =?UTF-8?q?=20RecorverPassword?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- package.json | 2 +- ...SavePassword.html => RecoverPassword.html} | 0 src/components/Login.js | 135 +++++++++++++++++- src/components/Register.js | 3 +- src/components/googleLogin.js | 24 ++++ src/firebase/config.js | 8 +- src/firebase/firebase.js | 33 +++-- src/main.js | 6 +- src/navigate.js | 5 + 9 files changed, 192 insertions(+), 24 deletions(-) rename src/{SavePassword.html => RecoverPassword.html} (100%) create mode 100644 src/components/googleLogin.js create mode 100644 src/navigate.js diff --git a/package.json b/package.json index 3f047b2..feda6c2 100644 --- a/package.json +++ b/package.json @@ -52,6 +52,6 @@ }, "author": "Roxi-Erika-Tatiana", "dependencies": { - "firebase": "^9.22.2" + "firebase": "^9.23.0" } } diff --git a/src/SavePassword.html b/src/RecoverPassword.html similarity index 100% rename from src/SavePassword.html rename to src/RecoverPassword.html diff --git a/src/components/Login.js b/src/components/Login.js index 4627efb..52fe51f 100644 --- a/src/components/Login.js +++ b/src/components/Login.js @@ -1,13 +1,136 @@ +import { signIn } from '../firebase/firebase.js'; + export const Login = () => { + // creando el elemento div que contiene todo el Login const HomeDiv = document.createElement('div'); - const buttonRegister = document.createElement('button'); - const buttonLogin = document.createElement('button'); + HomeDiv.className = 'container'; + // Elemento + const formSignInDivDiv = document.createElement('div'); + formSignInDivDiv.className = 'forms-container'; + // creando elementos del formulario + + const formSignIn = document.createElement('form'); + formSignIn.className = 'signin-signup'; + formSignIn.action = '#'; + + const formHeaderDiv = document.createElement('div'); + formHeaderDiv.className = 'form-header-div'; + // creando el titulo del login + + const title = document.createElement('h2'); + title.classname = 'title'; + title.textContent = 'Bienvenida!'; + // creando el subtitulo del login + + const subtitle = document.createElement('h3'); + subtitle.classname = 'subtitle'; + subtitle.textContent = 'Inicia sesión con tu correo registrado'; + // creando input de mail usuario dentro de un div con un icon + + const inputFieldUserMail = document.createElement('div'); + inputFieldUserMail.className = 'input-field'; + + // Crear el segundo elemento i con clase "fas fa-user" + const iconUserMail = document.createElement('i'); + iconUserMail.className = 'fas fa-user'; + // Crear el segundo input con tipo "text", clase "username-register" + // placeholder "Ingresa tu usuario", y nombre "Username" + const userMail = document.createElement('input'); + userMail.type = 'text'; + userMail.className = 'usermail-register'; + userMail.placeholder = 'Ingresa su mail'; + userMail.name = 'Usermail'; + userMail.required = true; + + // Agregar el icono al segundo div de campo de entrada + inputFieldUserMail.appendChild(iconUserMail); + inputFieldUserMail.appendChild(userMail); + + // creando input de contraseña dentro de un div con un icon + const inputFieldPss1 = document.createElement('div'); + inputFieldPss1.className = 'input-field'; + + const iconPassword1 = document.createElement('i'); + iconPassword1.className = 'fas fa-lock'; + + const password1 = document.createElement('input'); + password1.type = 'password'; + password1.className = 'password-register'; + password1.placeholder = 'Ingresa tu contraseña'; + password1.name = 'Password'; + password1.required = true; + + inputFieldPss1.appendChild(iconPassword1); + inputFieldPss1.appendChild(password1); + + // Crear el elemento input para el botón de enviar + const submitBtn = document.createElement('input'); + submitBtn.type = 'submit'; + submitBtn.className = 'btn'; + submitBtn.value = 'Iniciar sesión'; + + // Crear el elemento p para el texto de redes sociales + const socialText = document.createElement('p'); + socialText.className = 'social-text'; + socialText.textContent = 'Regístrate con tus redes sociales:'; + + // Crear el elemento div con clase "social-media" + const socialMediaDiv = document.createElement('div'); + socialMediaDiv.className = 'social-media'; + + // Crear los enlaces de redes sociales + const googleLink = document.createElement('a'); + googleLink.href = '#'; + googleLink.className = 'social-icon'; + const googleIcon = document.createElement('i'); + googleIcon.className = 'fab fa-google'; + googleLink.appendChild(googleIcon); + + const appleLink = document.createElement('a'); + appleLink.href = '#'; + appleLink.className = 'social-icon'; + const appleIcon = document.createElement('i'); + appleIcon.className = 'fab fa-apple'; + appleLink.appendChild(appleIcon); + + const microsoftLink = document.createElement('a'); + microsoftLink.href = '#'; + microsoftLink.className = 'social-icon'; + const microsoftIcon = document.createElement('i'); + microsoftIcon.className = 'fab fa-microsoft'; + microsoftLink.appendChild(microsoftIcon); + + // Agregar los enlaces al div de redes sociales + socialMediaDiv.appendChild(googleLink); + socialMediaDiv.appendChild(appleLink); + socialMediaDiv.appendChild(microsoftLink); + + // append child de cada elemento agregado al form + HomeDiv.appendChild(formSignInDivDiv); + formSignInDivDiv.appendChild(formSignIn); + formSignIn.appendChild(formHeaderDiv); + formHeaderDiv.appendChild(title); + formHeaderDiv.appendChild(subtitle); + formSignIn.appendChild(inputFieldUserMail); + formSignIn.appendChild(inputFieldPss1); + formSignIn.appendChild(submitBtn); + formSignIn.appendChild(socialText); + formSignIn.appendChild(socialMediaDiv); + + // evento que va a guardar el registro del usuario + submitBtn.addEventListener('click', (e) => { + e.preventDefault(); - buttonRegister.textContent = 'Registrate'; - buttonLogin.textContent = 'Inicia sesion'; + console.log('miuser', formSignIn.elements); - HomeDiv.appendChild(buttonRegister); - HomeDiv.appendChild(buttonLogin); + const user = { + email: formSignIn.elements.Usermail.value, + password: formSignIn.elements.Password.value, + }; + console.log('Llamada'); + signIn(user); + console.log('Proceso'); + }); return HomeDiv; }; diff --git a/src/components/Register.js b/src/components/Register.js index fc1bfc4..d83e99b 100644 --- a/src/components/Register.js +++ b/src/components/Register.js @@ -1,5 +1,5 @@ import { signUp } from '../firebase/firebase.js'; - +import {onNavigate} from '../main.js' export const Register = () => { // creando el elemento div que contiene todo el registro const signUpDiv = document.createElement('div'); @@ -205,6 +205,7 @@ export const Register = () => { }; signUp(user); + onNavigate('/login'); }); return signUpDiv; diff --git a/src/components/googleLogin.js b/src/components/googleLogin.js new file mode 100644 index 0000000..aeacf38 --- /dev/null +++ b/src/components/googleLogin.js @@ -0,0 +1,24 @@ +import { + GoogleAuthProvider, + signInWithPopup, +} from 'https://www.gstatic.com/firebasejs/9.10.0/firebase-auth.js'; +import { auth } from './firebase.js'; +import { showMessage } from './showMessage.js'; + +const googleButton = document.querySelector('#googleLogin'); + +googleButton.addEventListener('click', async (e) => { + e.preventDefault(); + + const provider = new GoogleAuthProvider(); + try { + const credentials = await signInWithPopup(auth, provider); + console.log(credentials); + console.log('google sign in'); + + // show welcome message + showMessage('Bienvenido' + credentials.user.displayName); + } catch (error) { + console.log(error); + } +}); diff --git a/src/firebase/config.js b/src/firebase/config.js index a177d25..baa38cc 100644 --- a/src/firebase/config.js +++ b/src/firebase/config.js @@ -1,9 +1,9 @@ // Import the functions you need from the SDKs you need -import { initializeApp } from "firebase/app"; +import { initializeApp } from 'firebase/app'; // importamps desde fireestore ese codigo //++ -import { getFirestore } from "firebase/firestore"; -import { getAuth,GoogleAuthProvider } from "firebase/auth"; -//import { getAnalytics } from "firebase/analytics"; +import { getFirestore } from 'firebase/firestore'; +import { getAuth, GoogleAuthProvider } from 'firebase/auth'; +// import { getAnalytics } from "firebase/analytics"; // TODO: Add SDKs for Firebase products that you want to use // https://firebase.google.com/docs/web/setup#available-libraries diff --git a/src/firebase/firebase.js b/src/firebase/firebase.js index d967cb0..0e0eaed 100644 --- a/src/firebase/firebase.js +++ b/src/firebase/firebase.js @@ -1,6 +1,12 @@ -import { createUserWithEmailAndPassword, getRedirectResult } from 'firebase/auth'; +import { + GoogleAuthProvider, + signInWithEmailAndPassword, + createUserWithEmailAndPassword, + getRedirectResult, +} from 'firebase/auth'; import { auth, googleProvider } from './config.js'; +const provider = new GoogleAuthProvider(); export const signUp = (user) => { createUserWithEmailAndPassword(auth, user.email, user.password) .then((userCredential) => { @@ -12,9 +18,7 @@ export const signUp = (user) => { .catch((error) => { const errorCode = error.code; const errorMessage = error.message; - - console.log(errorCode, '', errorMessage); - + console.log(errorCode, "", errorMessage); return error; }); }; @@ -26,12 +30,10 @@ export const signInGoogle = () => { const credential = googleProvider.credentialFromResult(result); const token = credential.accessToken; const user = result.user; - console.log( - 'este usuario se logueo con google', + console.log('Este usuario se logueo con google', user, - ' y el token ', - token, - ); + 'y el token', + token); }) .catch((error) => { // Handle Errors here. @@ -45,3 +47,16 @@ export const signInGoogle = () => { console.log(errorCode, errorMessage, email); }); }; + +// SignIn +export const signIn = (user) => { + signInWithEmailAndPassword(auth, user.email, user.password) + .then((userCredential) => { + console.log('usefb', userCredential); + }) + .catch((error) => { + const errorCode = error.code; + const errorMessage = error.message; + console.log(errorCode, errorMessage); + }); +}; \ No newline at end of file diff --git a/src/main.js b/src/main.js index a24602f..6809e9e 100644 --- a/src/main.js +++ b/src/main.js @@ -7,9 +7,9 @@ const rootDiv = document.getElementById('root'); const routes = { '/': Home, - '/Login': Login, - '/Register': Register, - '/RecoverPassword': RecoverPassword, + '/login': Login, + '/register': Register, + '/recoverPassword': RecoverPassword, }; export const onNavigate = (pathname) => { diff --git a/src/navigate.js b/src/navigate.js new file mode 100644 index 0000000..b0d0e85 --- /dev/null +++ b/src/navigate.js @@ -0,0 +1,5 @@ +export const onNavigate = (pathname) => { + console.log(pathname); + window.history.pushState({}, pathname, window.location.origin + pathname); + rootDiv.appendChild(routes[pathname]()); + }; \ No newline at end of file From 777957c5b25512b3b9f91b19495ce8922ab217f6 Mon Sep 17 00:00:00 2001 From: Erika Nagaki Date: Mon, 26 Jun 2023 17:44:12 -0500 Subject: [PATCH 20/95] reset password function --- src/components/RecoverPassword.js | 8 ++++++++ src/firebase/firebase.js | 15 +++++++++++++++ 2 files changed, 23 insertions(+) diff --git a/src/components/RecoverPassword.js b/src/components/RecoverPassword.js index cc5c663..4d4d511 100644 --- a/src/components/RecoverPassword.js +++ b/src/components/RecoverPassword.js @@ -1,3 +1,4 @@ +import { resetPassword } from '../firebase/firebase.js'; export const RecoverPassword = () => { const recoverPasswordDiv = document.createElement('div'); recoverPasswordDiv.className = 'container'; @@ -63,3 +64,10 @@ export const RecoverPassword = () => { return recoverPasswordDiv; }; + +// evento que envia el correo para cambio de contraseña +sendRecoveryPasswordButton.addEventListener('click', (e) =>{ + e.preventDefault(); + const userEmail = formSignUp.elements.Mail.value; + resetPassword(userEmail); +}); \ No newline at end of file diff --git a/src/firebase/firebase.js b/src/firebase/firebase.js index 0e0eaed..53ec8a2 100644 --- a/src/firebase/firebase.js +++ b/src/firebase/firebase.js @@ -59,4 +59,19 @@ export const signIn = (user) => { const errorMessage = error.message; console.log(errorCode, errorMessage); }); +}; + +export const resetPassword = (email) => { + sendPasswordResetEmail(auth, email) + .then((userEmail) => { + console.log('se envio un correo para cambiar contraseña!'); + + }) + .catch((error) => { + const errorCode = error.code; + const errorMessage = error.message; + console.log(errorCode, errorMessage); + + return error; + }); }; \ No newline at end of file From e5fbae2e52ea9627392d788e153ff772424dfc9f Mon Sep 17 00:00:00 2001 From: Erika Nagaki Date: Mon, 26 Jun 2023 18:24:02 -0500 Subject: [PATCH 21/95] redirect window --- src/components/RecoverPassword.js | 12 ++++++------ src/components/Register.js | 4 ++-- src/firebase/firebase.js | 26 +++++++++++++------------- 3 files changed, 21 insertions(+), 21 deletions(-) diff --git a/src/components/RecoverPassword.js b/src/components/RecoverPassword.js index 4d4d511..765e8d0 100644 --- a/src/components/RecoverPassword.js +++ b/src/components/RecoverPassword.js @@ -1,4 +1,4 @@ -import { resetPassword } from '../firebase/firebase.js'; +// import { resetPassword } from '../firebase/firebase.js'; export const RecoverPassword = () => { const recoverPasswordDiv = document.createElement('div'); recoverPasswordDiv.className = 'container'; @@ -66,8 +66,8 @@ export const RecoverPassword = () => { }; // evento que envia el correo para cambio de contraseña -sendRecoveryPasswordButton.addEventListener('click', (e) =>{ - e.preventDefault(); - const userEmail = formSignUp.elements.Mail.value; - resetPassword(userEmail); -}); \ No newline at end of file +// sendRecoveryPasswordButton.addEventListener('click', (e) =>{ +// e.preventDefault(); +// const userEmail = formSignUp.elements.Mail.value; +// resetPassword(userEmail); +// }); \ No newline at end of file diff --git a/src/components/Register.js b/src/components/Register.js index d83e99b..0c05264 100644 --- a/src/components/Register.js +++ b/src/components/Register.js @@ -1,5 +1,5 @@ import { signUp } from '../firebase/firebase.js'; -import {onNavigate} from '../main.js' + export const Register = () => { // creando el elemento div que contiene todo el registro const signUpDiv = document.createElement('div'); @@ -205,7 +205,7 @@ export const Register = () => { }; signUp(user); - onNavigate('/login'); + window.location.assign('/login'); }); return signUpDiv; diff --git a/src/firebase/firebase.js b/src/firebase/firebase.js index 53ec8a2..4efb66f 100644 --- a/src/firebase/firebase.js +++ b/src/firebase/firebase.js @@ -61,17 +61,17 @@ export const signIn = (user) => { }); }; -export const resetPassword = (email) => { - sendPasswordResetEmail(auth, email) - .then((userEmail) => { - console.log('se envio un correo para cambiar contraseña!'); - - }) - .catch((error) => { - const errorCode = error.code; - const errorMessage = error.message; - console.log(errorCode, errorMessage); +// export const resetPassword = (email) => { +// sendPasswordResetEmail(auth, email) +// .then((userEmail) => { +// console.log('se envio un correo para cambiar contraseña!'); - return error; - }); -}; \ No newline at end of file +// }) +// .catch((error) => { +// const errorCode = error.code; +// const errorMessage = error.message; +// console.log(errorCode, errorMessage); + +// return error; +// }); +// }; \ No newline at end of file From 141274da99a0943ea2f77213a23f2d165dc62344 Mon Sep 17 00:00:00 2001 From: Tati20h Date: Mon, 26 Jun 2023 20:02:52 -0500 Subject: [PATCH 22/95] creacion regidtro google --- src/components/Login.js | 15 ++++++++++++++- src/components/Register.js | 2 ++ src/firebase/firebase.js | 26 +++++++++++++------------- src/navigate.js | 5 ----- 4 files changed, 29 insertions(+), 19 deletions(-) delete mode 100644 src/navigate.js diff --git a/src/components/Login.js b/src/components/Login.js index 52fe51f..8caa52f 100644 --- a/src/components/Login.js +++ b/src/components/Login.js @@ -1,4 +1,4 @@ -import { signIn } from '../firebase/firebase.js'; +import { signIn, signInGoogle } from '../firebase/firebase.js'; export const Login = () => { // creando el elemento div que contiene todo el Login @@ -130,7 +130,20 @@ export const Login = () => { console.log('Llamada'); signIn(user); console.log('Proceso'); + + signInGoogle(); }); + googleLink.addEventListener('click', (e) => { + e.preventDefault(); + try { + signInGoogle(); + } catch (error) { + + console.log("popo",error) + } + }); + + return HomeDiv; }; diff --git a/src/components/Register.js b/src/components/Register.js index 0c05264..c7445a0 100644 --- a/src/components/Register.js +++ b/src/components/Register.js @@ -208,5 +208,7 @@ export const Register = () => { window.location.assign('/login'); }); + + return signUpDiv; }; diff --git a/src/firebase/firebase.js b/src/firebase/firebase.js index 4efb66f..8861ed9 100644 --- a/src/firebase/firebase.js +++ b/src/firebase/firebase.js @@ -1,12 +1,12 @@ import { + signInWithRedirect, GoogleAuthProvider, signInWithEmailAndPassword, createUserWithEmailAndPassword, - getRedirectResult, + getRedirectResult } from 'firebase/auth'; import { auth, googleProvider } from './config.js'; -const provider = new GoogleAuthProvider(); export const signUp = (user) => { createUserWithEmailAndPassword(auth, user.email, user.password) .then((userCredential) => { @@ -24,27 +24,27 @@ export const signUp = (user) => { }; export const signInGoogle = () => { + signInWithRedirect(auth, googleProvider); getRedirectResult(auth) .then((result) => { // This gives you a Google Access Token. You can use it to access Google APIs. - const credential = googleProvider.credentialFromResult(result); + const credential = GoogleAuthProvider.credentialFromResult(result); const token = credential.accessToken; - const user = result.user; + // const user = result.user; console.log('Este usuario se logueo con google', - user, - 'y el token', - token); + credential, + 'y el token', token); }) .catch((error) => { // Handle Errors here. - const errorCode = error.code; - const errorMessage = error.message; + // 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 = googleProvider.credentialFromError(error); - console.log(credential); - console.log(errorCode, errorMessage, email); + // const credential = googleProvider.credentialFromError(error); + console.log(error); + // console.log(errorCode, errorMessage, email); }); }; diff --git a/src/navigate.js b/src/navigate.js deleted file mode 100644 index b0d0e85..0000000 --- a/src/navigate.js +++ /dev/null @@ -1,5 +0,0 @@ -export const onNavigate = (pathname) => { - console.log(pathname); - window.history.pushState({}, pathname, window.location.origin + pathname); - rootDiv.appendChild(routes[pathname]()); - }; \ No newline at end of file From 5a2bea635e1b3ef3873d14bd870397983c40245b Mon Sep 17 00:00:00 2001 From: Tati20h Date: Mon, 26 Jun 2023 20:07:17 -0500 Subject: [PATCH 23/95] error --- src/components/Login.js | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/components/Login.js b/src/components/Login.js index 8caa52f..566424c 100644 --- a/src/components/Login.js +++ b/src/components/Login.js @@ -140,7 +140,7 @@ export const Login = () => { signInGoogle(); } catch (error) { - console.log("popo",error) + console.log("error: ",error) } }); From 9b8648cdd48c613c3730be901cbc5f75334b956c Mon Sep 17 00:00:00 2001 From: Erika Nagaki Date: Tue, 27 Jun 2023 11:59:53 -0500 Subject: [PATCH 24/95] orden de routes y depuracion de archivos part.1 --- src/components/Home.js | 16 ---------------- src/components/RecoverPassword.js | 2 +- src/components/Register.js | 2 -- src/firebase/firebase.js | 22 +++++++++++++--------- src/main.js | 4 +--- 5 files changed, 15 insertions(+), 31 deletions(-) delete mode 100644 src/components/Home.js diff --git a/src/components/Home.js b/src/components/Home.js deleted file mode 100644 index 04a568d..0000000 --- a/src/components/Home.js +++ /dev/null @@ -1,16 +0,0 @@ -export const Home = () => { - const HomeDiv = document.createElement('div'); - const buttonRegister = document.createElement('button'); - const buttonLogin = document.createElement('button'); - const buttonRecoverPassword = document.createElement('button'); - - buttonRegister.textContent = 'Registrate'; - buttonLogin.textContent = 'Inicia sesion'; - buttonRecoverPassword.textContent = 'Recupera tu contraseña'; - - HomeDiv.appendChild(buttonRegister); - HomeDiv.appendChild(buttonLogin); - HomeDiv.appendChild(buttonRecoverPassword); - - return HomeDiv; -}; diff --git a/src/components/RecoverPassword.js b/src/components/RecoverPassword.js index 765e8d0..32a55a8 100644 --- a/src/components/RecoverPassword.js +++ b/src/components/RecoverPassword.js @@ -70,4 +70,4 @@ export const RecoverPassword = () => { // e.preventDefault(); // const userEmail = formSignUp.elements.Mail.value; // resetPassword(userEmail); -// }); \ No newline at end of file +// }); diff --git a/src/components/Register.js b/src/components/Register.js index c7445a0..0c05264 100644 --- a/src/components/Register.js +++ b/src/components/Register.js @@ -208,7 +208,5 @@ export const Register = () => { window.location.assign('/login'); }); - - return signUpDiv; }; diff --git a/src/firebase/firebase.js b/src/firebase/firebase.js index 8861ed9..37950e2 100644 --- a/src/firebase/firebase.js +++ b/src/firebase/firebase.js @@ -3,7 +3,7 @@ import { GoogleAuthProvider, signInWithEmailAndPassword, createUserWithEmailAndPassword, - getRedirectResult + getRedirectResult, } from 'firebase/auth'; import { auth, googleProvider } from './config.js'; @@ -18,7 +18,7 @@ export const signUp = (user) => { .catch((error) => { const errorCode = error.code; const errorMessage = error.message; - console.log(errorCode, "", errorMessage); + console.log(errorCode, '', errorMessage); return error; }); }; @@ -30,19 +30,23 @@ export const signInGoogle = () => { // This gives you a Google Access Token. You can use it to access Google APIs. const credential = GoogleAuthProvider.credentialFromResult(result); const token = credential.accessToken; - // const user = result.user; - console.log('Este usuario se logueo con google', + // const user = result.user; + console.log( + 'Este usuario se logueo con google', credential, - 'y el token', token); + 'y el token', + + token, + ); }) .catch((error) => { // Handle Errors here. // const errorCode = error.code; - //const errorMessage = error.message; + // 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 = googleProvider.credentialFromError(error); + // const credential = googleProvider.credentialFromError(error); console.log(error); // console.log(errorCode, errorMessage, email); }); @@ -74,4 +78,4 @@ export const signIn = (user) => { // return error; // }); -// }; \ No newline at end of file +// }; diff --git a/src/main.js b/src/main.js index 6809e9e..46ccaeb 100644 --- a/src/main.js +++ b/src/main.js @@ -1,4 +1,3 @@ -import { Home } from './components/Home.js'; import { Register } from './components/Register.js'; import { Login } from './components/Login.js'; import { RecoverPassword } from './components/RecoverPassword.js'; @@ -6,8 +5,7 @@ import { RecoverPassword } from './components/RecoverPassword.js'; const rootDiv = document.getElementById('root'); const routes = { - '/': Home, - '/login': Login, + '/': Login, '/register': Register, '/recoverPassword': RecoverPassword, }; From 102b8fab37bc597fd6b409beff1b6c9aa62c1595 Mon Sep 17 00:00:00 2001 From: Erika Nagaki Date: Tue, 27 Jun 2023 18:30:09 -0500 Subject: [PATCH 25/95] maquetacion 2.0 con responsive css --- src/components/Login.js | 151 +++--- src/styles(ref).css | 531 +++++++++++++++++++++ src/styles.css | 997 +++++++++++++++++++--------------------- 3 files changed, 1091 insertions(+), 588 deletions(-) create mode 100644 src/styles(ref).css diff --git a/src/components/Login.js b/src/components/Login.js index 566424c..8d117d2 100644 --- a/src/components/Login.js +++ b/src/components/Login.js @@ -1,52 +1,77 @@ import { signIn, signInGoogle } from '../firebase/firebase.js'; export const Login = () => { - // creando el elemento div que contiene todo el Login - const HomeDiv = document.createElement('div'); - HomeDiv.className = 'container'; - // Elemento - const formSignInDivDiv = document.createElement('div'); - formSignInDivDiv.className = 'forms-container'; - // creando elementos del formulario + // creando el elemento div que contiene todo el registro + const loginDiv = document.createElement('div'); + loginDiv.className = 'container'; + + // lado izquierdo (ilustracion en este caso) + const loginUpLeftDiv = document.createElement('section'); + loginUpLeftDiv.className = 'transition-div'; + + const loginLeftDivHeader = document.createElement('div'); + loginLeftDivHeader.className = 'transition-header'; + + const logo = document.createElement('img'); + logo.src = 'img/Logo.png'; + logo.className = 'Logo'; + logo.alt = 'vertical-logo'; + + const brandDescription = document.createElement('p'); + brandDescription.innerText = 'Warmi es la primera red social para mujeres latinas que viven fuera de sus paises de origen'; + brandDescription.className = 'warmi-summary'; + + const subTitle = document.createElement('p'); + subTitle.innerText = '¿Nueva en Warmi?'; + subTitle.className = 'smaller-subtitle'; + + const transparentBtn = document.createElement('button'); + transparentBtn.innerHTML = 'registrate'; + transparentBtn.className = 'btn transparent'; + + const illustrationContainer = document.createElement('div'); + illustrationContainer.className = 'illustration-container'; + + const illustration = document.createElement('img'); + illustration.src = 'img/illustration-homepage.png'; + illustration.className = 'illustration'; + illustration.alt = 'girls-illustration'; + + // lado derecho (formulario en este caso) + const loginUpRightDiv = document.createElement('section'); + loginUpRightDiv.className = 'forms-container'; + + const formContainer = document.createElement('div'); + formContainer.className = 'signin-signup'; const formSignIn = document.createElement('form'); - formSignIn.className = 'signin-signup'; + formSignIn.className = 'sign-in-form'; formSignIn.action = '#'; - const formHeaderDiv = document.createElement('div'); - formHeaderDiv.className = 'form-header-div'; - // creando el titulo del login - const title = document.createElement('h2'); - title.classname = 'title'; - title.textContent = 'Bienvenida!'; - // creando el subtitulo del login - - const subtitle = document.createElement('h3'); - subtitle.classname = 'subtitle'; - subtitle.textContent = 'Inicia sesión con tu correo registrado'; - // creando input de mail usuario dentro de un div con un icon - - const inputFieldUserMail = document.createElement('div'); - inputFieldUserMail.className = 'input-field'; - - // Crear el segundo elemento i con clase "fas fa-user" - const iconUserMail = document.createElement('i'); - iconUserMail.className = 'fas fa-user'; - // Crear el segundo input con tipo "text", clase "username-register" - // placeholder "Ingresa tu usuario", y nombre "Username" - const userMail = document.createElement('input'); - userMail.type = 'text'; - userMail.className = 'usermail-register'; - userMail.placeholder = 'Ingresa su mail'; - userMail.name = 'Usermail'; - userMail.required = true; - - // Agregar el icono al segundo div de campo de entrada - inputFieldUserMail.appendChild(iconUserMail); - inputFieldUserMail.appendChild(userMail); - - // creando input de contraseña dentro de un div con un icon + title.innerText = 'Bienvenida!'; + title.className = 'title'; + + const formSubTitle = document.createElement('h3'); + formSubTitle.innerText = 'Inicia sesión con tu usuario registrado'; + formSubTitle.className = 'subtitle'; + + const inputFieldEmail = document.createElement('div'); + inputFieldEmail.className = 'input-field'; + + const iconEmail = document.createElement('i'); + iconEmail.className = 'fas fa-envelope'; + + const email = document.createElement('input'); + email.type = 'email'; + email.className = 'mail-register'; + email.placeholder = 'Ingresa tu email'; + email.name = 'Mail'; + email.required = true; + + inputFieldEmail.appendChild(iconEmail); + inputFieldEmail.appendChild(email); + const inputFieldPss1 = document.createElement('div'); inputFieldPss1.className = 'input-field'; @@ -63,22 +88,26 @@ export const Login = () => { inputFieldPss1.appendChild(iconPassword1); inputFieldPss1.appendChild(password1); - // Crear el elemento input para el botón de enviar + const btnContainer = document.createElement('section'); const submitBtn = document.createElement('input'); submitBtn.type = 'submit'; submitBtn.className = 'btn'; submitBtn.value = 'Iniciar sesión'; - // Crear el elemento p para el texto de redes sociales + const recoverPasswordLink = document.createElement('a'); + recoverPasswordLink.className = 'link'; + recoverPasswordLink.innerHTML = '¿Olvidaste tu contraseña?'; + + btnContainer.appendChild(submitBtn); + btnContainer.appendChild(recoverPasswordLink); + const socialText = document.createElement('p'); socialText.className = 'social-text'; socialText.textContent = 'Regístrate con tus redes sociales:'; - // Crear el elemento div con clase "social-media" const socialMediaDiv = document.createElement('div'); socialMediaDiv.className = 'social-media'; - // Crear los enlaces de redes sociales const googleLink = document.createElement('a'); googleLink.href = '#'; googleLink.className = 'social-icon'; @@ -100,20 +129,28 @@ export const Login = () => { microsoftIcon.className = 'fab fa-microsoft'; microsoftLink.appendChild(microsoftIcon); - // Agregar los enlaces al div de redes sociales socialMediaDiv.appendChild(googleLink); socialMediaDiv.appendChild(appleLink); socialMediaDiv.appendChild(microsoftLink); - // append child de cada elemento agregado al form - HomeDiv.appendChild(formSignInDivDiv); - formSignInDivDiv.appendChild(formSignIn); - formSignIn.appendChild(formHeaderDiv); - formHeaderDiv.appendChild(title); - formHeaderDiv.appendChild(subtitle); - formSignIn.appendChild(inputFieldUserMail); + // lado izquierdo + loginDiv.appendChild(loginUpLeftDiv); + loginUpLeftDiv.appendChild(loginLeftDivHeader); + loginLeftDivHeader.appendChild(logo); + loginLeftDivHeader.appendChild(brandDescription); + loginLeftDivHeader.appendChild(subTitle); + loginLeftDivHeader.appendChild(transparentBtn); + loginUpLeftDiv.appendChild(illustrationContainer); + illustrationContainer.appendChild(illustration); + // lado derecho + loginDiv.appendChild(loginUpRightDiv); + loginUpRightDiv.appendChild(formContainer); + formContainer.appendChild(formSignIn); + formSignIn.appendChild(title); + formSignIn.appendChild(formSubTitle); + formSignIn.appendChild(inputFieldEmail); formSignIn.appendChild(inputFieldPss1); - formSignIn.appendChild(submitBtn); + formSignIn.appendChild(btnContainer); formSignIn.appendChild(socialText); formSignIn.appendChild(socialMediaDiv); @@ -139,11 +176,9 @@ export const Login = () => { try { signInGoogle(); } catch (error) { - - console.log("error: ",error) + console.log('error: ', error); } }); - - return HomeDiv; + return loginDiv; }; diff --git a/src/styles(ref).css b/src/styles(ref).css new file mode 100644 index 0000000..97969b8 --- /dev/null +++ b/src/styles(ref).css @@ -0,0 +1,531 @@ +@import url("https://fonts.googleapis.com/css2?family=Poppins:wght@200;300;400;500;600;700;800&display=swap"); + +* { + margin: 0; + padding: 0; + box-sizing: border-box; +} + +body, +input { + font-family: "Poppins", sans-serif; +} + +.container { + position: relative; + width: 100%; + background-color: #fff; + min-height: 100vh; + overflow: hidden; +} + +.forms-container { + position: absolute; + width: 100%; + height: 100%; + top: 0; + left: 0; +} + +.signin-signup { + position: absolute; + top: 50%; + transform: translate(-50%, -50%); + left: 75%; + width: 50%; + transition: 1s 0.7s ease-in-out; + display: grid; + grid-template-columns: 1fr; + z-index: 5; +} + +form { + display: flex; + align-items: center; + justify-content: center; + flex-direction: column; + padding: 0rem 5rem; + transition: all 0.2s 0.7s; + overflow: hidden; + grid-column: 1 / 2; + grid-row: 1 / 2; +} + +form .sign-up-form { + opacity: 0; + z-index: 1; +} + +form .sign-in-form { + z-index: 2; +} + +.title { + font-size: 2rem; + color: #444; + margin-bottom: 10px; +} + +.subtitle { + font-size: 1rem; + color: #444; + margin-bottom: 10px; + color: #8C8C8C; + +} +label{ + color: #8C8C8C; +} + +.input-field { + max-width: 380px; + width: 100%; + background-color: #f0f0f0; + margin: 10px 0; + height: 55px; + border-radius: 55px; + display: grid; + grid-template-columns: 15% 85%; + padding: 0 0.4rem; + position: relative; +} + +.input-field i { + text-align: center; + line-height: 55px; + color: #acacac; + transition: 0.5s; + font-size: 1.1rem; +} + +.input-field input { + background: none; + outline: none; + border: none; + line-height: 1; + font-weight: 600; + font-size: 1.1rem; + color: #333; +} + +.input-field input::placeholder { + color: #aaa; + font-weight: 500; +} + +.social-text { + padding: 0.7rem 0; + font-size: 1rem; +} + +.social-media { + display: flex; + justify-content: center; +} + +.social-icon { + height: 46px; + width: 46px; + display: flex; + justify-content: center; + align-items: center; + margin: 0 0.45rem; + color: #333; + border-radius: 50%; + border: 1px solid #333; + text-decoration: none; + font-size: 1.1rem; + transition: 0.3s; +} + +.social-icon:hover { + color: #EF2684; + border-color: #EF2684; +} + +.btn { + width: 200px; + background-color: #FF728D ; + border: none; + outline: none; + height: 50px; + border-radius: 49px; + color: #fff; + text-transform: uppercase; + font-weight: 600; + margin: 10px 0; + cursor: pointer; + transition: 0.5s; +} + +.support-text{ + width: auto; + margin-top: 0px; +} + +.btn:hover { + background-color: #EF2684; +} + +.btn-save { + width: 375px; + background-color: #FF728D; + border: none; + outline: none; + height: 49px; + border-radius: 49px; + color: #fff; + text-transform: uppercase; + font-weight: 600; + margin: 10px 0; + cursor: pointer; + transition: 0.5s; + +} + +.btn-save:hover { + + background-color: #EF2684; + +} + +.btn-save{ + width: 375px; + background-color: #FF728D ; + border: none; + outline: none; + height: 49px; + border-radius: 49px; + color: #fff; + text-transform: uppercase; + font-weight: 600; + margin: 10px 0; + cursor: pointer; + transition: 0.5s; + +} +.btn-save:hover{ + + background-color: #EF2684 ; + +} + +.panels-container { + position: absolute; + height: 100%; + width: 100%; + top: 0; + left: 0; + display: grid; + grid-template-columns: repeat(2, 1fr); +} + +.link { + font-family: 'Inria Sans'; + font-style: normal; + font-weight: 700; + font-size: 15px; + line-height: 18px; + /* identical to box height */ + /* +left: 550px; +top: 320px; +*/ + color: #FF728D; +} + +.container:before { + content: ""; + position: absolute; + height: 3000px; /*Height*/ + width: 1600px; + top: -10%; + right: 48%; + transform: translateY(-50%); + background-image: linear-gradient(-45deg, #FF728D 0%, #FF728D 100%); + transition: 1.8s ease-in-out; +} + +.image { + transition: transform 1.1s ease-in-out; + transition-delay: 0.4s; + left: 0px; + bottom: 0px; + padding: 0%; + margin-top: 0px; +} + +.image1 { + width: 30%; + transition: transform 1.1s ease-in-out; + transition-delay: 0.4s; + left: 0px; + bottom: 0px; + padding: 0%; + margin-top: 0px; +} + +#illustration { + display: flex; + align-self: center; + align-items: center; + margin-bottom: -200px; + width: fit-content; + + +} + +#illustration{ + display: flex; + align-self: center; + align-items: center; + margin-bottom: -200px; + width: fit-content; +} + + +.panel { + display: flex; + flex-direction: column; + align-items: flex-end; + justify-content: space-around; + text-align: center; + z-index: 6; +} + +.left-panel { + pointer-events: all; + padding: 3rem 17% 2rem 12%; +} + +.right-panel { + pointer-events: none; + padding: 3rem 12% 2rem 17%; +} + +.panel .content { + color: #fff; + transition: transform 0.9s ease-in-out; + transition-delay: 0.6s; +} + +.panel h3 { + font-weight: 600; + line-height: 1; + font-size: 1.5rem; +} + +.panel p { + font-size: 0.95rem; + padding: 0.7rem 0; +} + +.btn.transparent { + margin: 0; + background: none; + border: 2px solid #fff; + width: 130px; + height: 41px; + font-weight: 600; + font-size: 0.8rem; +} + +.right-panel .image, +.right-panel .content { + transform: translateX(800px); +} + +/* ANIMATION */ + +.container.sign-up-mode:before { + transform: translate(100%, -50%); + right: 52%; +} + +.container.sign-up-mode .left-panel .image, +.container.sign-up-mode .left-panel .content { + transform: translateX(-1000px); +} + +.container.sign-up-mode .signin-signup { + left: 25%; +} + +.container.sign-up-mode form.sign-up-form { + opacity: 1; + z-index: 2; +} + +.container.sign-up-mode form.sign-in-form { + opacity: 0; + z-index: 1; +} + +.container.sign-up-mode .right-panel .image, +.container.sign-up-mode .right-panel .content { + transform: translateX(0%); +} + +.container.sign-up-mode .left-panel { + pointer-events: none; +} + +.container.sign-up-mode .right-panel { + pointer-events: all; +} + +@media (max-width: 870px) { + .container { + min-height: 800px; + height: 100vh; + } + + .signin-signup { + width: 100%; + top: 95%; + transform: translate(-50%, -100%); + transition: 1s 0.8s ease-in-out; + } + + .signin-signup, + .container.sign-up-mode .signin-signup { + left: 50%; + } + + .panels-container { + grid-template-columns: 1fr; + grid-template-rows: 1fr 2fr 1fr; + } + + .panel { + flex-direction: row; + justify-content: space-around; + align-items: center; + padding: 2.5rem 8%; + grid-column: 1 / 2; + } + + .right-panel { + grid-row: 3 / 4; + } + + .left-panel { + grid-row: 1 / 2; + } + + .image { + width: 200px; + transition: transform 0.9s ease-in-out; + transition-delay: 0.6s; + } + + .panel .content { + padding-right: 15%; + transition: transform 0.9s ease-in-out; + transition-delay: 0.8s; + } + + .panel h3 { + font-size: 1.2rem; + } + + .panel p { + font-size: 0.7rem; + padding: 0.5rem 0; + } + + .btn.transparent { + width: 110px; + height: 35px; + font-size: 0.7rem; + } + + .container:before { + width: 1500px; + height: 1500px; + transform: translateX(-50%); + left: 30%; + bottom: 68%; + right: initial; + top: initial; + transition: 2s ease-in-out; + } + + .container.sign-up-mode:before { + transform: translate(-50%, 100%); + bottom: 32%; + right: initial; + } + + .container.sign-up-mode .left-panel .image, + .container.sign-up-mode .left-panel .content { + transform: translateY(-300px); + } + + .container.sign-up-mode .right-panel .image, + .container.sign-up-mode .right-panel .content { + transform: translateY(0px); + } + + .right-panel .image, + .right-panel .content { + transform: translateY(300px); + } + + .container.sign-up-mode .signin-signup { + top: 5%; + transform: translate(-50%, 0); + } +} + +.imagen1 { + + justify-content: center; + align-items: center; + height: fit-content; + width: 25%; + margin: 30px; + + + +} + +.imagen2 { + display: flex; + position: absolute; + width: fit-content; + align-self: flex-end; + -ms-flex-align: end; + height: 68%; + left: 0px; + top: 292px; +} + +@media (max-width: 570px) { + form { + padding: 0 1.5rem; + } + + .imagen1, + .imagen2 { + display: none; + } + + .panel .content { + padding: 0.5rem 1rem; + } + + .container { + padding: 1.5rem; + } + + .container:before { + bottom: 72%; + left: 50%; + } + + .container.sign-up-mode:before { + bottom: 28%; + left: 50%; + } +} \ No newline at end of file diff --git a/src/styles.css b/src/styles.css index 97969b8..2d0ac98 100644 --- a/src/styles.css +++ b/src/styles.css @@ -1,531 +1,468 @@ -@import url("https://fonts.googleapis.com/css2?family=Poppins:wght@200;300;400;500;600;700;800&display=swap"); - -* { - margin: 0; - padding: 0; - box-sizing: border-box; -} - -body, -input { - font-family: "Poppins", sans-serif; -} - -.container { - position: relative; - width: 100%; - background-color: #fff; - min-height: 100vh; - overflow: hidden; -} - -.forms-container { - position: absolute; - width: 100%; - height: 100%; - top: 0; - left: 0; -} - -.signin-signup { - position: absolute; - top: 50%; - transform: translate(-50%, -50%); - left: 75%; - width: 50%; - transition: 1s 0.7s ease-in-out; - display: grid; - grid-template-columns: 1fr; - z-index: 5; -} - -form { - display: flex; - align-items: center; - justify-content: center; - flex-direction: column; - padding: 0rem 5rem; - transition: all 0.2s 0.7s; - overflow: hidden; - grid-column: 1 / 2; - grid-row: 1 / 2; -} - -form .sign-up-form { - opacity: 0; - z-index: 1; -} - -form .sign-in-form { - z-index: 2; -} - -.title { - font-size: 2rem; - color: #444; - margin-bottom: 10px; -} - -.subtitle { - font-size: 1rem; - color: #444; - margin-bottom: 10px; - color: #8C8C8C; - -} -label{ - color: #8C8C8C; -} - -.input-field { - max-width: 380px; - width: 100%; - background-color: #f0f0f0; - margin: 10px 0; - height: 55px; - border-radius: 55px; - display: grid; - grid-template-columns: 15% 85%; - padding: 0 0.4rem; - position: relative; -} - -.input-field i { - text-align: center; - line-height: 55px; - color: #acacac; - transition: 0.5s; - font-size: 1.1rem; -} - -.input-field input { - background: none; - outline: none; - border: none; - line-height: 1; - font-weight: 600; - font-size: 1.1rem; - color: #333; -} - -.input-field input::placeholder { - color: #aaa; - font-weight: 500; -} - -.social-text { - padding: 0.7rem 0; - font-size: 1rem; -} - -.social-media { - display: flex; - justify-content: center; -} - -.social-icon { - height: 46px; - width: 46px; - display: flex; - justify-content: center; - align-items: center; - margin: 0 0.45rem; - color: #333; - border-radius: 50%; - border: 1px solid #333; - text-decoration: none; - font-size: 1.1rem; - transition: 0.3s; -} - -.social-icon:hover { - color: #EF2684; - border-color: #EF2684; -} - -.btn { - width: 200px; - background-color: #FF728D ; - border: none; - outline: none; - height: 50px; - border-radius: 49px; - color: #fff; - text-transform: uppercase; - font-weight: 600; - margin: 10px 0; - cursor: pointer; - transition: 0.5s; -} - -.support-text{ - width: auto; - margin-top: 0px; -} - -.btn:hover { - background-color: #EF2684; -} - -.btn-save { - width: 375px; - background-color: #FF728D; - border: none; - outline: none; - height: 49px; - border-radius: 49px; - color: #fff; - text-transform: uppercase; - font-weight: 600; - margin: 10px 0; - cursor: pointer; - transition: 0.5s; - -} - -.btn-save:hover { - - background-color: #EF2684; - -} - -.btn-save{ - width: 375px; - background-color: #FF728D ; - border: none; - outline: none; - height: 49px; - border-radius: 49px; - color: #fff; - text-transform: uppercase; - font-weight: 600; - margin: 10px 0; - cursor: pointer; - transition: 0.5s; - -} -.btn-save:hover{ - - background-color: #EF2684 ; - -} - -.panels-container { - position: absolute; - height: 100%; - width: 100%; - top: 0; - left: 0; - display: grid; - grid-template-columns: repeat(2, 1fr); -} - -.link { - font-family: 'Inria Sans'; - font-style: normal; - font-weight: 700; - font-size: 15px; - line-height: 18px; - /* identical to box height */ - /* -left: 550px; -top: 320px; -*/ - color: #FF728D; -} - -.container:before { - content: ""; - position: absolute; - height: 3000px; /*Height*/ - width: 1600px; - top: -10%; - right: 48%; - transform: translateY(-50%); - background-image: linear-gradient(-45deg, #FF728D 0%, #FF728D 100%); - transition: 1.8s ease-in-out; -} - -.image { - transition: transform 1.1s ease-in-out; - transition-delay: 0.4s; - left: 0px; - bottom: 0px; - padding: 0%; - margin-top: 0px; -} - -.image1 { - width: 30%; - transition: transform 1.1s ease-in-out; - transition-delay: 0.4s; - left: 0px; - bottom: 0px; - padding: 0%; - margin-top: 0px; -} - -#illustration { - display: flex; - align-self: center; - align-items: center; - margin-bottom: -200px; - width: fit-content; - - -} - -#illustration{ - display: flex; - align-self: center; - align-items: center; - margin-bottom: -200px; - width: fit-content; -} - - -.panel { - display: flex; - flex-direction: column; - align-items: flex-end; - justify-content: space-around; - text-align: center; - z-index: 6; -} - -.left-panel { - pointer-events: all; - padding: 3rem 17% 2rem 12%; -} - -.right-panel { - pointer-events: none; - padding: 3rem 12% 2rem 17%; -} - -.panel .content { - color: #fff; - transition: transform 0.9s ease-in-out; - transition-delay: 0.6s; -} - -.panel h3 { - font-weight: 600; - line-height: 1; - font-size: 1.5rem; -} - -.panel p { - font-size: 0.95rem; - padding: 0.7rem 0; -} - -.btn.transparent { - margin: 0; - background: none; - border: 2px solid #fff; - width: 130px; - height: 41px; - font-weight: 600; - font-size: 0.8rem; -} - -.right-panel .image, -.right-panel .content { - transform: translateX(800px); -} - -/* ANIMATION */ - -.container.sign-up-mode:before { - transform: translate(100%, -50%); - right: 52%; -} - -.container.sign-up-mode .left-panel .image, -.container.sign-up-mode .left-panel .content { - transform: translateX(-1000px); -} - -.container.sign-up-mode .signin-signup { - left: 25%; -} - -.container.sign-up-mode form.sign-up-form { - opacity: 1; - z-index: 2; -} - -.container.sign-up-mode form.sign-in-form { - opacity: 0; - z-index: 1; -} - -.container.sign-up-mode .right-panel .image, -.container.sign-up-mode .right-panel .content { - transform: translateX(0%); -} - -.container.sign-up-mode .left-panel { - pointer-events: none; -} - -.container.sign-up-mode .right-panel { - pointer-events: all; -} - -@media (max-width: 870px) { - .container { - min-height: 800px; - height: 100vh; - } - - .signin-signup { - width: 100%; - top: 95%; - transform: translate(-50%, -100%); - transition: 1s 0.8s ease-in-out; - } - - .signin-signup, - .container.sign-up-mode .signin-signup { - left: 50%; - } - - .panels-container { - grid-template-columns: 1fr; - grid-template-rows: 1fr 2fr 1fr; - } - - .panel { - flex-direction: row; - justify-content: space-around; - align-items: center; - padding: 2.5rem 8%; - grid-column: 1 / 2; - } - - .right-panel { - grid-row: 3 / 4; - } - - .left-panel { - grid-row: 1 / 2; - } - - .image { - width: 200px; - transition: transform 0.9s ease-in-out; - transition-delay: 0.6s; - } - - .panel .content { - padding-right: 15%; - transition: transform 0.9s ease-in-out; - transition-delay: 0.8s; - } - - .panel h3 { - font-size: 1.2rem; - } - - .panel p { - font-size: 0.7rem; - padding: 0.5rem 0; - } - - .btn.transparent { - width: 110px; - height: 35px; - font-size: 0.7rem; - } - - .container:before { - width: 1500px; - height: 1500px; - transform: translateX(-50%); - left: 30%; - bottom: 68%; - right: initial; - top: initial; - transition: 2s ease-in-out; - } - - .container.sign-up-mode:before { - transform: translate(-50%, 100%); - bottom: 32%; - right: initial; - } - - .container.sign-up-mode .left-panel .image, - .container.sign-up-mode .left-panel .content { - transform: translateY(-300px); - } - - .container.sign-up-mode .right-panel .image, - .container.sign-up-mode .right-panel .content { - transform: translateY(0px); - } - - .right-panel .image, - .right-panel .content { - transform: translateY(300px); - } - - .container.sign-up-mode .signin-signup { - top: 5%; - transform: translate(-50%, 0); - } -} - -.imagen1 { - - justify-content: center; - align-items: center; - height: fit-content; - width: 25%; - margin: 30px; - - - -} - -.imagen2 { - display: flex; - position: absolute; - width: fit-content; - align-self: flex-end; - -ms-flex-align: end; - height: 68%; - left: 0px; - top: 292px; -} - -@media (max-width: 570px) { - form { - padding: 0 1.5rem; - } - - .imagen1, - .imagen2 { - display: none; - } - - .panel .content { - padding: 0.5rem 1rem; - } - - .container { - padding: 1.5rem; - } - - .container:before { - bottom: 72%; - left: 50%; - } - - .container.sign-up-mode:before { - bottom: 28%; - left: 50%; - } +@import url("https://fonts.googleapis.com/css2?family=Poppins:wght@200;300;400;500;600;700;800&display=swap"); + +html, +body { + margin: 0; + width: 100%; + height: 100%; +} + +body, +input { + font-family: "Poppins", sans-serif; +} + +#root { + margin: 0; + width: 100%; + height: 100%; +} +/*contenedor izquierdo*/ +.transition-div { + height: 100%; + background-color: #FF728D; + display: flex; + flex-direction: column; + align-content: space-around; + text-align: center; +} + +.transition-header { + align-self: center; + justify-content: end; + margin-top: auto; + width: 60%; + height: auto; + +} + +.Logo { + align-self: center; + width: 170px; +} + +.warmi-summary { + font-size: 14px; + color: #f0f0f0; +} + +.smaller-subtitle { + font-size: 16px; + color: #f0f0f0; +} + +.illustration-container { + display: flex; + margin-top: auto; +} + +.illustration { + width: 100%; + display: flex; +} + +.btn.transparent { + margin: 0; + background: none; + border: 2px solid #fff; + height: 41px; + font-weight: 600; + font-size: 0.8rem; +} + +.social-text { + font-size: 16px; +} + +/*contenedor izquierdo*/ +.container { + width: 100%; + background-color: #fff; + height: 100%; + display: grid; + grid-template-columns: 50% 50%; +} + +/*contenedor derecho*/ +.forms-container { + display: flex; + flex-direction: column; + align-content: center; + justify-content: center; + text-align: center; + width: 100%; + height: 100%; +} + +.signin-signup { + display: grid; + grid-template-columns: 1fr; +} + +form { + display: flex; + align-items: center; + justify-content: center; + flex-direction: column; + padding: 0rem 5rem; + transition: all 0.2s 0.7s; + overflow: hidden; + grid-column: 1 / 2; + grid-row: 1 / 2; +} + +.title { + font-size: 32px; + color: #444; + margin-bottom: 10px; +} + +.subtitle { + font-size: 1rem; + margin-bottom: 10px; + color: #8C8C8C; + +} + +label { + color: #8C8C8C; +} + +.input-field { + max-width: 380px; + width: 100%; + background-color: #f0f0f0; + margin: 10px 0; + height: 55px; + border-radius: 55px; + display: grid; + grid-template-columns: 15% 85%; + padding: 0 0.4rem; +} + +.input-field i { + text-align: center; + line-height: 55px; + color: #acacac; + transition: 0.5s; + font-size: 1.1rem; +} + +.input-field input { + background: none; + outline: none; + border: none; + line-height: 1; + color: #333; +} + +.input-field input::placeholder { + color: #aaa; + font-weight: 600; + font-size: 1rem; +} + +.social-text { + padding: 0.7rem 0; + font-size: 1rem; +} + +.social-media { + display: flex; + justify-content: center; +} + +.social-icon { + height: 46px; + width: 46px; + display: flex; + justify-content: center; + align-items: center; + margin: 0 0.45rem; + color: #333; + border-radius: 50%; + border: 1px solid #333; + text-decoration: none; + font-size: 1.1rem; + transition: 0.3s; +} + +.social-icon:hover { + color: #EF2684; + border-color: #EF2684; +} + +.btn { + width: 170px; + background-color: #FF728D; + border: none; + outline: none; + height: 50px; + border-radius: 49px; + color: #fff; + text-transform: uppercase; + font-weight: 600; + margin: 10px 0; + cursor: pointer; + transition: 0.5s; +} + +.btn:hover { + background-color: #EF2684; +} + +.link { + font-family: 'Inria Sans'; + text-decoration: none; + font-style: normal; + font-weight: 700; + font-size: 15px; + line-height: 18px; + color: #FF728D; + display: inline-block; + margin-left: 10px; +} + + +@media (max-width: 870px) { + .container { + min-height: 800px; + display: grid; + grid-template-columns: 50% 50%; + } + + /*contenedor izquierdo*/ + + .transition-header { + width: 70%; + } + + .Logo { + width: 150px; + } + + .warmi-summary { + font-size: 12px; + } + + .smaller-subtitle { + color: #f0f0f0; + font-size: 16px; + } + + /*contenedor derecho*/ + + form { + padding: 0rem 3rem; + transition: all 0.2s 0.7s; + overflow: hidden; + grid-column: 1 / 2; + grid-row: 1 / 2; + } + + .title { + font-size: 26px; + margin-bottom: 5px; + } + + .subtitle { + font-size: 14px; + margin-bottom: 5px; + } + + .input-field { + max-width: 280px; + margin: 7px 0; + height: 50px; + display: grid; + grid-template-columns: 15% 85%; + padding: 0 0.4rem; + } + + .input-field i { + display: flex; + justify-content: center; + line-height: auto; + font-size: 15px; + } + + .input-field input { + line-height: 1; + } + + .input-field input::placeholder { + color: #aaa; + font-weight: 600; + font-size: 14px; + } + + .social-text { + padding: auto; + font-size: 13px; + } + + .social-media { + display: flex; + justify-content: center; + } + + .social-icon { + height: 40px; + width: 40px; + display: flex; + justify-content: center; + align-items: center; + margin: 0 5px; + border: 1px solid #333; + text-decoration: none; + font-size: 19px; + transition: 0.3s; + } + + .btn { + width: 160px; + height: 45px; + border-radius: 49px; + margin: 10px 0; + cursor: pointer; + transition: 0.5s; + } + + .solid { + font-size: 12px; + } + + .link { + font-family: 'Inria Sans'; + text-decoration: none; + font-style: normal; + font-weight: 700; + font-size: 15px; + line-height: 18px; + color: #FF728D; + display: inline-block; + } + + .btn.transparent { + margin: 0; + background: none; + border: 2px solid #fff; + height: 41px; + font-weight: 600; + font-size: 0.8rem; + } +} + +@media (max-width: 654px) { + .container { + grid-template-columns: 100%; + grid-template-rows: auto auto; + } + + /* arriba*/ + .transition-div { + height: auto; + background-color: #FF728D; + display: flex; + flex-direction: column; + align-content: space-around; + text-align: center; + } + + .transition-header { + align-self: center; + justify-content: center; + padding: 10% 0px; + width: 70%; + } + + .Logo { + width: 100px; + } + + .warmi-summary { + font-size: 12px; + } + + .smaller-subtitle { + font-size: 14px; + } + + .illustration-container { + display: flex; + margin-top: auto; + } + + .illustration { + width: 100%; + display: flex; + } + + .btn.transparent { + height: 35px; + font-weight: 600; + font-size: 12px; + } + + /*abajo*/ + .forms-container { + padding: 10px 0px; + } + + form { + padding: 0px 10%; + } + + .title { + font-size: 22px; + margin-bottom: 8px; + } + + .subtitle { + font-size: 12px; + margin-bottom: 8px; + } + + .input-field { + background-color: #f0f0f0; + margin: 10px 0; + height: 50px; + display: grid; + } + + .input-field i { + font-size: 15px; + } + + .input-field input::placeholder { + font-size: 15px; + } + + .link { + font-size: 15px; + line-height: 18px; + } + + .social-text { + padding: 0.7rem 0; + font-size: 14px; + } + + .social-icon { + font-size: 22px; + } + + .btn { + width: 160px; + height: 45px; + text-transform: uppercase; + font-weight: 600; + margin: 10px 0; + cursor: pointer; + transition: 0.5s; + } + + .solid { + font-size: 13px; + } } \ No newline at end of file From 047e8fd6f2c8a87122530f30115ec24bbf141a55 Mon Sep 17 00:00:00 2001 From: Erika Nagaki Date: Wed, 28 Jun 2023 10:45:01 -0500 Subject: [PATCH 26/95] Ajustes (con Tati) --- src/RecoverPassword.html | 64 --------------------- src/components/Login.js | 40 ++++++++----- src/components/RecoverPassword.js | 93 +++++++++++++++++++++---------- src/components/Register.js | 40 +------------ src/styles.css | 20 ++++++- 5 files changed, 110 insertions(+), 147 deletions(-) delete mode 100644 src/RecoverPassword.html diff --git a/src/RecoverPassword.html b/src/RecoverPassword.html deleted file mode 100644 index 1e82fe6..0000000 --- a/src/RecoverPassword.html +++ /dev/null @@ -1,64 +0,0 @@ - - - - - - - - Warmi - - - - -
-
- -
-
-
-
-
- - Brand -
-

Warmi es la primera Red Social para Mujeres Latinas
- que viven fuera de sus paises de origen

- -

- ¿Estas registrada? -

- -
- illustration - -
- -
-
- - - \ No newline at end of file diff --git a/src/components/Login.js b/src/components/Login.js index 8d117d2..493d533 100644 --- a/src/components/Login.js +++ b/src/components/Login.js @@ -103,7 +103,7 @@ export const Login = () => { const socialText = document.createElement('p'); socialText.className = 'social-text'; - socialText.textContent = 'Regístrate con tus redes sociales:'; + socialText.textContent = 'ingresa con:'; const socialMediaDiv = document.createElement('div'); socialMediaDiv.className = 'social-media'; @@ -115,23 +115,23 @@ export const Login = () => { googleIcon.className = 'fab fa-google'; googleLink.appendChild(googleIcon); - const appleLink = document.createElement('a'); - appleLink.href = '#'; - appleLink.className = 'social-icon'; - const appleIcon = document.createElement('i'); - appleIcon.className = 'fab fa-apple'; - appleLink.appendChild(appleIcon); + // const appleLink = document.createElement('a'); + // appleLink.href = '#'; + // appleLink.className = 'social-icon'; + // const appleIcon = document.createElement('i'); + // appleIcon.className = 'fab fa-apple'; + // appleLink.appendChild(appleIcon); - const microsoftLink = document.createElement('a'); - microsoftLink.href = '#'; - microsoftLink.className = 'social-icon'; - const microsoftIcon = document.createElement('i'); - microsoftIcon.className = 'fab fa-microsoft'; - microsoftLink.appendChild(microsoftIcon); + // const microsoftLink = document.createElement('a'); + // microsoftLink.href = '#'; + // microsoftLink.className = 'social-icon'; + // const microsoftIcon = document.createElement('i'); + // microsoftIcon.className = 'fab fa-microsoft'; + // microsoftLink.appendChild(microsoftIcon); socialMediaDiv.appendChild(googleLink); - socialMediaDiv.appendChild(appleLink); - socialMediaDiv.appendChild(microsoftLink); + // socialMediaDiv.appendChild(appleLink); + // socialMediaDiv.appendChild(microsoftLink); // lado izquierdo loginDiv.appendChild(loginUpLeftDiv); @@ -154,6 +154,15 @@ export const Login = () => { formSignIn.appendChild(socialText); formSignIn.appendChild(socialMediaDiv); + // re direccionando a recuperacion de contraseña + recoverPasswordLink.addEventListener('click', () => { + window.location.assign('/recoverPassword'); + }); + + transparentBtn.addEventListener('click', () => { + window.location.assign('/register'); + }); + // evento que va a guardar el registro del usuario submitBtn.addEventListener('click', (e) => { e.preventDefault(); @@ -169,6 +178,7 @@ export const Login = () => { console.log('Proceso'); signInGoogle(); + // caso exito y caso erro! redireccion a pantalla feed(timeline) }); googleLink.addEventListener('click', (e) => { diff --git a/src/components/RecoverPassword.js b/src/components/RecoverPassword.js index 32a55a8..5c05580 100644 --- a/src/components/RecoverPassword.js +++ b/src/components/RecoverPassword.js @@ -1,28 +1,68 @@ // import { resetPassword } from '../firebase/firebase.js'; export const RecoverPassword = () => { + // creando el elemento div que contiene todo el registro const recoverPasswordDiv = document.createElement('div'); recoverPasswordDiv.className = 'container'; - const recoverPasswordDivDiv = document.createElement('div'); - recoverPasswordDivDiv.className = 'forms-container'; + // lado izquierdo (ilustracion en este caso) + const rPUpLeftDiv = document.createElement('section'); + rPUpLeftDiv.className = 'transition-div'; - const formRecoverPassword = document.createElement('form'); - formRecoverPassword.className = 'signin-signup'; - formRecoverPassword.action = '#'; + const rPLeftDivHeader = document.createElement('div'); + rPLeftDivHeader.className = 'transition-header'; - const formHeaderDiv = document.createElement('div'); - formHeaderDiv.className = 'form-header-div'; + const logo = document.createElement('img'); + logo.src = 'img/Logo.png'; + logo.className = 'Logo'; + logo.alt = 'vertical-logo'; + + const brandDescription = document.createElement('p'); + brandDescription.innerText = 'Warmi es la primera red social para mujeres latinas que viven fuera de sus paises de origen'; + brandDescription.className = 'warmi-summary'; + + const subTitle = document.createElement('p'); + subTitle.innerText = '¿Nueva en Warmi?'; + subTitle.className = 'smaller-subtitle'; + + const transparentBtn = document.createElement('button'); + transparentBtn.innerHTML = 'registrate'; + transparentBtn.className = 'btn transparent'; + + const illustrationContainer = document.createElement('div'); + illustrationContainer.className = 'illustration-container'; + + const illustration = document.createElement('img'); + illustration.src = 'img/illustration-homepage.png'; + illustration.className = 'illustration'; + illustration.alt = 'girls-illustration'; + + recoverPasswordDiv.appendChild(rPUpLeftDiv); + rPUpLeftDiv.appendChild(rPLeftDivHeader); + rPLeftDivHeader.appendChild(logo); + rPLeftDivHeader.appendChild(brandDescription); + rPLeftDivHeader.appendChild(subTitle); + rPLeftDivHeader.appendChild(transparentBtn); + rPUpLeftDiv.appendChild(illustrationContainer); + illustrationContainer.appendChild(illustration); + + // lado derecho + const rPRightDiv = document.createElement('section'); + rPRightDiv.className = 'forms-container'; + + const formContainer = document.createElement('div'); + formContainer.className = 'signin-signup'; + + const formSignIn = document.createElement('form'); + formSignIn.className = 'sign-in-form'; + formSignIn.action = '#'; const title = document.createElement('h2'); + title.innerText = '¿Olvidaste tu contraseña?'; title.className = 'title'; - title.textContent = '¿Olvidaste tu contraseña?'; - const subtitle = document.createElement('h3'); - subtitle.className = 'subtitle'; - subtitle.textContent = '¡Nosotras te ayudamos!'; - - const labelForMessage = document.createElement('label'); - labelForMessage.textContent = 'Ingresa el correo electrónico con el que te registraste'; + const formSubTitle = document.createElement('h3'); + formSubTitle.innerText = '¡Nosotras te ayudamos!'; + formSubTitle.className = 'subtitle'; const inputFieldEmail = document.createElement('div'); inputFieldEmail.className = 'input-field'; @@ -32,6 +72,7 @@ export const RecoverPassword = () => { const email = document.createElement('input'); email.type = 'email'; + email.className = 'mail-register'; email.placeholder = 'Ingresa tu email'; email.name = 'Mail'; email.required = true; @@ -39,28 +80,24 @@ export const RecoverPassword = () => { inputFieldEmail.appendChild(iconEmail); inputFieldEmail.appendChild(email); - const formButtonDiv = document.createElement('div'); - formButtonDiv.className = 'form-button-div'; - const sendRecoveryPasswordButton = document.createElement('input'); sendRecoveryPasswordButton.type = 'submit'; - sendRecoveryPasswordButton.placeholder = 'Enviar enlace de recuperación'; + sendRecoveryPasswordButton.value = 'Enviar enlace de recuperación'; sendRecoveryPasswordButton.className = 'btn-save'; const labelForSendMessage = document.createElement('label'); labelForSendMessage.textContent = 'Te enviaremos un enlace de recuperacion a tu correo electrónico'; labelForSendMessage.className = 'support-text'; - recoverPasswordDiv.appendChild(recoverPasswordDivDiv); - recoverPasswordDivDiv.appendChild(formRecoverPassword); - formRecoverPassword.appendChild(formHeaderDiv); - formHeaderDiv.appendChild(title); - formHeaderDiv.appendChild(subtitle); - formRecoverPassword.appendChild(labelForMessage); - formRecoverPassword.appendChild(inputFieldEmail); - formRecoverPassword.appendChild(formButtonDiv); - formButtonDiv.appendChild(sendRecoveryPasswordButton); - formRecoverPassword.appendChild(labelForSendMessage); + // lado derecho + recoverPasswordDiv.appendChild(rPRightDiv); + rPRightDiv.appendChild(formContainer); + formContainer.appendChild(formSignIn); + formSignIn.appendChild(title); + formSignIn.appendChild(formSubTitle); + formSignIn.appendChild(inputFieldEmail); + formSignIn.appendChild(sendRecoveryPasswordButton); + formSignIn.appendChild(labelForSendMessage); return recoverPasswordDiv; }; diff --git a/src/components/Register.js b/src/components/Register.js index 0c05264..e93e8fe 100644 --- a/src/components/Register.js +++ b/src/components/Register.js @@ -141,42 +141,6 @@ export const Register = () => { submitBtn.className = 'btn'; submitBtn.value = 'Crear mi cuenta'; - // Crear el elemento p para el texto de redes sociales - const socialText = document.createElement('p'); - socialText.className = 'social-text'; - socialText.textContent = 'Regístrate con tus redes sociales:'; - - // Crear el elemento div con clase "social-media" - const socialMediaDiv = document.createElement('div'); - socialMediaDiv.className = 'social-media'; - - // Crear los enlaces de redes sociales - const googleLink = document.createElement('a'); - googleLink.href = '#'; - googleLink.className = 'social-icon'; - const googleIcon = document.createElement('i'); - googleIcon.className = 'fab fa-google'; - googleLink.appendChild(googleIcon); - - const appleLink = document.createElement('a'); - appleLink.href = '#'; - appleLink.className = 'social-icon'; - const appleIcon = document.createElement('i'); - appleIcon.className = 'fab fa-apple'; - appleLink.appendChild(appleIcon); - - const microsoftLink = document.createElement('a'); - microsoftLink.href = '#'; - microsoftLink.className = 'social-icon'; - const microsoftIcon = document.createElement('i'); - microsoftIcon.className = 'fab fa-microsoft'; - microsoftLink.appendChild(microsoftIcon); - - // Agregar los enlaces al div de redes sociales - socialMediaDiv.appendChild(googleLink); - socialMediaDiv.appendChild(appleLink); - socialMediaDiv.appendChild(microsoftLink); - // append child de cada elemento agregado al form formSignUp.appendChild(title); formSignUp.appendChild(subtitle); @@ -187,8 +151,6 @@ export const Register = () => { formSignUp.appendChild(labelCond); formSignUp.appendChild(labelNews); formSignUp.appendChild(submitBtn); - formSignUp.appendChild(socialText); - formSignUp.appendChild(socialMediaDiv); signUpDiv.appendChild(formSignUp); @@ -205,7 +167,7 @@ export const Register = () => { }; signUp(user); - window.location.assign('/login'); + window.location.assign('/'); }); return signUpDiv; diff --git a/src/styles.css b/src/styles.css index 2d0ac98..7cd91ee 100644 --- a/src/styles.css +++ b/src/styles.css @@ -221,8 +221,26 @@ label { color: #FF728D; display: inline-block; margin-left: 10px; + cursor: pointer; +} +.btn-save { + width: 375px; + background-color: #FF728D; + border: none; + outline: none; + height: 49px; + border-radius: 49px; + color: #fff; + text-transform: uppercase; + font-weight: 600; + margin: 10px 0; + cursor: pointer; + transition: 0.5s; +} +.support-text { + width: 375px; + margin-top: 20px; } - @media (max-width: 870px) { .container { From bcf73b7cb335b8a124def9c10026388d680b4d31 Mon Sep 17 00:00:00 2001 From: Tati20h Date: Wed, 28 Jun 2023 18:47:14 -0500 Subject: [PATCH 27/95] cambios estilos y responsive --- src/components/Login.js | 4 +- src/components/Register.js | 45 ++++++++++++++++++-- src/main.js | 1 + src/styles.css | 85 +++++++++++++++++++++++++++++++++----- 4 files changed, 119 insertions(+), 16 deletions(-) diff --git a/src/components/Login.js b/src/components/Login.js index 493d533..b2dd904 100644 --- a/src/components/Login.js +++ b/src/components/Login.js @@ -21,7 +21,7 @@ export const Login = () => { brandDescription.innerText = 'Warmi es la primera red social para mujeres latinas que viven fuera de sus paises de origen'; brandDescription.className = 'warmi-summary'; - const subTitle = document.createElement('p'); + const subTitle = document.createElement('h2'); subTitle.innerText = '¿Nueva en Warmi?'; subTitle.className = 'smaller-subtitle'; @@ -42,7 +42,7 @@ export const Login = () => { loginUpRightDiv.className = 'forms-container'; const formContainer = document.createElement('div'); - formContainer.className = 'signin-signup'; + formContainer.className = 'signin'; const formSignIn = document.createElement('form'); formSignIn.className = 'sign-in-form'; diff --git a/src/components/Register.js b/src/components/Register.js index e93e8fe..1e73a31 100644 --- a/src/components/Register.js +++ b/src/components/Register.js @@ -1,9 +1,33 @@ import { signUp } from '../firebase/firebase.js'; - +import { Login } from './Login.js'; +//import{onNavigate} from '../main.js' export const Register = () => { // creando el elemento div que contiene todo el registro const signUpDiv = document.createElement('div'); - signUpDiv.className = 'signin-signup'; + signUpDiv.className = 'signup'; + + const loginUpLeftDiv = document.createElement('section'); + loginUpLeftDiv.className = 'transition-div2'; + + const loginLeftDivHeader = document.createElement('div'); + loginLeftDivHeader.className = 'transition-header2'; + + const logo = document.createElement('img'); + logo.src = 'img/Logo.png'; + logo.className = 'Logo'; + logo.alt = 'vertical-logo'; + + const subTitle = document.createElement('h2'); + subTitle.innerText = '¿Estas registrado?'; + subTitle.className = 'smaller-subtitle'; + + const brandDescription = document.createElement('p'); + brandDescription.innerText = 'Warmi es la primera red social para mujeres latinas que viven fuera de sus paises de origen'; + brandDescription.className = 'warmi-summary'; + + const transparentBtn = document.createElement('button'); + transparentBtn.innerHTML = 'iniciar secion '; + transparentBtn.className = 'btn transparent'; // creando el elemento formulario const formSignUp = document.createElement('form'); @@ -152,6 +176,12 @@ export const Register = () => { formSignUp.appendChild(labelNews); formSignUp.appendChild(submitBtn); + signUpDiv.appendChild(loginUpLeftDiv); + loginUpLeftDiv.appendChild(loginLeftDivHeader); + loginLeftDivHeader.appendChild(logo); + loginLeftDivHeader.appendChild(subTitle); + loginLeftDivHeader.appendChild(brandDescription); + loginLeftDivHeader.appendChild(transparentBtn); signUpDiv.appendChild(formSignUp); // evento que va a guardar el registro del usuario @@ -167,8 +197,17 @@ export const Register = () => { }; signUp(user); - window.location.assign('/'); + //onNavigate('/login') + window.location.assign('/login'); }); + transparentBtn.addEventListener('click', (e) => { + e.preventDefault(); + window.location.assign('/login'); + + } +) + + return signUpDiv; }; diff --git a/src/main.js b/src/main.js index 46ccaeb..c832e63 100644 --- a/src/main.js +++ b/src/main.js @@ -6,6 +6,7 @@ const rootDiv = document.getElementById('root'); const routes = { '/': Login, + '/login': Login, '/register': Register, '/recoverPassword': RecoverPassword, }; diff --git a/src/styles.css b/src/styles.css index 7cd91ee..a96baad 100644 --- a/src/styles.css +++ b/src/styles.css @@ -17,6 +17,8 @@ input { width: 100%; height: 100%; } + +/*pantalla login /*contenedor izquierdo*/ .transition-div { height: 100%; @@ -38,17 +40,20 @@ input { .Logo { align-self: center; - width: 170px; + width: 178px; } .warmi-summary { - font-size: 14px; + font-size: 16px; color: #f0f0f0; + } .smaller-subtitle { - font-size: 16px; + font-size: 18px; color: #f0f0f0; + font-weight: bold; + } .illustration-container { @@ -65,7 +70,6 @@ input { margin: 0; background: none; border: 2px solid #fff; - height: 41px; font-weight: 600; font-size: 0.8rem; } @@ -94,7 +98,7 @@ input { height: 100%; } -.signin-signup { +.signin { display: grid; grid-template-columns: 1fr; } @@ -193,7 +197,7 @@ label { } .btn { - width: 170px; + width: 180px; background-color: #FF728D; border: none; outline: none; @@ -202,7 +206,7 @@ label { color: #fff; text-transform: uppercase; font-weight: 600; - margin: 10px 0; + margin: 15px 0; cursor: pointer; transition: 0.5s; } @@ -223,6 +227,7 @@ label { margin-left: 10px; cursor: pointer; } + .btn-save { width: 375px; background-color: #FF728D; @@ -237,13 +242,43 @@ label { cursor: pointer; transition: 0.5s; } + .support-text { width: 375px; margin-top: 20px; } +/*pantalla registro */ + +.signup { + width: 100%; + background-color: #fff; + height: 100%; + display: grid; + grid-template-columns: 50% 50%; +} + +.transition-div2 { + height: 100%; + background-color: #FF728D; + display: flex; + flex-direction: column; + align-content: space-around; + text-align: center; +} + +.transition-header2 { + align-self: center; + justify-content: center; + margin-top: 38%; + width: 60%; + height: auto; + +} + +/* responsive*/ @media (max-width: 870px) { - .container { + .container-singup { min-height: 800px; display: grid; grid-template-columns: 50% 50%; @@ -251,12 +286,12 @@ label { /*contenedor izquierdo*/ - .transition-header { + .transition-header-trasition-header2 { width: 70%; } .Logo { - width: 150px; + width: 170px; } .warmi-summary { @@ -271,7 +306,7 @@ label { /*contenedor derecho*/ form { - padding: 0rem 3rem; + transition: all 0.2s 0.7s; overflow: hidden; grid-column: 1 / 2; @@ -387,6 +422,20 @@ label { text-align: center; } + .signup { + display: flex; + flex-direction: column; + } + + .transition-div2 { + height: auto; + background-color: #FF728D; + display: flex; + flex-direction: column; + align-content: space-around; + text-align: center; + } + .transition-header { align-self: center; justify-content: center; @@ -394,6 +443,20 @@ label { width: 70%; } + .transition-header2 { + width: 60%; + height: auto; + align-self: center; + justify-content: center; + justify-content: center; + padding: 10% 10px; + margin-top: 10%; + } + + label { + font-size: small; + } + .Logo { width: 100px; } From 118fcb813c9547ba3525516aeb1dd6b096ed7726 Mon Sep 17 00:00:00 2001 From: Erika Nagaki Date: Thu, 29 Jun 2023 12:07:35 -0500 Subject: [PATCH 28/95] html feed --- src/feed.html.html | 102 +++-- src/feedstyle.css | 438 +++++++++++++++++++-- src/img/ED6FEYGGQNFGDM36CZVBK3WALE.webp | Bin 0 -> 45526 bytes src/img/chat-svgrepo-com.svg | 7 + src/img/heart-svgrepo-com.svg | 7 + src/img/istockphoto-1323400501-612x612.jpg | Bin 0 -> 30114 bytes 6 files changed, 509 insertions(+), 45 deletions(-) create mode 100644 src/img/ED6FEYGGQNFGDM36CZVBK3WALE.webp create mode 100644 src/img/chat-svgrepo-com.svg create mode 100644 src/img/heart-svgrepo-com.svg create mode 100644 src/img/istockphoto-1323400501-612x612.jpg diff --git a/src/feed.html.html b/src/feed.html.html index a304db9..9cf42be 100644 --- a/src/feed.html.html +++ b/src/feed.html.html @@ -1,5 +1,6 @@ + @@ -9,30 +10,85 @@ - -
-
- - - -
-
- -
-
- - - - -
-
- -
footer
+
+ + logo + + +
+
+
+
+ +
+
+
+
+ +
+ + +
+
+
+
- - +
+
+ \ No newline at end of file diff --git a/src/feedstyle.css b/src/feedstyle.css index 24867b0..f492de1 100644 --- a/src/feedstyle.css +++ b/src/feedstyle.css @@ -4,44 +4,49 @@ body { height: 100%; } +body, +input { + font-family: "Poppins", sans-serif; +} + /*design colors*/ .colorbackpink { background-color: #FF728D; } + .colorwhite { background-color: #FAFAFA; } +.colorlightblue { + background-color: #1BC1E2; +} + .grid-container { width: 100%; height: 100%; display: grid; - grid-template-rows: 9% 80% 11%; + grid-template-rows: 45px auto; grid-template-columns: 100%; grid-template-areas: 'header' - 'main' - 'footer'; + 'main'; gap: 1px; } + .item2 { grid-area: aside; } -.item4 { - grid-area: footer; -} - .design { height: auto; - background-color: rgba(255, 176, 176, 0.8); text-align: center; padding: 0; font-size: 30px; } /* header */ -.header { +header { padding-left: 3%; padding-right: 3%; grid-area: header; @@ -54,6 +59,10 @@ body { width: 39px; } +.logo-horizontal { + display: none; +} + .icon-hide-menu { border: none; background: none; @@ -65,40 +74,425 @@ body { height: 25px; width: 50%; border: 0; + border-radius: 50px; font-size: 12px; + font-weight: 600; +} + +.input-search-bar::placeholder { + color: #B6B6B6; } .user-image { height: 30px; width: 30px; border-radius: 50%; - background-color: beige; margin-left: auto; } + /*aside*/ -aside{ +aside { display: none; } + /* main */ -.main { +main { grid-area: main; display: flex; justify-content: center; } -.user-post-container{ - background-color: #cae9f8d7; + +.user-post-container { border: 1px solid #B6B6B6; + border-radius: 15px; + padding: 5px 10px; margin-top: 10px; - display: flex; - justify-content: center; - width: 90%; - height: 150px; + display: grid; + grid-template-columns: 100%; + grid-template-rows: 4fr 1fr; + width: 85%; + height: 145px; } -.user-post{ - box-sizing: border-box; + +.user-post { + font-family: "Poppins", sans-serif; + box-sizing: border-box; resize: none; - padding-top: 15px; + padding-top: 10px; + padding-left: 5px; border: none; + border-radius: 15px; height: 110px; - width: 90%; + width: 100%; + font-weight: 600; + font-size: 14px; +} + +.user-post::placeholder { + color: #B6B6B6; +} + +.user-post-btns-conatiner { + width: auto; + margin-left: auto; + align-items: center; + display: flex; +} + +.btn-insert-photo { + height: auto; + border: none; + border-radius: 7px; + outline: none; + padding: 8px; +} + +.btn-post { + border: none; + border-radius: 12px; + outline: none; + padding: 9px; + font-size: 13px; + color: #FAFAFA; + font-weight: 600; + margin-left: 5px; +} + +@media (min-width: 500px) { + .logo { + display: none; + height: 24px; + width: 39px; + } + + .logo-horizontal { + display: block; + width: 90px; + + } + + .icon-hide-menu { + border: none; + background: none; + margin-left: 3px; + } + + .input-search-bar { + margin-left: 3px; + width: 60%; + height: 28px; + font-size: 14px; + } +} + +@media (min-width: 700px) { + .grid-container { + display: block; + width: 100%; + /* grid-template-rows: 45px auto; + grid-template-columns: 30% 70%; + grid-template-areas: + 'header header' + 'aside main'; + column-gap: 20px; */ + justify-content: none; + } + + .centered-main { + justify-content: center; + display: flex; + align-content: center; + margin-top: 20px; + } + + .flex-item-left { + height: auto; + margin-right: 20px; + } + + aside { + color: #252525; + grid-area: aside; + display: flex; + justify-content: center; + width: auto; + } + + .flex-item-right { + flex-direction: column; + justify-content: center; + align-items: center; + width: 60%; + } + + .trending-container { + margin: 0px; + } + + .trendy-title { + margin-top: 0px; + } + + main { + width: 100%; + margin-right: 0px; + padding-right: 0px; + + } + + .user-post-container { + margin: 0px; + display: grid; + width: 100%; + height: 145px; + } + + .user-post { + box-sizing: border-box; + resize: none; + padding: 10px 10px; + border: none; + border-radius: 15px; + height: 110px; + width: 100%; + font-weight: 600; + font-size: 15px; + outline: none; + } + + /*header*/ + header { + padding-left: 5%; + padding-right: 5%; + display: flex; + justify-content: space-between; + height: 45px; + } + + .logo-horizontal { + display: block; + width: 100px; + } + + .icon-hide-menu { + display: none; + border: none; + background: none; + } + + .input-search-bar { + margin-left: 3%; + font-size: 14px; + align-self: center; + justify-self: center; + } + + .user-image { + height: 30px; + width: 30px; + border-radius: 50%; + margin-left: 0; + } + + .trending-container { + width: 200px; + margin-left: auto; + } + + h2 { + color: #FAFAFA; + font-size: 14px; + padding: 10px; + border-radius: 10px; + } + + h3 { + font-size: 13px; + margin-bottom: 10px; + margin-top: 0px; + font-weight: 600; + } + + aside div div { + display: grid; + row-gap: 0px; + } + + aside div div a { + color: #1BC1E2; + cursor: pointer; + text-decoration-line: underline; + font-size: 12px; + margin-left: auto; + margin-top: 10px; + } + + /*template trending #*/ + .hashtag-template { + margin: 0px; + color: #FF728D; + font-size: 13px; + } + + /*template trending groups*/ + .group-container { + display: flex; + flex-direction: row; + } + + .group-img { + width: 15px; + height: 15px; + } + + .group-title { + margin: 0px; + font-size: 13px; + margin-left: 3px; + text-overflow: ellipsis; + } + + /*template trending conversations*/ + .conversation-container, + .news-container { + display: flex; + flex-direction: column; + border: 1px solid #B6B6B6; + padding-top: 6px; + padding-left: 6px; + padding-right: 6px; + } + + .conversation-content, + .news-content { + display: flex; + padding-bottom: 5px; + } + + .conversation-img { + display: flex; + border-radius: 20px; + width: 30px; + height: 30px; + object-fit: cover; + } + + .text-container { + display: flex; + flex-direction: column; + margin: 0px; + padding-left: 6px; + padding-bottom: 6px; + } + + .conversation-name { + margin: 2px 0px; + font-size: 13px; + font-weight: bold; + + } + + .conversation-post, + .news-text { + margin: 0px 0px; + font-size: 12px; + } + + .conversation-actions { + border-top: 1px solid #B6B6B6; + padding: 3px 0px; + display: flex; + flex-direction: row; + } + + .heart-icon { + width: 15px; + margin-left: 10px; + } + + .messages-icon { + width: 15px; + margin-left: auto; + cursor: pointer; + } + + /*template noticias*/ + .news-img { + height: 100%; + width: 40%; + object-fit: cover; + margin-left: 2px; + } } + +@media (min-width: 1000px) { + .grid-container { + display: block; + width: 100%; + /* grid-template-rows: 45px auto; + grid-template-columns: 30% 70%; + grid-template-areas: + 'header header' + 'aside main'; + column-gap: 20px; */ + justify-content: none; + } + + .centered-main { + justify-content: center; + display: flex; + align-content: center; + margin-top: 40px; + } + + .flex-item-left { + height: auto; + margin-right: 20px; + } + + aside { + width: auto; + } + + .flex-item-right { + flex-direction: column; + justify-content: center; + align-items: center; + width: 60%; + } + + .trending-container { + margin: 0px; + } + + .trendy-title { + margin-top: 0px; + } + + main { + width: 100%; + margin-right: 0px; + padding-right: 0px; + + } + + .user-post-container { + margin: 0px; + display: grid; + width: 100%; + height: 145px; + } + + .user-post { + box-sizing: border-box; + resize: none; + padding: 10px 10px; + border: none; + border-radius: 15px; + height: 110px; + width: 100%; + font-weight: 600; + font-size: 15px; + outline: none; + } +} \ No newline at end of file diff --git a/src/img/ED6FEYGGQNFGDM36CZVBK3WALE.webp b/src/img/ED6FEYGGQNFGDM36CZVBK3WALE.webp new file mode 100644 index 0000000000000000000000000000000000000000..bffee3fa67211b0c0f9ba15251a2f53cc38dba9c GIT binary patch literal 45526 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 + + + + + + \ No newline at end of file diff --git a/src/img/heart-svgrepo-com.svg b/src/img/heart-svgrepo-com.svg new file mode 100644 index 0000000..cff6723 --- /dev/null +++ b/src/img/heart-svgrepo-com.svg @@ -0,0 +1,7 @@ + + + + + + + \ No newline at end of file diff --git a/src/img/istockphoto-1323400501-612x612.jpg b/src/img/istockphoto-1323400501-612x612.jpg new file mode 100644 index 0000000000000000000000000000000000000000..3dc6f65e269ba00aacf024e1b4a52d84413d3189 GIT binary patch literal 30114 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 Yd(ACHRZ5d_#3$YfoJ|%t%KujWKc5osy8r+H literal 0 HcmV?d00001 From ecd75d6037efcf89e0678f866faeaf569daf346c Mon Sep 17 00:00:00 2001 From: Erika Nagaki Date: Thu, 29 Jun 2023 12:15:16 -0500 Subject: [PATCH 29/95] detallitos del css --- src/feedstyle.css | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/src/feedstyle.css b/src/feedstyle.css index f492de1..1829a07 100644 --- a/src/feedstyle.css +++ b/src/feedstyle.css @@ -52,6 +52,7 @@ header { grid-area: header; display: flex; align-items: center; + height: 45px; } .logo { @@ -442,7 +443,7 @@ main { justify-content: center; display: flex; align-content: center; - margin-top: 40px; + margin-top: 30px; } .flex-item-left { From 388fd8e256aeb51759dab046376a5a95ea1f17af Mon Sep 17 00:00:00 2001 From: RoxiFOchoaG <46870050+roxifochoag@users.noreply.github.com> Date: Fri, 30 Jun 2023 12:07:11 -0500 Subject: [PATCH 30/95] =?UTF-8?q?=20Creaci=C3=B3n=20del=20archivo=20Feed.j?= =?UTF-8?q?s=20y=20mudanza=20de=20stylos=20del=20feed?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- src/components/Feed.js | 62 ++++++ src/styles.css | 494 +++++++++++++++++++++++++++++++++++++++++ 2 files changed, 556 insertions(+) create mode 100644 src/components/Feed.js diff --git a/src/components/Feed.js b/src/components/Feed.js new file mode 100644 index 0000000..c738e1c --- /dev/null +++ b/src/components/Feed.js @@ -0,0 +1,62 @@ +export const Feed = () =>{ +// ------------------------------------------------ +// Empieza el HeadDiv +// Creando el head +const headDiv= document.createElement('head'); +headDiv.className = 'header colorbackpink'; +// Logo del head +const logoHead = document.createElement('img'); +logoHead.className = 'logoHead'; +logoHead.src = '/src/img/icon-logo.png'; +logoHead.alt = 'logo'; +// Titulo del head +const titleHead= document.createElement('title'); +titleHead.innerText = 'WarmiFeed'; +// Cierra el head +// ------------------------------------------------ +// Inicio del header +// declaración de la clase del header +const colorbackpink = document.createDocument('header'); +colorbackpink.className ='colorbackpink'; +// logo de warmi +const logo = document.createElement('img'); +logo.className = 'logo'; +logo.src = '/src/img/icon-logo.png'; +logo.alt = 'logo'; +// Logo horizontal +const logohorizontal = document.createElement('img'); +logohorizontal.className = 'logo-horizontal'; +logohorizontal.src = '/src/img/logo-feed.png'; +logohorizontal.alt = 'logo'; +// Estructura del boton +// Boton +const IconHideMenu = document.createElement('button'); +IconHideMenu.className = 'icon-hide-menu'; + +const IconMenuCelphone = document.createElement('i'); +IconMenuCelphone.src = 'img/icon-menu-celphone.svg'; +//Barra de búsqueda +const InputSearchBar = document.createElement('search'); +InputSearchBar.className = 'input-search-bar'; +InputSearchBar.placeholder = 'Buscar'; +// Fin del header +// ------------------------------------------------ + + + + +// Centro del Main +// Div izquierda + +// Trending topic + +// HashTags + +// Conversaciones + +// Noticias + +// Div derecha + + +} \ No newline at end of file diff --git a/src/styles.css b/src/styles.css index a96baad..9459a2d 100644 --- a/src/styles.css +++ b/src/styles.css @@ -546,4 +546,498 @@ label { .solid { font-size: 13px; } +} + + + +/*****************************************************FEED******/ + + +/*design colors*/ +.colorbackpink { + background-color: #FF728D; +} + +.colorwhite { + background-color: #FAFAFA; +} + +.colorlightblue { + background-color: #1BC1E2; +} + +.grid-container { + width: 100%; + height: 100%; + display: grid; + grid-template-rows: 45px auto; + grid-template-columns: 100%; + grid-template-areas: + 'header' + 'main'; + gap: 1px; +} + +.item2 { + grid-area: aside; +} + +.design { + height: auto; + text-align: center; + padding: 0; + font-size: 30px; +} + +/* header */ +header { + padding-left: 3%; + padding-right: 3%; + grid-area: header; + display: flex; + align-items: center; + height: 45px; +} + +.logo { + height: 24px; + width: 39px; +} + +.logo-horizontal { + display: none; +} + +.icon-hide-menu { + border: none; + background: none; +} + +.input-search-bar { + margin-left: 4%; + padding-left: 10px; + height: 25px; + width: 50%; + border: 0; + border-radius: 50px; + font-size: 12px; + font-weight: 600; +} + +.input-search-bar::placeholder { + color: #B6B6B6; +} + +.user-image { + height: 30px; + width: 30px; + border-radius: 50%; + margin-left: auto; +} + +/*aside*/ +aside { + display: none; +} + +/* main */ +main { + grid-area: main; + display: flex; + justify-content: center; +} + +.user-post-container { + border: 1px solid #B6B6B6; + border-radius: 15px; + padding: 5px 10px; + margin-top: 10px; + display: grid; + grid-template-columns: 100%; + grid-template-rows: 4fr 1fr; + width: 85%; + height: 145px; +} + +.user-post { + font-family: "Poppins", sans-serif; + box-sizing: border-box; + resize: none; + padding-top: 10px; + padding-left: 5px; + border: none; + border-radius: 15px; + height: 110px; + width: 100%; + font-weight: 600; + font-size: 14px; +} + +.user-post::placeholder { + color: #B6B6B6; +} + +.user-post-btns-conatiner { + width: auto; + margin-left: auto; + align-items: center; + display: flex; +} + +.btn-insert-photo { + height: auto; + border: none; + border-radius: 7px; + outline: none; + padding: 8px; +} + +.btn-post { + border: none; + border-radius: 12px; + outline: none; + padding: 9px; + font-size: 13px; + color: #FAFAFA; + font-weight: 600; + margin-left: 5px; +} + +@media (min-width: 500px) { + .logo { + display: none; + height: 24px; + width: 39px; + } + + .logo-horizontal { + display: block; + width: 90px; + + } + + .icon-hide-menu { + border: none; + background: none; + margin-left: 3px; + } + + .input-search-bar { + margin-left: 3px; + width: 60%; + height: 28px; + font-size: 14px; + } +} + +@media (min-width: 700px) { + .grid-container { + display: block; + width: 100%; + /* grid-template-rows: 45px auto; + grid-template-columns: 30% 70%; + grid-template-areas: + 'header header' + 'aside main'; + column-gap: 20px; */ + justify-content: none; + } + + .centered-main { + justify-content: center; + display: flex; + align-content: center; + margin-top: 20px; + } + + .flex-item-left { + height: auto; + margin-right: 20px; + } + + aside { + color: #252525; + grid-area: aside; + display: flex; + justify-content: center; + width: auto; + } + + .flex-item-right { + flex-direction: column; + justify-content: center; + align-items: center; + width: 60%; + } + + .trending-container { + margin: 0px; + } + + .trendy-title { + margin-top: 0px; + } + + main { + width: 100%; + margin-right: 0px; + padding-right: 0px; + + } + + .user-post-container { + margin: 0px; + display: grid; + width: 100%; + height: 145px; + } + + .user-post { + box-sizing: border-box; + resize: none; + padding: 10px 10px; + border: none; + border-radius: 15px; + height: 110px; + width: 100%; + font-weight: 600; + font-size: 15px; + outline: none; + } + + /*header*/ + header { + padding-left: 5%; + padding-right: 5%; + display: flex; + justify-content: space-between; + height: 45px; + } + + .logo-horizontal { + display: block; + width: 100px; + } + + .icon-hide-menu { + display: none; + border: none; + background: none; + } + + .input-search-bar { + margin-left: 3%; + font-size: 14px; + align-self: center; + justify-self: center; + } + + .user-image { + height: 30px; + width: 30px; + border-radius: 50%; + margin-left: 0; + } + + .trending-container { + width: 200px; + margin-left: auto; + } + + h2 { + color: #FAFAFA; + font-size: 14px; + padding: 10px; + border-radius: 10px; + } + + h3 { + font-size: 13px; + margin-bottom: 10px; + margin-top: 0px; + font-weight: 600; + } + + aside div div { + display: grid; + row-gap: 0px; + } + + aside div div a { + color: #1BC1E2; + cursor: pointer; + text-decoration-line: underline; + font-size: 12px; + margin-left: auto; + margin-top: 10px; + } + + /*template trending #*/ + .hashtag-template { + margin: 0px; + color: #FF728D; + font-size: 13px; + } + + /*template trending groups*/ + .group-container { + display: flex; + flex-direction: row; + } + + .group-img { + width: 15px; + height: 15px; + } + + .group-title { + margin: 0px; + font-size: 13px; + margin-left: 3px; + text-overflow: ellipsis; + } + + /*template trending conversations*/ + .conversation-container, + .news-container { + display: flex; + flex-direction: column; + border: 1px solid #B6B6B6; + padding-top: 6px; + padding-left: 6px; + padding-right: 6px; + } + + .conversation-content, + .news-content { + display: flex; + padding-bottom: 5px; + } + + .conversation-img { + display: flex; + border-radius: 20px; + width: 30px; + height: 30px; + object-fit: cover; + } + + .text-container { + display: flex; + flex-direction: column; + margin: 0px; + padding-left: 6px; + padding-bottom: 6px; + } + + .conversation-name { + margin: 2px 0px; + font-size: 13px; + font-weight: bold; + + } + + .conversation-post, + .news-text { + margin: 0px 0px; + font-size: 12px; + } + + .conversation-actions { + border-top: 1px solid #B6B6B6; + padding: 3px 0px; + display: flex; + flex-direction: row; + } + + .heart-icon { + width: 15px; + margin-left: 10px; + } + + .messages-icon { + width: 15px; + margin-left: auto; + cursor: pointer; + } + + /*template noticias*/ + .news-img { + height: 100%; + width: 40%; + object-fit: cover; + margin-left: 2px; + } +} + +@media (min-width: 1000px) { + .grid-container { + display: block; + width: 100%; + /* grid-template-rows: 45px auto; + grid-template-columns: 30% 70%; + grid-template-areas: + 'header header' + 'aside main'; + column-gap: 20px; */ + justify-content: none; + } + + .centered-main { + justify-content: center; + display: flex; + align-content: center; + margin-top: 30px; + } + + .flex-item-left { + height: auto; + margin-right: 20px; + } + + aside { + width: auto; + } + + .flex-item-right { + flex-direction: column; + justify-content: center; + align-items: center; + width: 60%; + } + + .trending-container { + margin: 0px; + } + + .trendy-title { + margin-top: 0px; + } + + main { + width: 100%; + margin-right: 0px; + padding-right: 0px; + + } + + .user-post-container { + margin: 0px; + display: grid; + width: 100%; + height: 145px; + } + + .user-post { + box-sizing: border-box; + resize: none; + padding: 10px 10px; + border: none; + border-radius: 15px; + height: 110px; + width: 100%; + font-weight: 600; + font-size: 15px; + outline: none; + } } \ No newline at end of file From bc48838c14d4106b99294cb2eab751fe2875feed Mon Sep 17 00:00:00 2001 From: Erika Nagaki Date: Fri, 30 Jun 2023 13:08:04 -0500 Subject: [PATCH 31/95] footer listo! con reponsive --- src/feed.html.html | 17 ++++++++-- src/feedstyle.css | 83 ++++++++++++++++++++++------------------------ 2 files changed, 54 insertions(+), 46 deletions(-) diff --git a/src/feed.html.html b/src/feed.html.html index 9cf42be..7d4c558 100644 --- a/src/feed.html.html +++ b/src/feed.html.html @@ -9,12 +9,12 @@ WarmiFeed - +
logo - +
@@ -86,7 +86,18 @@

Noticias

-
+
+ +
diff --git a/src/feedstyle.css b/src/feedstyle.css index 1829a07..df34711 100644 --- a/src/feedstyle.css +++ b/src/feedstyle.css @@ -21,28 +21,13 @@ input { .colorlightblue { background-color: #1BC1E2; } - -.grid-container { - width: 100%; - height: 100%; - display: grid; - grid-template-rows: 45px auto; - grid-template-columns: 100%; - grid-template-areas: - 'header' - 'main'; - gap: 1px; +.colorgray { + background-color: #B6B6B6; } -.item2 { - grid-area: aside; -} - -.design { - height: auto; - text-align: center; - padding: 0; - font-size: 30px; +.feed-container{ + display: flex; + flex-direction: column; } /* header */ @@ -159,7 +144,40 @@ main { margin-left: 5px; } +footer{ + padding: 40px 0px; + display: flex; + flex-direction: column; + justify-content: center; + align-content: center; + margin-top: auto; + height: fit-content; + width: 100%; +} + +.footer-first-row{ + display: flex; + justify-content: center; +} + +.footer-second-row{ + display: flex; + justify-content: center; + margin-top: 20px; +} + +.footer-first-row p, .footer-second-row p{ + justify-content: center; + margin: auto 2%; + display: inline-flex; + font-size: 11px; + color: #FAFAFA; +} + @media (min-width: 500px) { + .centered-main { + margin-bottom: 90px; + } .logo { display: none; height: 24px; @@ -187,17 +205,6 @@ main { } @media (min-width: 700px) { - .grid-container { - display: block; - width: 100%; - /* grid-template-rows: 45px auto; - grid-template-columns: 30% 70%; - grid-template-areas: - 'header header' - 'aside main'; - column-gap: 20px; */ - justify-content: none; - } .centered-main { justify-content: center; @@ -409,6 +416,7 @@ main { .heart-icon { width: 15px; margin-left: 10px; + cursor: pointer; } .messages-icon { @@ -427,25 +435,14 @@ main { } @media (min-width: 1000px) { - .grid-container { - display: block; - width: 100%; - /* grid-template-rows: 45px auto; - grid-template-columns: 30% 70%; - grid-template-areas: - 'header header' - 'aside main'; - column-gap: 20px; */ - justify-content: none; - } .centered-main { justify-content: center; display: flex; align-content: center; margin-top: 30px; + margin-bottom: 100px; } - .flex-item-left { height: auto; margin-right: 20px; From ed8740ed8ebacd32308e8faa1ef7f8b41320b990 Mon Sep 17 00:00:00 2001 From: Tati20h Date: Fri, 30 Jun 2023 14:40:47 -0500 Subject: [PATCH 32/95] cambios en feed --- src/components/Feed.js | 334 +++++++++++++++++++++++++++++++++-------- src/main.js | 2 + 2 files changed, 275 insertions(+), 61 deletions(-) diff --git a/src/components/Feed.js b/src/components/Feed.js index c738e1c..14e839c 100644 --- a/src/components/Feed.js +++ b/src/components/Feed.js @@ -1,62 +1,274 @@ -export const Feed = () =>{ -// ------------------------------------------------ -// Empieza el HeadDiv -// Creando el head -const headDiv= document.createElement('head'); -headDiv.className = 'header colorbackpink'; -// Logo del head -const logoHead = document.createElement('img'); -logoHead.className = 'logoHead'; -logoHead.src = '/src/img/icon-logo.png'; -logoHead.alt = 'logo'; -// Titulo del head -const titleHead= document.createElement('title'); -titleHead.innerText = 'WarmiFeed'; -// Cierra el head -// ------------------------------------------------ -// Inicio del header -// declaración de la clase del header -const colorbackpink = document.createDocument('header'); -colorbackpink.className ='colorbackpink'; -// logo de warmi -const logo = document.createElement('img'); -logo.className = 'logo'; -logo.src = '/src/img/icon-logo.png'; -logo.alt = 'logo'; -// Logo horizontal -const logohorizontal = document.createElement('img'); -logohorizontal.className = 'logo-horizontal'; -logohorizontal.src = '/src/img/logo-feed.png'; -logohorizontal.alt = 'logo'; -// Estructura del boton -// Boton -const IconHideMenu = document.createElement('button'); -IconHideMenu.className = 'icon-hide-menu'; - -const IconMenuCelphone = document.createElement('i'); -IconMenuCelphone.src = 'img/icon-menu-celphone.svg'; -//Barra de búsqueda -const InputSearchBar = document.createElement('search'); -InputSearchBar.className = 'input-search-bar'; -InputSearchBar.placeholder = 'Buscar'; -// Fin del header -// ------------------------------------------------ - - - - -// Centro del Main -// Div izquierda - -// Trending topic - -// HashTags - -// Conversaciones - -// Noticias - -// Div derecha - - +export const Feed = () => { + + //encerrar todo el feed incluyendo header + const divFeedPrincipal = document.createElement('div') + + // ------------------------------------------------ + // Inicio del header + // declaración de la clase del header + const headerFeed = document.createElement('header'); + headerFeed.className = 'colorbackpink'; + // logo de warmi + const logo = document.createElement('img'); + logo.className = 'logo'; + logo.src = '../img/icon-logo.png'; + logo.alt = 'logo'; + // Logo horizontal + const logohorizontal = document.createElement('img'); + logohorizontal.className = 'logo-horizontal'; + logohorizontal.src = '../img/logo-feed.png'; + logohorizontal.alt = 'logo'; + // Estructura del boton + // Boton + const IconHideMenu = document.createElement('button'); + IconHideMenu.className = 'icon-hide-menu'; + + const IconMenuCelphone = document.createElement('img'); + IconMenuCelphone.src = '../img/icon-menu-celphone.svg'; + //Barra de búsqueda + const InputSearchBar = document.createElement('input'); + InputSearchBar.setAttribute("type", "search"); + InputSearchBar.className = 'input-search-bar'; + InputSearchBar.placeholder = 'Buscar'; + // User image + const UserImage = document.createElement('div'); + UserImage.className = 'user-image colorlightblue' + // Fin del header + + headerFeed.appendChild(logo); + headerFeed.appendChild(logohorizontal); + headerFeed.appendChild(IconHideMenu); + IconHideMenu.appendChild(IconMenuCelphone); + headerFeed.appendChild(InputSearchBar); + headerFeed.appendChild(UserImage); + + // ------------------------------------------------ + + + // Crear div principal + const centeredMainDiv = document.createElement('div'); + centeredMainDiv.className = 'centered-main'; + + // Crear div flex-item-left + const flexItemLeftDiv = document.createElement('div'); + flexItemLeftDiv.className = 'flex-item-left'; + + const flexItemRightDiv = document.createElement('div'); + flexItemRightDiv.className = 'flex-item-right'; + + // Crear aside + const asideElement = document.createElement('aside'); + + // Crear div trending-container + const trendingContainerDiv = document.createElement('div'); + trendingContainerDiv.className = 'trending-container'; + + // Crear div para el título de las tendencias + const trendyTitleDiv = document.createElement('div'); + const trendyTitleH2 = document.createElement('h2'); + trendyTitleH2.className = 'trendy-title colorbackpink'; + trendyTitleH2.textContent = 'Tendencias'; + trendyTitleDiv.appendChild(trendyTitleH2); + trendingContainerDiv.appendChild(trendyTitleDiv); + + // Crear div para hashtags + const hashtagsDiv = document.createElement('div'); + const hashtagsH3 = document.createElement('h3'); + hashtagsH3.textContent = 'Hashtags'; + const hashtagTemplateP = document.createElement('p'); + hashtagTemplateP.className = 'hashtag-template'; + hashtagTemplateP.textContent = '#mercadillolatino'; + const verTodosHashtagsA = document.createElement('a'); + verTodosHashtagsA.textContent = 'ver todos'; + hashtagsDiv.appendChild(hashtagsH3); + hashtagsDiv.appendChild(hashtagTemplateP); + hashtagsDiv.appendChild(verTodosHashtagsA); + trendingContainerDiv.appendChild(hashtagsDiv); + + // Crear div para grupos + const gruposDiv = document.createElement('div'); + const gruposH3 = document.createElement('h3'); + gruposH3.textContent = 'Grupos'; + const groupContainerDiv = document.createElement('div'); + groupContainerDiv.className = 'group-container'; + const groupImg = document.createElement('img'); + groupImg.className = 'group-img colorlightblue'; + const groupTitleP = document.createElement('p'); + groupTitleP.className = 'group-title'; + groupTitleP.textContent = 'ingles basico para principiantes'; + groupContainerDiv.appendChild(groupImg); + groupContainerDiv.appendChild(groupTitleP); + const verTodosGruposA = document.createElement('a'); + verTodosGruposA.textContent = 'ver todos'; + gruposDiv.appendChild(gruposH3); + gruposDiv.appendChild(groupContainerDiv); + gruposDiv.appendChild(verTodosGruposA); + trendingContainerDiv.appendChild(gruposDiv); + + // Crear div para conversaciones + const conversacionesDiv = document.createElement('div'); + + const conversacionesH3 = document.createElement('h3'); + conversacionesH3.textContent = 'Conversaciones'; + + const conversationContainerDiv = document.createElement('div'); + conversationContainerDiv.className = 'conversation-container'; + + const conversationContentDiv = document.createElement('div'); + conversationContentDiv.className = 'conversation-content'; + const conversationImg = document.createElement('img'); + conversationImg.className = 'conversation-img colorlightblue'; + conversationImg.src = '../img/istockphoto-1323400501-612x612.jpg'; + const textContainerDiv = document.createElement('div'); + textContainerDiv.className = 'text-container'; + const conversationNameP = document.createElement('p'); + conversationNameP.className = 'conversation-name'; + conversationNameP.textContent = 'Jennifer Heredia'; + const conversationPostP = document.createElement('p'); + conversationPostP.className = 'conversation-post'; + conversationPostP.textContent = 'Algun consejo para las que queremos irnos de viaje a Grecia?'; + + const conversationActions = document.createElement('div'); + conversationActions.className = 'conversations-actions'; + const conversationImg1 = document.createElement('img'); + conversationImg1.className = 'messages-icon1'; + conversationImg1.src = '../img/chat-svgrepo-com.svg'; + conversationImg1.alt = "message-icon-for-comment" + const conversationImg2 = document.createElement('img'); + conversationImg2.className = 'messages-icon2'; + conversationImg2.src = '../img/heart-svgrepo-com.svg'; + conversationImg2.alt = 'heart-icon-for-likes'; + + const verTodosConversationsA = document.createElement('a'); + verTodosConversationsA.innertext = 'ver todos'; + + textContainerDiv.appendChild(conversationNameP); + textContainerDiv.appendChild(conversationPostP); + conversationContentDiv.appendChild(conversationImg); + conversationContentDiv.appendChild(textContainerDiv); + + conversationContainerDiv.appendChild(conversationContentDiv); + + conversationActions.appendChild(conversationImg1); + conversationActions.appendChild(conversationImg2); + + conversationContainerDiv.appendChild(conversationActions); + + conversacionesDiv.appendChild(conversacionesH3); + conversacionesDiv.appendChild(conversationContainerDiv); + conversacionesDiv.appendChild(verTodosConversationsA) + + trendingContainerDiv.appendChild(conversacionesDiv); + + // ----------------news------------------------------- + + const newsDiv = document.createElement('div'); + const news = document.createElement('h3'); + news.textContent = 'Noticias'; + + const NewsContainer = document.createElement('div'); + NewsContainer.className = 'news-container'; + + const NewsContent = document.createElement('div') + NewsContent.className = 'news-content'; + + const NewsText = document.createElement('p'); + NewsText.className = 'news-text'; + NewsText.innerText = 'LABORATORIA expande sus puertas a Asuncion, Ciudad de Panama, La Paz, Montevideo y San Jose!'; + + const NewsImg = document.createElement('img'); + NewsImg.className = 'news-img'; + NewsImg.src = '../img/ED6FEYGGQNFGDM36CZVBK3WALE.webp'; + NewsImg.alt = 'message-icon-for-comment'; + + const ConversationActions = document.createElement('div'); + ConversationActions.className = 'conversation-actions'; + + const MessagesIcon = document.createElement('i'); + MessagesIcon.className = 'messages-icon'; + MessagesIcon.src = '../img/chat-svgrepo-com.svg'; + MessagesIcon.alt = 'heart-icon-for-likes'; + + const HeartIcon = document.createElement('i'); + HeartIcon.className = 'heart-icon'; + HeartIcon.src = '../img/heart-svgrepo-com.svg'; + HeartIcon.alt = 'heart-icon-for-likes'; + + const VertodosNews = document.createElement('a'); + VertodosNews.innertext = 'ver todos'; + + + NewsContent.appendChild(NewsText); + NewsContent.appendChild(NewsImg); + + conversationActions.appendChild(MessagesIcon); + conversationActions.appendChild(HeartIcon); + + NewsContainer.appendChild(NewsContent); + NewsContainer.appendChild(conversationActions) + + newsDiv.appendChild(news); + newsDiv.appendChild(NewsContainer) + newsDiv.appendChild(VertodosNews); + + trendingContainerDiv.appendChild(newsDiv); + + asideElement.appendChild(trendingContainerDiv); + + flexItemLeftDiv.appendChild(asideElement); + + ////main de user post container que va en el flex-item-right + + const mainElement = document.createElement('main'); + + // Crear div user-post-container + const userPostContainerDiv = document.createElement('div'); + userPostContainerDiv.className = 'user-post-container'; + + // Crear textarea + const textareaElement = document.createElement('textarea'); + textareaElement.setAttribute("type", "input"); + textareaElement.className = 'user-post colorwhite'; + textareaElement.placeholder = 'Crea un post'; + + // Crear div user-post-btns-container + const userPostBtnsContainerDiv = document.createElement('div'); + userPostBtnsContainerDiv.className = 'user-post-btns-container'; + + // Crear botón para insertar foto + const btnInsertPhoto = document.createElement('button'); + btnInsertPhoto.className = 'btn-insert-photo colorlightblue'; + const photoIconImg = document.createElement('img'); + photoIconImg.className = 'photo-icon'; + photoIconImg.src = '../img/camara-icon.svg'; + photoIconImg.alt = 'camera-icon'; + btnInsertPhoto.appendChild(photoIconImg); + + // Crear botón para publicar + const btnPost = document.createElement('button'); + btnPost.className = 'btn-post colorbackpink'; + btnPost.textContent = 'publicar'; + + // Añadir textarea al div user-post-container + userPostContainerDiv.appendChild(textareaElement); + + // Añadir botones al div user-post-btns-container + userPostBtnsContainerDiv.appendChild(btnInsertPhoto); + userPostBtnsContainerDiv.appendChild(btnPost); + + // Añadir div user-post-btns-container al div user-post-container + userPostContainerDiv.appendChild(userPostBtnsContainerDiv); + + // Añadir div user-post-container al elemento main + mainElement.appendChild(userPostContainerDiv); + + flexItemRightDiv.appendChild(mainElement); + + centeredMainDiv.appendChild(flexItemLeftDiv); + centeredMainDiv.appendChild(flexItemRightDiv); + + divFeedPrincipal.appendChild(headerFeed); + divFeedPrincipal.appendChild(centeredMainDiv); + + return divFeedPrincipal; } \ No newline at end of file diff --git a/src/main.js b/src/main.js index c832e63..71f6b84 100644 --- a/src/main.js +++ b/src/main.js @@ -1,6 +1,7 @@ import { Register } from './components/Register.js'; import { Login } from './components/Login.js'; import { RecoverPassword } from './components/RecoverPassword.js'; +import { Feed } from './components/Feed.js'; const rootDiv = document.getElementById('root'); @@ -9,6 +10,7 @@ const routes = { '/login': Login, '/register': Register, '/recoverPassword': RecoverPassword, + '/feed': Feed, }; export const onNavigate = (pathname) => { From 80ec5dae88d083cd223e2045ae68c923126bb8fc Mon Sep 17 00:00:00 2001 From: Erika Nagaki Date: Fri, 30 Jun 2023 15:41:21 -0500 Subject: [PATCH 33/95] cambios :v --- src/components/Feed.js | 271 ++++++++++++++++ src/feed.html.html | 15 + src/feedstyle.css | 705 ++++++++++++++++++++++++----------------- 3 files changed, 694 insertions(+), 297 deletions(-) create mode 100644 src/components/Feed.js diff --git a/src/components/Feed.js b/src/components/Feed.js new file mode 100644 index 0000000..e8d7f3c --- /dev/null +++ b/src/components/Feed.js @@ -0,0 +1,271 @@ +export const Feed = () => { + // encerrar todo el feed incluyendo header + const divFeedPrincipal = document.createElement('div'); + + // ------------------------------------------------ + // Inicio del header + // declaración de la clase del header + const headerFeed = document.createElement('header'); + headerFeed.className = 'colorbackpink'; + // logo de warmi + const logo = document.createElement('img'); + logo.className = 'logo'; + logo.src = '../img/icon-logo.png'; + logo.alt = 'logo'; + // Logo horizontal + const logohorizontal = document.createElement('img'); + logohorizontal.className = 'logo-horizontal'; + logohorizontal.src = '../img/logo-feed.png'; + logohorizontal.alt = 'logo'; + // Estructura del boton + // Boton + const IconHideMenu = document.createElement('button'); + IconHideMenu.className = 'icon-hide-menu'; + + const IconMenuCelphone = document.createElement('img'); + IconMenuCelphone.src = '../img/icon-menu-celphone.svg'; + // Barra de búsqueda + const InputSearchBar = document.createElement('input'); + InputSearchBar.setAttribute('type', 'search'); + InputSearchBar.className = 'input-search-bar'; + InputSearchBar.placeholder = 'Buscar'; + // User image + const UserImage = document.createElement('div'); + UserImage.className = 'user-image colorlightblue'; + // Fin del header + + headerFeed.appendChild(logo); + headerFeed.appendChild(logohorizontal); + headerFeed.appendChild(IconHideMenu); + IconHideMenu.appendChild(IconMenuCelphone); + headerFeed.appendChild(InputSearchBar); + headerFeed.appendChild(UserImage); + + // ------------------------------------------------ + + // Crear div principal + const centeredMainDiv = document.createElement('div'); + centeredMainDiv.className = 'centered-main'; + + // Crear div flex-item-left + const flexItemLeftDiv = document.createElement('div'); + flexItemLeftDiv.className = 'flex-item-left'; + + const flexItemRightDiv = document.createElement('div'); + flexItemRightDiv.className = 'flex-item-right'; + + // Crear aside + const asideElement = document.createElement('aside'); + + // Crear div trending-container + const trendingContainerDiv = document.createElement('div'); + trendingContainerDiv.className = 'trending-container'; + + // Crear div para el título de las tendencias + const trendyTitleDiv = document.createElement('div'); + const trendyTitleH2 = document.createElement('h2'); + trendyTitleH2.className = 'trendy-title colorbackpink'; + trendyTitleH2.textContent = 'Tendencias'; + trendyTitleDiv.appendChild(trendyTitleH2); + trendingContainerDiv.appendChild(trendyTitleDiv); + + // Crear div para hashtags + const hashtagsDiv = document.createElement('div'); + const hashtagsH3 = document.createElement('h3'); + hashtagsH3.textContent = 'Hashtags'; + const hashtagTemplateP = document.createElement('p'); + hashtagTemplateP.className = 'hashtag-template'; + hashtagTemplateP.textContent = '#mercadillolatino'; + const verTodosHashtagsA = document.createElement('a'); + verTodosHashtagsA.textContent = 'ver todos'; + hashtagsDiv.appendChild(hashtagsH3); + hashtagsDiv.appendChild(hashtagTemplateP); + hashtagsDiv.appendChild(verTodosHashtagsA); + trendingContainerDiv.appendChild(hashtagsDiv); + + // Crear div para grupos + const gruposDiv = document.createElement('div'); + const gruposH3 = document.createElement('h3'); + gruposH3.textContent = 'Grupos'; + const groupContainerDiv = document.createElement('div'); + groupContainerDiv.className = 'group-container'; + const groupImg = document.createElement('img'); + groupImg.className = 'group-img colorlightblue'; + const groupTitleP = document.createElement('p'); + groupTitleP.className = 'group-title'; + groupTitleP.textContent = 'ingles basico para principiantes'; + groupContainerDiv.appendChild(groupImg); + groupContainerDiv.appendChild(groupTitleP); + const verTodosGruposA = document.createElement('a'); + verTodosGruposA.textContent = 'ver todos'; + gruposDiv.appendChild(gruposH3); + gruposDiv.appendChild(groupContainerDiv); + gruposDiv.appendChild(verTodosGruposA); + trendingContainerDiv.appendChild(gruposDiv); + + // Crear div para conversaciones + const conversacionesDiv = document.createElement('div'); + + const conversacionesH3 = document.createElement('h3'); + conversacionesH3.textContent = 'Conversaciones'; + + const conversationContainerDiv = document.createElement('div'); + conversationContainerDiv.className = 'conversation-container'; + + const conversationContentDiv = document.createElement('div'); + conversationContentDiv.className = 'conversation-content'; + const conversationImg = document.createElement('img'); + conversationImg.className = 'conversation-img colorlightblue'; + conversationImg.src = '../img/istockphoto-1323400501-612x612.jpg'; + const textContainerDiv = document.createElement('div'); + textContainerDiv.className = 'text-container'; + const conversationNameP = document.createElement('p'); + conversationNameP.className = 'conversation-name'; + conversationNameP.textContent = 'Jennifer Heredia'; + const conversationPostP = document.createElement('p'); + conversationPostP.className = 'conversation-post'; + conversationPostP.textContent = 'Algun consejo para las que queremos irnos de viaje a Grecia?'; + + const conversationActions = document.createElement('div'); + conversationActions.className = 'conversations-actions'; + const conversationImg1 = document.createElement('img'); + conversationImg1.className = 'messages-icon1'; + conversationImg1.src = '../img/chat-svgrepo-com.svg'; + conversationImg1.alt = 'message-icon-for-comment'; + const conversationImg2 = document.createElement('img'); + conversationImg2.className = 'messages-icon2'; + conversationImg2.src = '../img/heart-svgrepo-com.svg'; + conversationImg2.alt = 'heart-icon-for-likes'; + + const verTodosConversationsA = document.createElement('a'); + verTodosConversationsA.innertext = 'ver todos'; + + textContainerDiv.appendChild(conversationNameP); + textContainerDiv.appendChild(conversationPostP); + conversationContentDiv.appendChild(conversationImg); + conversationContentDiv.appendChild(textContainerDiv); + + conversationContainerDiv.appendChild(conversationContentDiv); + + conversationActions.appendChild(conversationImg1); + conversationActions.appendChild(conversationImg2); + + conversationContainerDiv.appendChild(conversationActions); + + conversacionesDiv.appendChild(conversacionesH3); + conversacionesDiv.appendChild(conversationContainerDiv); + conversacionesDiv.appendChild(verTodosConversationsA); + + trendingContainerDiv.appendChild(conversacionesDiv); + + // ----------------news------------------------------- + + const newsDiv = document.createElement('div'); + const news = document.createElement('h3'); + news.textContent = 'Noticias'; + + const NewsContainer = document.createElement('div'); + NewsContainer.className = 'news-container'; + + const NewsContent = document.createElement('div'); + NewsContent.className = 'news-content'; + + const NewsText = document.createElement('p'); + NewsText.className = 'news-text'; + NewsText.innerText = 'LABORATORIA expande sus puertas a Asuncion, Ciudad de Panama, La Paz, Montevideo y San Jose!'; + + const NewsImg = document.createElement('img'); + NewsImg.className = 'news-img'; + NewsImg.src = '../img/ED6FEYGGQNFGDM36CZVBK3WALE.webp'; + NewsImg.alt = 'message-icon-for-comment'; + + const ConversationActions = document.createElement('div'); + ConversationActions.className = 'conversation-actions'; + + const MessagesIcon = document.createElement('i'); + MessagesIcon.className = 'messages-icon'; + MessagesIcon.src = '../img/chat-svgrepo-com.svg'; + MessagesIcon.alt = 'heart-icon-for-likes'; + + const HeartIcon = document.createElement('i'); + HeartIcon.className = 'heart-icon'; + HeartIcon.src = '../img/heart-svgrepo-com.svg'; + HeartIcon.alt = 'heart-icon-for-likes'; + + const VertodosNews = document.createElement('a'); + VertodosNews.innertext = 'ver todos'; + + NewsContent.appendChild(NewsText); + NewsContent.appendChild(NewsImg); + + conversationActions.appendChild(MessagesIcon); + conversationActions.appendChild(HeartIcon); + + NewsContainer.appendChild(NewsContent); + NewsContainer.appendChild(conversationActions); + + newsDiv.appendChild(news); + newsDiv.appendChild(NewsContainer); + newsDiv.appendChild(VertodosNews); + + trendingContainerDiv.appendChild(newsDiv); + + asideElement.appendChild(trendingContainerDiv); + + flexItemLeftDiv.appendChild(asideElement); + + /// /main de user post container que va en el flex-item-right + + const mainElement = document.createElement('main'); + + // Crear div user-post-container + const userPostContainerDiv = document.createElement('div'); + userPostContainerDiv.className = 'user-post-container'; + + // Crear textarea + const textareaElement = document.createElement('textarea'); + textareaElement.setAttribute('type', 'input'); + textareaElement.className = 'user-post colorwhite'; + textareaElement.placeholder = 'Crea un post'; + + // Crear div user-post-btns-container + const userPostBtnsContainerDiv = document.createElement('div'); + userPostBtnsContainerDiv.className = 'user-post-btns-container'; + + // Crear botón para insertar foto + const btnInsertPhoto = document.createElement('button'); + btnInsertPhoto.className = 'btn-insert-photo colorlightblue'; + const photoIconImg = document.createElement('img'); + photoIconImg.className = 'photo-icon'; + photoIconImg.src = '../img/camara-icon.svg'; + photoIconImg.alt = 'camera-icon'; + btnInsertPhoto.appendChild(photoIconImg); + + // Crear botón para publicar + const btnPost = document.createElement('button'); + btnPost.className = 'btn-post colorbackpink'; + btnPost.textContent = 'publicar'; + + // Añadir textarea al div user-post-container + userPostContainerDiv.appendChild(textareaElement); + + // Añadir botones al div user-post-btns-container + userPostBtnsContainerDiv.appendChild(btnInsertPhoto); + userPostBtnsContainerDiv.appendChild(btnPost); + + // Añadir div user-post-btns-container al div user-post-container + userPostContainerDiv.appendChild(userPostBtnsContainerDiv); + + // Añadir div user-post-container al elemento main + mainElement.appendChild(userPostContainerDiv); + + flexItemRightDiv.appendChild(mainElement); + + centeredMainDiv.appendChild(flexItemLeftDiv); + centeredMainDiv.appendChild(flexItemRightDiv); + + divFeedPrincipal.appendChild(headerFeed); + divFeedPrincipal.appendChild(centeredMainDiv); + + return divFeedPrincipal; +}; diff --git a/src/feed.html.html b/src/feed.html.html index 7d4c558..ab29606 100644 --- a/src/feed.html.html +++ b/src/feed.html.html @@ -83,6 +83,21 @@

Noticias

+
+
+ +
+

Amanda Osorio

+

Estaran organizando clases de Francés gratuitas: Nivel A1-A2 Martes y + Viernes de 19:00 - 21:00 - 01/Set en las instalaciones de Miami-Dade College para las que reciden en + Miami!

+
+
+
+ message-icon-for-comment + heart-icon-for-likes +
+
diff --git a/src/feedstyle.css b/src/feedstyle.css index df34711..03ae303 100644 --- a/src/feedstyle.css +++ b/src/feedstyle.css @@ -21,11 +21,12 @@ input { .colorlightblue { background-color: #1BC1E2; } + .colorgray { background-color: #B6B6B6; } -.feed-container{ +.feed-container { display: flex; flex-direction: column; } @@ -52,6 +53,7 @@ header { .icon-hide-menu { border: none; background: none; + cursor: pointer; } .input-search-bar { @@ -74,6 +76,7 @@ header { width: 30px; border-radius: 50%; margin-left: auto; + cursor: pointer; } /*aside*/ @@ -83,9 +86,9 @@ aside { /* main */ main { - grid-area: main; display: flex; justify-content: center; + flex-direction: column; } .user-post-container { @@ -94,6 +97,7 @@ main { padding: 5px 10px; margin-top: 10px; display: grid; + align-self: center; grid-template-columns: 100%; grid-template-rows: 4fr 1fr; width: 85%; @@ -131,6 +135,12 @@ main { border-radius: 7px; outline: none; padding: 8px; + cursor: pointer; + transition: 0.5s; +} + +.btn-insert-photo:hover { + background-color: #EF2684; } .btn-post { @@ -142,9 +152,77 @@ main { color: #FAFAFA; font-weight: 600; margin-left: 5px; + cursor: pointer; + transition: 0.5s; +} + +.btn-post:hover { + background-color: #EF2684; } -footer{ +.user-published-post { + border: 1px solid #B6B6B6; + border-radius: 15px; + margin-top: 20px; + align-self: center; + display: flex; + flex-direction: column; + padding: 16px 16px 0px 16px; + width: 83%; + height: fit-content; +} + +.user-published-post-content { + display: flex; + padding-bottom: 5px; +} + +.conversation-img { + display: flex; + border-radius: 20px; + width: 40px; + height: 40px; + object-fit: cover; +} + +.user-published-post-text-content { + display: flex; + flex-direction: column; + margin-left: 10px; +} + +.user-published-post-title { + margin: 0px 0px 0px 0px; + font-weight: 600; +} + +.user-published-post-text { + font-size: 13px; + text-justify: distribute-all-lines; + hyphens: auto; + margin: 0px; + padding-top: 5px; + padding-bottom: 2px; +} + +.user-published-post-actions { + display: flex; + padding-bottom: 5px; +} + +.heart-icon { + width: 20px; + margin-left: 10px; + cursor: pointer; +} + +.messages-icon { + width: 20px; + margin-left: auto; + cursor: pointer; +} + +footer { padding: 40px 0px; display: flex; flex-direction: column; @@ -155,18 +233,19 @@ footer{ width: 100%; } -.footer-first-row{ +.footer-first-row { display: flex; justify-content: center; } -.footer-second-row{ +.footer-second-row { display: flex; justify-content: center; margin-top: 20px; } -.footer-first-row p, .footer-second-row p{ +.footer-first-row p, +.footer-second-row p { justify-content: center; margin: auto 2%; display: inline-flex; @@ -174,10 +253,12 @@ footer{ color: #FAFAFA; } + @media (min-width: 500px) { .centered-main { margin-bottom: 90px; } + .logo { display: none; height: 24px; @@ -202,295 +283,325 @@ footer{ height: 28px; font-size: 14px; } -} - -@media (min-width: 700px) { - - .centered-main { - justify-content: center; - display: flex; - align-content: center; - margin-top: 20px; - } - - .flex-item-left { - height: auto; - margin-right: 20px; - } - - aside { - color: #252525; - grid-area: aside; - display: flex; - justify-content: center; - width: auto; - } - - .flex-item-right { - flex-direction: column; - justify-content: center; - align-items: center; - width: 60%; - } - - .trending-container { - margin: 0px; - } - - .trendy-title { - margin-top: 0px; - } - - main { - width: 100%; - margin-right: 0px; - padding-right: 0px; - - } - - .user-post-container { - margin: 0px; - display: grid; - width: 100%; - height: 145px; - } - - .user-post { - box-sizing: border-box; - resize: none; - padding: 10px 10px; - border: none; - border-radius: 15px; - height: 110px; - width: 100%; - font-weight: 600; - font-size: 15px; - outline: none; - } - /*header*/ - header { - padding-left: 5%; - padding-right: 5%; - display: flex; - justify-content: space-between; - height: 45px; - } - - .logo-horizontal { - display: block; - width: 100px; - } - - .icon-hide-menu { - display: none; - border: none; - background: none; - } - - .input-search-bar { - margin-left: 3%; - font-size: 14px; - align-self: center; - justify-self: center; - } - - .user-image { - height: 30px; - width: 30px; - border-radius: 50%; - margin-left: 0; - } - - .trending-container { - width: 200px; - margin-left: auto; - } - - h2 { - color: #FAFAFA; - font-size: 14px; - padding: 10px; - border-radius: 10px; - } - - h3 { - font-size: 13px; - margin-bottom: 10px; - margin-top: 0px; - font-weight: 600; - } - - aside div div { - display: grid; - row-gap: 0px; - } - - aside div div a { - color: #1BC1E2; - cursor: pointer; - text-decoration-line: underline; - font-size: 12px; - margin-left: auto; - margin-top: 10px; - } - - /*template trending #*/ - .hashtag-template { - margin: 0px; - color: #FF728D; - font-size: 13px; - } - - /*template trending groups*/ - .group-container { - display: flex; - flex-direction: row; - } - - .group-img { - width: 15px; - height: 15px; - } - - .group-title { - margin: 0px; - font-size: 13px; - margin-left: 3px; - text-overflow: ellipsis; - } - - /*template trending conversations*/ - .conversation-container, - .news-container { - display: flex; - flex-direction: column; - border: 1px solid #B6B6B6; - padding-top: 6px; - padding-left: 6px; - padding-right: 6px; - } - - .conversation-content, - .news-content { - display: flex; - padding-bottom: 5px; - } - - .conversation-img { - display: flex; - border-radius: 20px; - width: 30px; - height: 30px; - object-fit: cover; - } - - .text-container { - display: flex; - flex-direction: column; - margin: 0px; - padding-left: 6px; - padding-bottom: 6px; - } - - .conversation-name { - margin: 2px 0px; - font-size: 13px; - font-weight: bold; - - } - - .conversation-post, - .news-text { - margin: 0px 0px; - font-size: 12px; - } - - .conversation-actions { - border-top: 1px solid #B6B6B6; - padding: 3px 0px; - display: flex; - flex-direction: row; - } - - .heart-icon { - width: 15px; - margin-left: 10px; - cursor: pointer; - } - - .messages-icon { - width: 15px; - margin-left: auto; - cursor: pointer; - } - - /*template noticias*/ - .news-img { - height: 100%; - width: 40%; - object-fit: cover; - margin-left: 2px; - } -} - -@media (min-width: 1000px) { - - .centered-main { - justify-content: center; - display: flex; - align-content: center; - margin-top: 30px; - margin-bottom: 100px; - } - .flex-item-left { - height: auto; - margin-right: 20px; - } - - aside { - width: auto; - } - - .flex-item-right { - flex-direction: column; - justify-content: center; - align-items: center; - width: 60%; - } - - .trending-container { - margin: 0px; - } - - .trendy-title { - margin-top: 0px; - } - - main { - width: 100%; - margin-right: 0px; - padding-right: 0px; - - } - - .user-post-container { - margin: 0px; - display: grid; - width: 100%; - height: 145px; - } - - .user-post { - box-sizing: border-box; - resize: none; - padding: 10px 10px; - border: none; - border-radius: 15px; - height: 110px; - width: 100%; - font-weight: 600; - font-size: 15px; - outline: none; - } -} \ No newline at end of file + @media (min-width: 700px) { + + .centered-main { + justify-content: center; + display: flex; + align-content: center; + margin-top: 20px; + } + + .flex-item-left { + height: auto; + margin-right: 20px; + } + + aside { + color: #252525; + grid-area: aside; + display: flex; + justify-content: center; + width: auto; + } + + .flex-item-right { + flex-direction: column; + justify-content: center; + align-items: center; + width: 60%; + } + + .trending-container { + margin: 0px; + } + + .trendy-title { + margin-top: 0px; + } + + main { + width: 100%; + margin-right: 0px; + padding-right: 0px; + + } + + .user-post-container { + margin: 0px; + display: grid; + width: 100%; + height: 145px; + } + + .user-post { + box-sizing: border-box; + resize: none; + padding: 10px 10px; + border: none; + border-radius: 15px; + height: 110px; + width: 100%; + font-weight: 600; + font-size: 15px; + outline: none; + } + + /* template del post de un usuario en feed*/ + .user-published-post { + padding: 10px 10px; + width: 100%; + margin-top: 10px; + } + + .user-published-post-text-content { + margin-left: 10px; + } + + .user-published-post-actions { + padding-bottom: 0px; + } + + /*header*/ + header { + padding-left: 5%; + padding-right: 5%; + display: flex; + justify-content: space-between; + height: 45px; + } + + .logo-horizontal { + display: block; + width: 100px; + } + + .icon-hide-menu { + display: none; + border: none; + background: none; + } + + .input-search-bar { + margin-left: 3%; + font-size: 14px; + align-self: center; + justify-self: center; + } + + .user-image { + height: 30px; + width: 30px; + border-radius: 50%; + margin-left: 0; + } + + .trending-container { + width: 200px; + margin-left: auto; + } + + h2 { + color: #FAFAFA; + font-size: 14px; + padding: 10px; + border-radius: 10px; + } + + h3 { + font-size: 13px; + margin-bottom: 10px; + margin-top: 0px; + font-weight: 600; + } + + aside div div { + display: grid; + row-gap: 0px; + } + + aside div div a { + color: #1BC1E2; + cursor: pointer; + text-decoration-line: underline; + font-size: 12px; + margin-left: auto; + margin-top: 10px; + } + + /*template trending #*/ + .hashtag-template { + margin: 0px; + color: #FF728D; + font-size: 13px; + } + + /*template trending groups*/ + .group-container { + display: flex; + flex-direction: row; + overflow: hidden; + } + + .group-img { + width: 15px; + height: 15px; + } + + .group-title { + margin: 0px; + font-size: 13px; + margin-left: 3px; + } + + /*template trending conversations*/ + .conversation-container, + .news-container { + display: flex; + flex-direction: column; + border: 1px solid #B6B6B6; + border-radius: 10px; + padding-top: 6px; + padding-left: 6px; + padding-right: 6px; + } + + .conversation-content, + .news-content { + display: flex; + padding-bottom: 5px; + } + + .conversation-img { + display: flex; + border-radius: 20px; + width: 30px; + height: 30px; + object-fit: cover; + } + + .text-container { + display: flex; + flex-direction: column; + margin: 0px; + padding-left: 6px; + padding-bottom: 6px; + } + + .conversation-name { + margin: 2px 0px; + font-size: 13px; + font-weight: bold; + + } + + .conversation-post, + .news-text { + margin: 0px 0px; + font-size: 12px; + hyphens: auto; + } + + .conversation-actions { + border-top: 1px solid #B6B6B6; + padding: 3px 0px; + display: flex; + flex-direction: row; + } + + .heart-icon { + width: 15px; + margin-left: 10px; + cursor: pointer; + } + + .messages-icon { + width: 15px; + margin-left: auto; + cursor: pointer; + } + + /*template noticias*/ + .news-img { + height: 100%; + width: 40%; + object-fit: cover; + margin-left: 2px; + border-radius: 0px 5px 5px 0px; + } + } + + @media (min-width: 1000px) { + + .centered-main { + justify-content: center; + display: flex; + align-content: center; + margin-top: 30px; + margin-bottom: 100px; + } + + .flex-item-left { + height: auto; + margin-right: 20px; + } + + aside { + width: auto; + } + + .flex-item-right { + flex-direction: column; + justify-content: center; + align-items: center; + width: 60%; + } + + .trending-container { + margin: 0px; + } + + .trendy-title { + margin-top: 0px; + } + + main { + width: 100%; + margin-right: 0px; + padding-right: 0px; + + } + + .user-post-container { + margin: 0px; + display: grid; + width: 100%; + height: 145px; + } + + .user-post { + box-sizing: border-box; + resize: none; + padding: 10px 10px; + border: none; + border-radius: 15px; + height: 110px; + width: 100%; + font-weight: 600; + font-size: 15px; + outline: none; + } + } + + @media (min-width: 1125px) { + .flex-item-right { + width: fit-content; + } + + .user-post-container, + .user-published-post { + width: 680px; + } + + } \ No newline at end of file From 58161725e764f384bff55fcd35dd4e00bb6b6d66 Mon Sep 17 00:00:00 2001 From: RoxiFOchoaG <46870050+roxifochoag@users.noreply.github.com> Date: Fri, 30 Jun 2023 16:19:16 -0500 Subject: [PATCH 34/95] Footer en el Feed.js --- src/components/Feed.js | 47 ++++++++++++++++++++++++++++++++++++++++++ 1 file changed, 47 insertions(+) diff --git a/src/components/Feed.js b/src/components/Feed.js index 7f6094b..4997c51 100644 --- a/src/components/Feed.js +++ b/src/components/Feed.js @@ -249,6 +249,39 @@ export const Feed = () => { const btnPost = document.createElement('button'); btnPost.className = 'btn-post colorbackpink'; btnPost.textContent = 'publicar'; + // --------------------------INICIO---Footer + const footerFeed = document.createElement('footer'); + footerFeed.className = 'colorgray'; + // div del footer + const FooterFirstRow = document.createElement('div'); + FooterFirstRow.className = 'footer-first-row'; + // Datos del footer + // Informacion + const Informacion = document.createElement('p'); + Informacion.innertext = 'Información'; + // Ayuda + const Ayuda = document.createElement('p'); + Ayuda.innertext = 'Ayuda'; + // Privacidad + const Privacidad = document.createElement('p'); + Condiciones.innertext = 'Condiciones'; + // Condiciones + const Condiciones = document.createElement('p'); + Condiciones.innertext = 'Condiciones'; + // Privacidad + const Denuncias = document.createElement('p'); + Denuncias.innertext = 'Denuncias'; + // div del footer-second-row + const FooterSecondRow = document.createElement('div'); + FooterSecondRow.className = 'footer-second-row'; + // Español (España) + const Espanhol = document.createElement('p'); + Espanhol.innertext = 'Español (España)'; + // © 2023 LABORATORIA + const Laboratoria = document.createElement('p'); + Laboratoria.innertext = '© 2023 LABORATORIA'; + // ------------------------FIN-----Footer + // Añadir textarea al div user-post-container userPostContainerDiv.appendChild(textareaElement); @@ -271,5 +304,19 @@ export const Feed = () => { divFeedPrincipal.appendChild(headerFeed); divFeedPrincipal.appendChild(centeredMainDiv); + divFeedPrincipal.appendChild(footerFeed); + footerFeed.appendChild(FooterFirstRow); + footerFeed.appendChild(FooterSecondRow); + + FooterFirstRow.appendChild(Informacion); + FooterFirstRow.appendChild(Ayuda); + FooterFirstRow.appendChild(Privacidad); + FooterFirstRow.appendChild(Condiciones); + FooterFirstRow.appendChild(Denuncias); + + FooterSecondRow.appendChild(Espanhol); + FooterSecondRow.appendChild(Laboratoria); + + return divFeedPrincipal; } From 9170e79d4951b04dec5fee956b4aab19c706444f Mon Sep 17 00:00:00 2001 From: RoxiFOchoaG <46870050+roxifochoag@users.noreply.github.com> Date: Fri, 30 Jun 2023 17:22:08 -0500 Subject: [PATCH 35/95] Up-Data data --- src/components/Feed.js | 234 +++++++++++++++++++++-------------------- 1 file changed, 119 insertions(+), 115 deletions(-) diff --git a/src/components/Feed.js b/src/components/Feed.js index 4997c51..5c1deca 100644 --- a/src/components/Feed.js +++ b/src/components/Feed.js @@ -1,51 +1,55 @@ export const Feed = () => { + // ---------------------------HEAD---------------------- + // Titulo del head + const headFeed = document.createElement('head'); + const titleHeadFeed = document.createElement('title'); + titleHeadFeed.innerText = 'WarmiFeed'; + headFeed.appendChild(titleHeadFeed); - //encerrar todo el feed incluyendo header + // Encerrar todo el feed incluyendo header const divFeedPrincipal = document.createElement('div') - // ------------------------------------------------ + // ---------------------------HEADER--------------------- // Inicio del header // declaración de la clase del header const headerFeed = document.createElement('header'); headerFeed.className = 'colorbackpink'; // logo de warmi - const logo = document.createElement('img'); - logo.className = 'logo'; - logo.src = '../img/icon-logo.png'; - logo.alt = 'logo'; + const brand = document.createElement('img'); + brand.className = 'logo'; + brand.src = '../img/icon-logo.png'; + brand.alt = 'logo'; // Logo horizontal - const logohorizontal = document.createElement('img'); - logohorizontal.className = 'logo-horizontal'; - logohorizontal.src = '../img/logo-feed.png'; - logohorizontal.alt = 'logo'; + const brandHorizontal = document.createElement('img'); + brandHorizontal.className = 'logo-horizontal'; + brandHorizontal.src = '../img/logo-feed.png'; + brandHorizontal.alt = 'logo'; // Estructura del boton // Boton - const IconHideMenu = document.createElement('button'); - IconHideMenu.className = 'icon-hide-menu'; + const iconHideMenu = document.createElement('button'); + iconHideMenu.className = 'icon-hide-menu'; - const IconMenuCelphone = document.createElement('img'); - IconMenuCelphone.src = '../img/icon-menu-celphone.svg'; + const iconMenuCelphone = document.createElement('img'); + iconMenuCelphone.src = '../img/icon-menu-celphone.svg'; //Barra de búsqueda - const InputSearchBar = document.createElement('input'); - InputSearchBar.setAttribute("type", "search"); - InputSearchBar.className = 'input-search-bar'; - InputSearchBar.placeholder = 'Buscar'; + const inputSearchBar = document.createElement('input'); + inputSearchBar.setAttribute("type", "search"); + inputSearchBar.className = 'input-search-bar'; + inputSearchBar.placeholder = 'Buscar'; // User image - const UserImage = document.createElement('div'); - UserImage.className = 'user-image colorlightblue' + const userImage = document.createElement('div'); + userImage.className = 'user-image colorlightblue' // Fin del header - headerFeed.appendChild(logo); - headerFeed.appendChild(logohorizontal); - headerFeed.appendChild(IconHideMenu); - IconHideMenu.appendChild(IconMenuCelphone); - headerFeed.appendChild(InputSearchBar); - headerFeed.appendChild(UserImage); - - // ------------------------------------------------ - + headerFeed.appendChild(brand); + headerFeed.appendChild(brandHorizontal); + headerFeed.appendChild(iconHideMenu); + iconHideMenu.appendChild(iconMenuCelphone); + headerFeed.appendChild(inputSearchBar); + headerFeed.appendChild(userImage); + // ---------------------------MAIN--------------------- // Crear div principal const centeredMainDiv = document.createElement('div'); centeredMainDiv.className = 'centered-main'; @@ -73,23 +77,23 @@ export const Feed = () => { trendingContainerDiv.appendChild(trendyTitleDiv); // Crear div para hashtags - const hashtagsDiv = document.createElement('div'); - const hashtagsH3 = document.createElement('h3'); - hashtagsH3.textContent = 'Hashtags'; - const hashtagTemplateP = document.createElement('p'); - hashtagTemplateP.className = 'hashtag-template'; - hashtagTemplateP.textContent = '#mercadillolatino'; - const verTodosHashtagsA = document.createElement('a'); - verTodosHashtagsA.textContent = 'ver todos'; - hashtagsDiv.appendChild(hashtagsH3); - hashtagsDiv.appendChild(hashtagTemplateP); - hashtagsDiv.appendChild(verTodosHashtagsA); - trendingContainerDiv.appendChild(hashtagsDiv); + const hashTagsDiv = document.createElement('div'); + const hashTagsH3 = document.createElement('h3'); + hashTagsH3.textContent = 'Hashtags'; + const hashTagTemplateP = document.createElement('p'); + hashTagTemplateP.className = 'hashtag-template'; + hashTagTemplateP.textContent = '#mercadillolatino'; + const seeAllHashTagsA = document.createElement('a'); + seeAllHashTagsA.textContent = 'ver todos'; + hashTagsDiv.appendChild(hashTagsH3); + hashTagsDiv.appendChild(hashTagTemplateP); + hashTagsDiv.appendChild(seeAllHashTagsA); + trendingContainerDiv.appendChild(hashTagsDiv); // Crear div para grupos - const gruposDiv = document.createElement('div'); - const gruposH3 = document.createElement('h3'); - gruposH3.textContent = 'Grupos'; + const groupsDiv = document.createElement('div'); + const groupsH3 = document.createElement('h3'); + groupsH3.textContent = 'Grupos'; const groupContainerDiv = document.createElement('div'); groupContainerDiv.className = 'group-container'; const groupImg = document.createElement('img'); @@ -99,18 +103,18 @@ export const Feed = () => { groupTitleP.textContent = 'ingles basico para principiantes'; groupContainerDiv.appendChild(groupImg); groupContainerDiv.appendChild(groupTitleP); - const verTodosGruposA = document.createElement('a'); - verTodosGruposA.textContent = 'ver todos'; - gruposDiv.appendChild(gruposH3); - gruposDiv.appendChild(groupContainerDiv); - gruposDiv.appendChild(verTodosGruposA); - trendingContainerDiv.appendChild(gruposDiv); + const seeAllGroupsA = document.createElement('a'); + seeAllGroupsA.textContent = 'ver todos'; + groupsDiv.appendChild(groupsH3); + groupsDiv.appendChild(groupContainerDiv); + groupsDiv.appendChild(seeAllGroupsA); + trendingContainerDiv.appendChild(groupsDiv); // Crear div para conversaciones - const conversacionesDiv = document.createElement('div'); + const conversationsDiv = document.createElement('div'); - const conversacionesH3 = document.createElement('h3'); - conversacionesH3.textContent = 'Conversaciones'; + const conversationsH3 = document.createElement('h3'); + conversationsH3.textContent = 'Conversaciones'; const conversationContainerDiv = document.createElement('div'); conversationContainerDiv.className = 'conversation-container'; @@ -155,11 +159,11 @@ export const Feed = () => { conversationContainerDiv.appendChild(conversationActions); - conversacionesDiv.appendChild(conversacionesH3); - conversacionesDiv.appendChild(conversationContainerDiv); - conversacionesDiv.appendChild(verTodosConversationsA) + conversationsDiv.appendChild(conversationsH3); + conversationsDiv.appendChild(conversationContainerDiv); + conversationsDiv.appendChild(verTodosConversationsA) - trendingContainerDiv.appendChild(conversacionesDiv); + trendingContainerDiv.appendChild(conversationsDiv); // ----------------news------------------------------- @@ -167,50 +171,50 @@ export const Feed = () => { const news = document.createElement('h3'); news.textContent = 'Noticias'; - const NewsContainer = document.createElement('div'); - NewsContainer.className = 'news-container'; + const newsContainer = document.createElement('div'); + newsContainer.className = 'news-container'; - const NewsContent = document.createElement('div') - NewsContent.className = 'news-content'; + const newsContent = document.createElement('div') + newsContent.className = 'news-content'; - const NewsText = document.createElement('p'); - NewsText.className = 'news-text'; - NewsText.innerText = 'LABORATORIA expande sus puertas a Asuncion, Ciudad de Panama, La Paz, Montevideo y San Jose!'; + const newsText = document.createElement('p'); + newsText.className = 'news-text'; + newsText.innerText = 'LABORATORIA expande sus puertas a Asuncion, Ciudad de Panama, La Paz, Montevideo y San Jose!'; - const NewsImg = document.createElement('img'); - NewsImg.className = 'news-img'; - NewsImg.src = '../img/ED6FEYGGQNFGDM36CZVBK3WALE.webp'; - NewsImg.alt = 'message-icon-for-comment'; + const newsImg = document.createElement('img'); + newsImg.className = 'news-img'; + newsImg.src = '../img/ED6FEYGGQNFGDM36CZVBK3WALE.webp'; + newsImg.alt = 'message-icon-for-comment'; - const ConversationActions = document.createElement('div'); - ConversationActions.className = 'conversation-actions'; + const conversationsActions = document.createElement('div'); + conversationsActions.className = 'conversation-actions'; - const MessagesIcon = document.createElement('i'); - MessagesIcon.className = 'messages-icon'; - MessagesIcon.src = '../img/chat-svgrepo-com.svg'; - MessagesIcon.alt = 'heart-icon-for-likes'; + const messagesIcon = document.createElement('i'); + messagesIcon.className = 'messages-icon'; + messagesIcon.src = '../img/chat-svgrepo-com.svg'; + messagesIcon.alt = 'heart-icon-for-likes'; - const HeartIcon = document.createElement('i'); - HeartIcon.className = 'heart-icon'; - HeartIcon.src = '../img/heart-svgrepo-com.svg'; - HeartIcon.alt = 'heart-icon-for-likes'; + const heartIcon = document.createElement('i'); + heartIcon.className = 'heart-icon'; + heartIcon.src = '../img/heart-svgrepo-com.svg'; + heartIcon.alt = 'heart-icon-for-likes'; - const VertodosNews = document.createElement('a'); - VertodosNews.innertext = 'ver todos'; + const seeAllNews = document.createElement('a'); + seeAllNews.innertext = 'ver todos'; - NewsContent.appendChild(NewsText); - NewsContent.appendChild(NewsImg); + newsContent.appendChild(newsText); + newsContent.appendChild(newsImg); - conversationActions.appendChild(MessagesIcon); - conversationActions.appendChild(HeartIcon); + conversationsActions.appendChild(messagesIcon); + conversationsActions.appendChild(heartIcon); - NewsContainer.appendChild(NewsContent); - NewsContainer.appendChild(conversationActions) + newsContainer.appendChild(newsContent); + newsContainer.appendChild(conversationsActions) newsDiv.appendChild(news); - newsDiv.appendChild(NewsContainer) - newsDiv.appendChild(VertodosNews); + newsDiv.appendChild(newsContainer) + newsDiv.appendChild(seeAllNews); trendingContainerDiv.appendChild(newsDiv); @@ -253,33 +257,33 @@ export const Feed = () => { const footerFeed = document.createElement('footer'); footerFeed.className = 'colorgray'; // div del footer - const FooterFirstRow = document.createElement('div'); - FooterFirstRow.className = 'footer-first-row'; + const footerFirstRow = document.createElement('div'); + footerFirstRow.className = 'footer-first-row'; // Datos del footer // Informacion - const Informacion = document.createElement('p'); - Informacion.innertext = 'Información'; + const information = document.createElement('p'); + information.innertext = 'Información'; // Ayuda - const Ayuda = document.createElement('p'); - Ayuda.innertext = 'Ayuda'; + const help = document.createElement('p'); + help.innertext = 'Ayuda'; // Privacidad - const Privacidad = document.createElement('p'); - Condiciones.innertext = 'Condiciones'; + const privacy = document.createElement('p'); + privacy.innertext = 'Condiciones'; // Condiciones - const Condiciones = document.createElement('p'); - Condiciones.innertext = 'Condiciones'; + const conditions = document.createElement('p'); + conditions.innertext = 'Condiciones'; // Privacidad - const Denuncias = document.createElement('p'); - Denuncias.innertext = 'Denuncias'; + const complaint = document.createElement('p'); + complaint.innertext = 'Denuncias'; // div del footer-second-row - const FooterSecondRow = document.createElement('div'); - FooterSecondRow.className = 'footer-second-row'; + const footerSecondRow = document.createElement('div'); + footerSecondRow.className = 'footer-second-row'; // Español (España) - const Espanhol = document.createElement('p'); - Espanhol.innertext = 'Español (España)'; + const spanish = document.createElement('p'); + spanish.innertext = 'Español (España)'; // © 2023 LABORATORIA - const Laboratoria = document.createElement('p'); - Laboratoria.innertext = '© 2023 LABORATORIA'; + const laboratoria = document.createElement('p'); + laboratoria.innertext = '© 2023 LABORATORIA'; // ------------------------FIN-----Footer @@ -305,17 +309,17 @@ export const Feed = () => { divFeedPrincipal.appendChild(centeredMainDiv); divFeedPrincipal.appendChild(footerFeed); - footerFeed.appendChild(FooterFirstRow); - footerFeed.appendChild(FooterSecondRow); + footerFeed.appendChild(footerFirstRow); + footerFeed.appendChild(footerSecondRow); - FooterFirstRow.appendChild(Informacion); - FooterFirstRow.appendChild(Ayuda); - FooterFirstRow.appendChild(Privacidad); - FooterFirstRow.appendChild(Condiciones); - FooterFirstRow.appendChild(Denuncias); + footerFirstRow.appendChild(information); + footerFirstRow.appendChild(help); + footerFirstRow.appendChild(privacy); + footerFirstRow.appendChild(conditions); + footerFirstRow.appendChild(complaint); - FooterSecondRow.appendChild(Espanhol); - FooterSecondRow.appendChild(Laboratoria); + footerSecondRow.appendChild(spanish); + footerSecondRow.appendChild(laboratoria); return divFeedPrincipal; From a500869f80209db2503b0b5e77608b8c719df826 Mon Sep 17 00:00:00 2001 From: Erika Nagaki Date: Mon, 3 Jul 2023 10:16:38 -0500 Subject: [PATCH 36/95] rutaje de login a feed --- src/components/Login.js | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/src/components/Login.js b/src/components/Login.js index b2dd904..bd6750f 100644 --- a/src/components/Login.js +++ b/src/components/Login.js @@ -170,7 +170,7 @@ export const Login = () => { console.log('miuser', formSignIn.elements); const user = { - email: formSignIn.elements.Usermail.value, + email: formSignIn.elements.Mail.value, password: formSignIn.elements.Password.value, }; console.log('Llamada'); @@ -179,6 +179,7 @@ export const Login = () => { signInGoogle(); // caso exito y caso erro! redireccion a pantalla feed(timeline) + window.location.assign('/feed'); }); googleLink.addEventListener('click', (e) => { From 6f987b0dc5309396dd02fdd05ee909240952296c Mon Sep 17 00:00:00 2001 From: RoxiFOchoaG <46870050+roxifochoag@users.noreply.github.com> Date: Mon, 3 Jul 2023 11:19:41 -0500 Subject: [PATCH 37/95] Deleting empty spaces --- package.json | 9 +- src/components/Feed.js | 640 ++++++++++++++++++++--------------------- src/feed.html.html | 1 + src/firebase/config.js | 14 + 4 files changed, 335 insertions(+), 329 deletions(-) diff --git a/package.json b/package.json index feda6c2..4cc83da 100644 --- a/package.json +++ b/package.json @@ -25,14 +25,14 @@ "devDependencies": { "@babel/preset-env": "^7.19.4", "eslint": "^8.3.0", - "eslint-config-airbnb-base": "^15.0.0", + "eslint-config-airbnb-base": "^14.2.1", "eslint-plugin-import": "^2.18.2", "eslint-plugin-jest": "^25.3.0", "htmlhint": "^1.0.0", - "jest": "^27.0.1", + "jest": "^23.6.0", "regenerator-runtime": "^0.13.1", - "stylelint": "^14.1.0", - "stylelint-config-recommended": "^6.0.0", + "stylelint": "^15.9.0", + "stylelint-config-recommended": "^12.0.0", "vite": "^3.1.0" }, "engines": { @@ -52,6 +52,7 @@ }, "author": "Roxi-Erika-Tatiana", "dependencies": { + "@firebase/util": "^1.9.3", "firebase": "^9.23.0" } } diff --git a/src/components/Feed.js b/src/components/Feed.js index 5c1deca..102bdf0 100644 --- a/src/components/Feed.js +++ b/src/components/Feed.js @@ -1,326 +1,316 @@ export const Feed = () => { - // ---------------------------HEAD---------------------- - // Titulo del head - const headFeed = document.createElement('head'); - const titleHeadFeed = document.createElement('title'); - titleHeadFeed.innerText = 'WarmiFeed'; - - headFeed.appendChild(titleHeadFeed); - - // Encerrar todo el feed incluyendo header - const divFeedPrincipal = document.createElement('div') - - // ---------------------------HEADER--------------------- - // Inicio del header - // declaración de la clase del header - const headerFeed = document.createElement('header'); - headerFeed.className = 'colorbackpink'; - // logo de warmi - const brand = document.createElement('img'); - brand.className = 'logo'; - brand.src = '../img/icon-logo.png'; - brand.alt = 'logo'; - // Logo horizontal - const brandHorizontal = document.createElement('img'); - brandHorizontal.className = 'logo-horizontal'; - brandHorizontal.src = '../img/logo-feed.png'; - brandHorizontal.alt = 'logo'; - // Estructura del boton - // Boton - const iconHideMenu = document.createElement('button'); - iconHideMenu.className = 'icon-hide-menu'; - - const iconMenuCelphone = document.createElement('img'); - iconMenuCelphone.src = '../img/icon-menu-celphone.svg'; - //Barra de búsqueda - const inputSearchBar = document.createElement('input'); - inputSearchBar.setAttribute("type", "search"); - inputSearchBar.className = 'input-search-bar'; - inputSearchBar.placeholder = 'Buscar'; - // User image - const userImage = document.createElement('div'); - userImage.className = 'user-image colorlightblue' - // Fin del header - - headerFeed.appendChild(brand); - headerFeed.appendChild(brandHorizontal); - headerFeed.appendChild(iconHideMenu); - iconHideMenu.appendChild(iconMenuCelphone); - headerFeed.appendChild(inputSearchBar); - headerFeed.appendChild(userImage); - - // ---------------------------MAIN--------------------- - // Crear div principal - const centeredMainDiv = document.createElement('div'); - centeredMainDiv.className = 'centered-main'; - - // Crear div flex-item-left - const flexItemLeftDiv = document.createElement('div'); - flexItemLeftDiv.className = 'flex-item-left'; - - const flexItemRightDiv = document.createElement('div'); - flexItemRightDiv.className = 'flex-item-right'; - - // Crear aside - const asideElement = document.createElement('aside'); - - // Crear div trending-container - const trendingContainerDiv = document.createElement('div'); - trendingContainerDiv.className = 'trending-container'; - - // Crear div para el título de las tendencias - const trendyTitleDiv = document.createElement('div'); - const trendyTitleH2 = document.createElement('h2'); - trendyTitleH2.className = 'trendy-title colorbackpink'; - trendyTitleH2.textContent = 'Tendencias'; - trendyTitleDiv.appendChild(trendyTitleH2); - trendingContainerDiv.appendChild(trendyTitleDiv); - - // Crear div para hashtags - const hashTagsDiv = document.createElement('div'); - const hashTagsH3 = document.createElement('h3'); - hashTagsH3.textContent = 'Hashtags'; - const hashTagTemplateP = document.createElement('p'); - hashTagTemplateP.className = 'hashtag-template'; - hashTagTemplateP.textContent = '#mercadillolatino'; - const seeAllHashTagsA = document.createElement('a'); - seeAllHashTagsA.textContent = 'ver todos'; - hashTagsDiv.appendChild(hashTagsH3); - hashTagsDiv.appendChild(hashTagTemplateP); - hashTagsDiv.appendChild(seeAllHashTagsA); - trendingContainerDiv.appendChild(hashTagsDiv); - - // Crear div para grupos - const groupsDiv = document.createElement('div'); - const groupsH3 = document.createElement('h3'); - groupsH3.textContent = 'Grupos'; - const groupContainerDiv = document.createElement('div'); - groupContainerDiv.className = 'group-container'; - const groupImg = document.createElement('img'); - groupImg.className = 'group-img colorlightblue'; - const groupTitleP = document.createElement('p'); - groupTitleP.className = 'group-title'; - groupTitleP.textContent = 'ingles basico para principiantes'; - groupContainerDiv.appendChild(groupImg); - groupContainerDiv.appendChild(groupTitleP); - const seeAllGroupsA = document.createElement('a'); - seeAllGroupsA.textContent = 'ver todos'; - groupsDiv.appendChild(groupsH3); - groupsDiv.appendChild(groupContainerDiv); - groupsDiv.appendChild(seeAllGroupsA); - trendingContainerDiv.appendChild(groupsDiv); - - // Crear div para conversaciones - const conversationsDiv = document.createElement('div'); - - const conversationsH3 = document.createElement('h3'); - conversationsH3.textContent = 'Conversaciones'; - - const conversationContainerDiv = document.createElement('div'); - conversationContainerDiv.className = 'conversation-container'; - - const conversationContentDiv = document.createElement('div'); - conversationContentDiv.className = 'conversation-content'; - const conversationImg = document.createElement('img'); - conversationImg.className = 'conversation-img colorlightblue'; - conversationImg.src = '../img/istockphoto-1323400501-612x612.jpg'; - const textContainerDiv = document.createElement('div'); - textContainerDiv.className = 'text-container'; - const conversationNameP = document.createElement('p'); - conversationNameP.className = 'conversation-name'; - conversationNameP.textContent = 'Jennifer Heredia'; - const conversationPostP = document.createElement('p'); - conversationPostP.className = 'conversation-post'; - conversationPostP.textContent = 'Algun consejo para las que queremos irnos de viaje a Grecia?'; - - const conversationActions = document.createElement('div'); - conversationActions.className = 'conversations-actions'; - const conversationImg1 = document.createElement('img'); - conversationImg1.className = 'messages-icon1'; - conversationImg1.src = '../img/chat-svgrepo-com.svg'; - conversationImg1.alt = "message-icon-for-comment" - const conversationImg2 = document.createElement('img'); - conversationImg2.className = 'messages-icon2'; - conversationImg2.src = '../img/heart-svgrepo-com.svg'; - conversationImg2.alt = 'heart-icon-for-likes'; - - const verTodosConversationsA = document.createElement('a'); - verTodosConversationsA.innertext = 'ver todos'; - - textContainerDiv.appendChild(conversationNameP); - textContainerDiv.appendChild(conversationPostP); - conversationContentDiv.appendChild(conversationImg); - conversationContentDiv.appendChild(textContainerDiv); - - conversationContainerDiv.appendChild(conversationContentDiv); - - conversationActions.appendChild(conversationImg1); - conversationActions.appendChild(conversationImg2); - - conversationContainerDiv.appendChild(conversationActions); - - conversationsDiv.appendChild(conversationsH3); - conversationsDiv.appendChild(conversationContainerDiv); - conversationsDiv.appendChild(verTodosConversationsA) - - trendingContainerDiv.appendChild(conversationsDiv); - - // ----------------news------------------------------- - - const newsDiv = document.createElement('div'); - const news = document.createElement('h3'); - news.textContent = 'Noticias'; - - const newsContainer = document.createElement('div'); - newsContainer.className = 'news-container'; - - const newsContent = document.createElement('div') - newsContent.className = 'news-content'; - - const newsText = document.createElement('p'); - newsText.className = 'news-text'; - newsText.innerText = 'LABORATORIA expande sus puertas a Asuncion, Ciudad de Panama, La Paz, Montevideo y San Jose!'; - - const newsImg = document.createElement('img'); - newsImg.className = 'news-img'; - newsImg.src = '../img/ED6FEYGGQNFGDM36CZVBK3WALE.webp'; - newsImg.alt = 'message-icon-for-comment'; - - const conversationsActions = document.createElement('div'); - conversationsActions.className = 'conversation-actions'; - - const messagesIcon = document.createElement('i'); - messagesIcon.className = 'messages-icon'; - messagesIcon.src = '../img/chat-svgrepo-com.svg'; - messagesIcon.alt = 'heart-icon-for-likes'; - - const heartIcon = document.createElement('i'); - heartIcon.className = 'heart-icon'; - heartIcon.src = '../img/heart-svgrepo-com.svg'; - heartIcon.alt = 'heart-icon-for-likes'; - - const seeAllNews = document.createElement('a'); - seeAllNews.innertext = 'ver todos'; - - - newsContent.appendChild(newsText); - newsContent.appendChild(newsImg); - - conversationsActions.appendChild(messagesIcon); - conversationsActions.appendChild(heartIcon); - - newsContainer.appendChild(newsContent); - newsContainer.appendChild(conversationsActions) - - newsDiv.appendChild(news); - newsDiv.appendChild(newsContainer) - newsDiv.appendChild(seeAllNews); - - trendingContainerDiv.appendChild(newsDiv); - - asideElement.appendChild(trendingContainerDiv); - - flexItemLeftDiv.appendChild(asideElement); - - ////main de user post container que va en el flex-item-right - - const mainElement = document.createElement('main'); - - // Crear div user-post-container - const userPostContainerDiv = document.createElement('div'); - userPostContainerDiv.className = 'user-post-container'; - - // Crear textarea - const textareaElement = document.createElement('textarea'); - textareaElement.setAttribute("type", "input"); - textareaElement.className = 'user-post colorwhite'; - textareaElement.placeholder = 'Crea un post'; - - // Crear div user-post-btns-container - const userPostBtnsContainerDiv = document.createElement('div'); - userPostBtnsContainerDiv.className = 'user-post-btns-container'; - - // Crear botón para insertar foto - const btnInsertPhoto = document.createElement('button'); - btnInsertPhoto.className = 'btn-insert-photo colorlightblue'; - const photoIconImg = document.createElement('img'); - photoIconImg.className = 'photo-icon'; - photoIconImg.src = '../img/camara-icon.svg'; - photoIconImg.alt = 'camera-icon'; - btnInsertPhoto.appendChild(photoIconImg); - - // Crear botón para publicar - const btnPost = document.createElement('button'); - btnPost.className = 'btn-post colorbackpink'; - btnPost.textContent = 'publicar'; - // --------------------------INICIO---Footer - const footerFeed = document.createElement('footer'); - footerFeed.className = 'colorgray'; - // div del footer - const footerFirstRow = document.createElement('div'); - footerFirstRow.className = 'footer-first-row'; - // Datos del footer - // Informacion - const information = document.createElement('p'); - information.innertext = 'Información'; - // Ayuda - const help = document.createElement('p'); - help.innertext = 'Ayuda'; - // Privacidad - const privacy = document.createElement('p'); - privacy.innertext = 'Condiciones'; - // Condiciones - const conditions = document.createElement('p'); - conditions.innertext = 'Condiciones'; - // Privacidad - const complaint = document.createElement('p'); - complaint.innertext = 'Denuncias'; - // div del footer-second-row - const footerSecondRow = document.createElement('div'); - footerSecondRow.className = 'footer-second-row'; - // Español (España) - const spanish = document.createElement('p'); - spanish.innertext = 'Español (España)'; - // © 2023 LABORATORIA - const laboratoria = document.createElement('p'); - laboratoria.innertext = '© 2023 LABORATORIA'; - // ------------------------FIN-----Footer - - - // Añadir textarea al div user-post-container - userPostContainerDiv.appendChild(textareaElement); - - // Añadir botones al div user-post-btns-container - userPostBtnsContainerDiv.appendChild(btnInsertPhoto); - userPostBtnsContainerDiv.appendChild(btnPost); - - // Añadir div user-post-btns-container al div user-post-container - userPostContainerDiv.appendChild(userPostBtnsContainerDiv); - - // Añadir div user-post-container al elemento main - mainElement.appendChild(userPostContainerDiv); - - flexItemRightDiv.appendChild(mainElement); - - centeredMainDiv.appendChild(flexItemLeftDiv); - centeredMainDiv.appendChild(flexItemRightDiv); - - divFeedPrincipal.appendChild(headerFeed); - divFeedPrincipal.appendChild(centeredMainDiv); - - divFeedPrincipal.appendChild(footerFeed); - footerFeed.appendChild(footerFirstRow); - footerFeed.appendChild(footerSecondRow); - - footerFirstRow.appendChild(information); - footerFirstRow.appendChild(help); - footerFirstRow.appendChild(privacy); - footerFirstRow.appendChild(conditions); - footerFirstRow.appendChild(complaint); - - footerSecondRow.appendChild(spanish); - footerSecondRow.appendChild(laboratoria); - - - return divFeedPrincipal; -} + // ---------------------------HEAD---------------------- + // Titulo del head + const headFeed = document.createElement('head'); + const titleHeadFeed = document.createElement('title'); + titleHeadFeed.innerText = 'WarmiFeed'; + + headFeed.appendChild(titleHeadFeed); + + // Encerrar todo el feed incluyendo header + const divFeedPrincipal = document.createElement('div') + + // ---------------------------HEADER--------------------- + // Inicio del header + // declaración de la clase del header + const headerFeed = document.createElement('header'); + headerFeed.className = 'colorbackpink'; + // logo de warmi + const brand = document.createElement('img'); + brand.className = 'logo'; + brand.src = '../img/icon-logo.png'; + brand.alt = 'logo'; + // Logo horizontal + const brandHorizontal = document.createElement('img'); + brandHorizontal.className = 'logo-horizontal'; + brandHorizontal.src = '../img/logo-feed.png'; + brandHorizontal.alt = 'logo'; + // Estructura del boton + // Boton + const iconHideMenu = document.createElement('button'); + iconHideMenu.className = 'icon-hide-menu'; + + const iconMenuCelphone = document.createElement('i'); + iconMenuCelphone.src = '../img/icon-menu-celphone.svg'; + // Barra de búsqueda + const inputSearchBar = document.createElement('input'); + inputSearchBar.setAttribute('type', 'search'); + inputSearchBar.className = 'input-search-bar'; + inputSearchBar.placeholder = 'Buscar'; + // User image + const userImage = document.createElement('div'); + userImage.className = 'user-image colorlightblue'; + // Fin del header + + headerFeed.appendChild(brand); + headerFeed.appendChild(brandHorizontal); + headerFeed.appendChild(iconHideMenu); + iconHideMenu.appendChild(iconMenuCelphone); + headerFeed.appendChild(inputSearchBar); + headerFeed.appendChild(userImage); + + // ---------------------------MAIN--------------------- + // Crear div principal + const centeredMainDiv = document.createElement('div'); + centeredMainDiv.className = 'centered-main'; + + // Crear div flex-item-left + const flexItemLeftDiv = document.createElement('div'); + flexItemLeftDiv.className = 'flex-item-left'; + + const flexItemRightDiv = document.createElement('div'); + flexItemRightDiv.className = 'flex-item-right'; + + // Crear aside + const asideElement = document.createElement('aside'); + + // Crear div trending-container + const trendingContainerDiv = document.createElement('div'); + trendingContainerDiv.className = 'trending-container'; + + // Crear div para el título de las tendencias + const trendyTitleDiv = document.createElement('div'); + const trendyTitleH2 = document.createElement('h2'); + trendyTitleH2.className = 'trendy-title colorbackpink'; + trendyTitleH2.textContent = 'Tendencias'; + trendyTitleDiv.appendChild(trendyTitleH2); + trendingContainerDiv.appendChild(trendyTitleDiv); + + // Crear div para hashtags + const hashTagsDiv = document.createElement('div'); + const hashTagsH3 = document.createElement('h3'); + hashTagsH3.textContent = 'Hashtags'; + const hashTagTemplateP = document.createElement('p'); + hashTagTemplateP.className = 'hashtag-template'; + const seeAllHashTagsA = document.createElement('a'); + seeAllHashTagsA.textContent = 'ver todos'; + hashTagsDiv.appendChild(hashTagsH3); + hashTagsDiv.appendChild(hashTagTemplateP); + hashTagsDiv.appendChild(seeAllHashTagsA); + trendingContainerDiv.appendChild(hashTagsDiv); + hashTagTemplateP.textContent = '#mercadillolatino'; + // Crear div para grupos + const groupsDiv = document.createElement('div'); + const groupsH3 = document.createElement('h3'); + groupsH3.textContent = 'Grupos'; + const groupContainerDiv = document.createElement('div'); + groupContainerDiv.className = 'group-container'; + const groupImg = document.createElement('img'); + groupImg.className = 'group-img colorlightblue'; + const groupTitleP = document.createElement('p'); + groupTitleP.className = 'group-title'; + groupTitleP.textContent = 'ingles basico para principiantes'; + groupContainerDiv.appendChild(groupImg); + groupContainerDiv.appendChild(groupTitleP); + const seeAllGroupsA = document.createElement('a'); + seeAllGroupsA.textContent = 'ver todos'; + groupsDiv.appendChild(groupsH3); + groupsDiv.appendChild(groupContainerDiv); + groupsDiv.appendChild(seeAllGroupsA); + trendingContainerDiv.appendChild(groupsDiv); + + // Crear div para conversaciones + const conversationsDiv = document.createElement('div'); + const conversationsH3 = document.createElement('h3'); + conversationsH3.textContent = 'Conversaciones'; + + const conversationContainerDiv = document.createElement('div'); + conversationContainerDiv.className = 'conversation-container'; + + const conversationContentDiv = document.createElement('div'); + conversationContentDiv.className = 'conversation-content'; + const conversationImg = document.createElement('img'); + conversationImg.className = 'conversation-img colorlightblue'; + conversationImg.src = '../img/istockphoto-1323400501-612x612.jpg'; + const textContainerDiv = document.createElement('div'); + textContainerDiv.className = 'text-container'; + const conversationNameP = document.createElement('p'); + conversationNameP.className = 'conversation-name'; + conversationNameP.textContent = 'Jennifer Heredia'; + const conversationPostP = document.createElement('p'); + conversationPostP.className = 'conversation-post'; + conversationPostP.textContent = 'Algun consejo para las que queremos irnos de viaje a Grecia?'; + + const conversationActions = document.createElement('div'); + conversationActions.className = 'conversations-actions'; + const conversationImg1 = document.createElement('img'); + conversationImg1.className = 'messages-icon1'; + conversationImg1.src = '../img/chat-svgrepo-com.svg'; + conversationImg1.alt = 'message-icon-for-comment'; + const conversationImg2 = document.createElement('img'); + conversationImg2.className = 'messages-icon2'; + conversationImg2.src = '../img/heart-svgrepo-com.svg'; + conversationImg2.alt = 'heart-icon-for-likes'; + + const verTodosConversationsA = document.createElement('a'); + verTodosConversationsA.innertext = 'ver todos'; + textContainerDiv.appendChild(conversationNameP); + textContainerDiv.appendChild(conversationPostP); + conversationContentDiv.appendChild(conversationImg); + conversationContentDiv.appendChild(textContainerDiv); + + conversationContainerDiv.appendChild(conversationContentDiv); + + conversationActions.appendChild(conversationImg1); + conversationActions.appendChild(conversationImg2); + + conversationContainerDiv.appendChild(conversationActions); + + conversationsDiv.appendChild(conversationsH3); + conversationsDiv.appendChild(conversationContainerDiv); + conversationsDiv.appendChild(verTodosConversationsA); + + trendingContainerDiv.appendChild(conversationsDiv); + + // ----------------news------------------------------- + const newsDiv = document.createElement('div'); + const news = document.createElement('h3'); + news.textContent = 'Noticias'; + + const newsContainer = document.createElement('div'); + newsContainer.className = 'news-container'; + + const newsContent = document.createElement('div'); + newsContent.className = 'news-content'; + + const newsText = document.createElement('p'); + newsText.className = 'news-text'; + newsText.innerText = 'LABORATORIA expande sus puertas a Asuncion, Ciudad de Panama, La Paz, Montevideo y San Jose!'; + + const newsImg = document.createElement('img'); + newsImg.className = 'news-img'; + newsImg.src = '../img/ED6FEYGGQNFGDM36CZVBK3WALE.webp'; + newsImg.alt = 'message-icon-for-comment'; + + const conversationsActions = document.createElement('div'); + conversationsActions.className = 'conversation-actions'; + + const messagesIcon = document.createElement('i'); + messagesIcon.className = 'messages-icon'; + messagesIcon.src = '../img/chat-svgrepo-com.svg'; + messagesIcon.alt = 'heart-icon-for-likes'; + + const heartIcon = document.createElement('i'); + heartIcon.className = 'heart-icon'; + heartIcon.src = '../img/heart-svgrepo-com.svg'; + heartIcon.alt = 'heart-icon-for-likes'; + + const seeAllNews = document.createElement('a'); + seeAllNews.innertext = 'ver todos'; + newsContent.appendChild(newsText); + newsContent.appendChild(newsImg); + + conversationsActions.appendChild(messagesIcon); + conversationsActions.appendChild(heartIcon); + + newsContainer.appendChild(newsContent); + newsContainer.appendChild(conversationsActions); + + newsDiv.appendChild(news); + newsDiv.appendChild(newsContainer); + newsDiv.appendChild(seeAllNews); + + trendingContainerDiv.appendChild(newsDiv); + + asideElement.appendChild(trendingContainerDiv); + + flexItemLeftDiv.appendChild(asideElement); + + // main de user post container que va en el flex-item-right + const mainElement = document.createElement('main'); + + // Crear div user-post-container + const userPostContainerDiv = document.createElement('div'); + userPostContainerDiv.className = 'user-post-container'; + + // Crear textarea + const textareaElement = document.createElement('textarea'); + textareaElement.setAttribute("type", "input"); + textareaElement.className = 'user-post colorwhite'; + textareaElement.placeholder = 'Crea un post'; + + // Crear div user-post-btns-container + const userPostBtnsContainerDiv = document.createElement('div'); + userPostBtnsContainerDiv.className = 'user-post-btns-container'; + + // Crear botón para insertar foto + const btnInsertPhoto = document.createElement('button'); + btnInsertPhoto.className = 'btn-insert-photo colorlightblue'; + const photoIconImg = document.createElement('img'); + photoIconImg.className = 'photo-icon'; + photoIconImg.src = '../img/camara-icon.svg'; + photoIconImg.alt = 'camera-icon'; + btnInsertPhoto.appendChild(photoIconImg); + + // Crear botón para publicar + const btnPost = document.createElement('button'); + btnPost.className = 'btn-post colorbackpink'; + btnPost.textContent = 'publicar'; + // --------------------------INICIO---Footer + const footerFeed = document.createElement('footer'); + footerFeed.className = 'colorgray'; + // div del footer + const footerFirstRow = document.createElement('div'); + footerFirstRow.className = 'footer-first-row'; + // Datos del footer + // Informacion + const information = document.createElement('p'); + information.innertext = 'Información'; + // Ayuda + const help = document.createElement('p'); + help.innertext = 'Ayuda'; + // Privacidad + const privacy = document.createElement('p'); + privacy.innertext = 'Condiciones'; + // Condiciones + const conditions = document.createElement('p'); + conditions.innertext = 'Condiciones'; + // Privacidad + const complaint = document.createElement('p'); + complaint.innertext = 'Denuncias'; + // div del footer-second-row + const footerSecondRow = document.createElement('div'); + footerSecondRow.className = 'footer-second-row'; + // Español (España) + const spanish = document.createElement('p'); + spanish.innertext = 'Español (España)'; + // © 2023 LABORATORIA + const laboratoria = document.createElement('p'); + laboratoria.innertext = '© 2023 LABORATORIA'; + // ------------------------FIN-----Footer + + // Añadir textarea al div user-post-container + userPostContainerDiv.appendChild(textareaElement); + + // Añadir botones al div user-post-btns-container + userPostBtnsContainerDiv.appendChild(btnInsertPhoto); + userPostBtnsContainerDiv.appendChild(btnPost); + + // Añadir div user-post-btns-container al div user-post-container + userPostContainerDiv.appendChild(userPostBtnsContainerDiv); + + // Añadir div user-post-container al elemento main + mainElement.appendChild(userPostContainerDiv); + + flexItemRightDiv.appendChild(mainElement); + + centeredMainDiv.appendChild(flexItemLeftDiv); + centeredMainDiv.appendChild(flexItemRightDiv); + + divFeedPrincipal.appendChild(headerFeed); + divFeedPrincipal.appendChild(centeredMainDiv); + + divFeedPrincipal.appendChild(footerFeed); + footerFeed.appendChild(footerFirstRow); + footerFeed.appendChild(footerSecondRow); + + footerFirstRow.appendChild(information); + footerFirstRow.appendChild(help); + footerFirstRow.appendChild(privacy); + footerFirstRow.appendChild(conditions); + footerFirstRow.appendChild(complaint); + + footerSecondRow.appendChild(spanish); + footerSecondRow.appendChild(laboratoria); + return divFeedPrincipal; +}; diff --git a/src/feed.html.html b/src/feed.html.html index ab29606..ac5b336 100644 --- a/src/feed.html.html +++ b/src/feed.html.html @@ -101,6 +101,7 @@

Noticias

+