From 938226015da36b586f83daf927f63e9742ee5276 Mon Sep 17 00:00:00 2001 From: Daniel Cojocea Date: Mon, 12 Aug 2024 13:16:02 -0400 Subject: [PATCH 1/3] Added bluewave icon and initial design --- Client/src/Pages/Auth/ForgotPassword.jsx | 57 ++++++++++++++++++------ Client/src/Pages/Auth/index.css | 8 ---- 2 files changed, 44 insertions(+), 21 deletions(-) diff --git a/Client/src/Pages/Auth/ForgotPassword.jsx b/Client/src/Pages/Auth/ForgotPassword.jsx index 86db72076..fa1f216ed 100644 --- a/Client/src/Pages/Auth/ForgotPassword.jsx +++ b/Client/src/Pages/Auth/ForgotPassword.jsx @@ -1,18 +1,19 @@ -import "./index.css"; -import background from "../../assets/Images/background_pattern_decorative.png"; -import Logomark from "../../assets/icons/key.svg?react"; -import ArrowBackRoundedIcon from "@mui/icons-material/ArrowBackRounded"; +import { Stack, Typography } from "@mui/material"; +import { useTheme } from "@emotion/react"; +import { createToast } from "../../Utils/toastUtils"; +import { useDispatch, useSelector } from "react-redux"; +import { forgotPassword } from "../../Features/Auth/authSlice"; import { useState } from "react"; import { credentials } from "../../Validation/validation"; import { useNavigate } from "react-router-dom"; import Field from "../../Components/Inputs/Field"; -import { createToast } from "../../Utils/toastUtils"; -import { useDispatch, useSelector } from "react-redux"; -import { forgotPassword } from "../../Features/Auth/authSlice"; import ButtonSpinner from "../../Components/ButtonSpinner"; -import { Stack, Typography } from "@mui/material"; -import { useTheme } from "@emotion/react"; import Button from "../../Components/Button"; +import Logo from "../../assets/icons/bwu-icon.svg?react"; +import Key from "../../assets/icons/key.svg?react"; +import ArrowBackRoundedIcon from "@mui/icons-material/ArrowBackRounded"; +import background from "../../assets/Images/background_pattern_decorative.png"; +import "./index.css"; const ForgotPassword = () => { const navigate = useNavigate(); @@ -92,13 +93,43 @@ const ForgotPassword = () => { }; return ( -
+ background pattern -
+ + + BlueWave Uptime + + .MuiStack-root": { + border: 1, + borderRadius: theme.shape.borderRadius, + borderColor: theme.palette.otherColors.graishWhite, + backgroundColor: theme.palette.otherColors.white, + padding: { + xs: theme.gap.large, + sm: theme.gap.xl, + }, + }, + }} + > + {/* @@ -135,8 +166,8 @@ const ForgotPassword = () => { onClick={() => navigate("/login")} /> -
-
+ */} + ); }; diff --git a/Client/src/Pages/Auth/index.css b/Client/src/Pages/Auth/index.css index 577f27799..45efc6ce3 100644 --- a/Client/src/Pages/Auth/index.css +++ b/Client/src/Pages/Auth/index.css @@ -3,7 +3,6 @@ /* ////// */ .set-new-password-page, .password-confirmed-page, -.forgot-password-page, .check-email-page { display: flex; justify-content: center; @@ -11,7 +10,6 @@ } .set-new-password-page h1.MuiTypography-root, .password-confirmed-page h1.MuiTypography-root, -.forgot-password-page h1.MuiTypography-root, .check-email-page h1.MuiTypography-root { font-size: var(--env-var-font-size-large); color: var(--env-var-color-1); @@ -21,8 +19,6 @@ .set-new-password-page button, .password-confirmed-page p.MuiTypography-root, .password-confirmed-page button, -.forgot-password-page p.MuiTypography-root, -.forgot-password-page button, .check-email-page p.MuiTypography-root, .check-email-page button, .check-email-page span.MuiTypography-root { @@ -30,7 +26,6 @@ } .set-new-password-page button:not(.MuiIconButton-root), .password-confirmed-page button:not(.MuiIconButton-root), -.forgot-password-page button:not(.MuiIconButton-root), .check-email-page button:not(.MuiIconButton-root) { height: 34px; border-radius: var(--env-var-radius-2); @@ -39,21 +34,18 @@ .set-new-password-form, .password-confirmed-form, -.forgot-password-form, .check-email-form { margin-top: 65px; width: var(--env-var-width-2); } .set-new-password-page p.MuiTypography-root, .password-confirmed-page p.MuiTypography-root, -.forgot-password-page p.MuiTypography-root, .check-email-page p.MuiTypography-root { color: var(--env-var-color-2); } .set-new-password-page button:not(.MuiIconButton-root) svg, .password-confirmed-page button:not(.MuiIconButton-root) svg, -.forgot-password-page button svg, .check-email-page button svg { margin-right: 5px; } From 12992c8ae168e28985b2c31c83fef89e21cf9aa0 Mon Sep 17 00:00:00 2001 From: Daniel Cojocea Date: Mon, 12 Aug 2024 13:58:18 -0400 Subject: [PATCH 2/3] Final auth design --- Client/src/Pages/Auth/ForgotPassword.jsx | 117 +++++++++++------------ Client/src/Pages/Auth/index.css | 4 + 2 files changed, 60 insertions(+), 61 deletions(-) diff --git a/Client/src/Pages/Auth/ForgotPassword.jsx b/Client/src/Pages/Auth/ForgotPassword.jsx index fa1f216ed..ab8728f8c 100644 --- a/Client/src/Pages/Auth/ForgotPassword.jsx +++ b/Client/src/Pages/Auth/ForgotPassword.jsx @@ -1,4 +1,4 @@ -import { Stack, Typography } from "@mui/material"; +import { Box, Stack, Typography } from "@mui/material"; import { useTheme } from "@emotion/react"; import { createToast } from "../../Utils/toastUtils"; import { useDispatch, useSelector } from "react-redux"; @@ -8,10 +8,8 @@ import { credentials } from "../../Validation/validation"; import { useNavigate } from "react-router-dom"; import Field from "../../Components/Inputs/Field"; import ButtonSpinner from "../../Components/ButtonSpinner"; -import Button from "../../Components/Button"; import Logo from "../../assets/icons/bwu-icon.svg?react"; import Key from "../../assets/icons/key.svg?react"; -import ArrowBackRoundedIcon from "@mui/icons-material/ArrowBackRounded"; import background from "../../assets/Images/background_pattern_decorative.png"; import "./index.css"; @@ -26,10 +24,6 @@ const ForgotPassword = () => { email: "", }); - const idMap = { - "forgot-password-email-input": "email", - }; - const handleSubmit = async (event) => { event.preventDefault(); @@ -41,11 +35,9 @@ const ForgotPassword = () => { error.details && error.details.length > 0 ? error.details[0].message : "Error validating data."; - setErrors(err); + setErrors({ email: err }); createToast({ - variant: "info", body: err, - hasIcon: false, }); } else { const action = await dispatch(forgotPassword(form)); @@ -72,24 +64,16 @@ const ForgotPassword = () => { }; const handleChange = (event) => { - const { value, id } = event.target; - const name = idMap[id]; - setForm((prev) => ({ - ...prev, - [name]: value, - })); + const { value } = event.target; + setForm({ email: value }); const { error } = credentials.validate( - { [name]: value }, + { email: value }, { abortEarly: false } ); - setErrors((prev) => { - const prevErrors = { ...prev }; - if (error) prevErrors[name] = error.details[0].message; - else delete prevErrors[name]; - return prevErrors; - }); + if (error) setErrors({ email: error.details[0].message }); + else delete errors.email; }; return ( @@ -128,45 +112,56 @@ const ForgotPassword = () => { }, }, }} - > - {/*
- - - - Forgot password? - - - No worries, we'll send you reset instructions. - + > + + + + Forgot password? + + No worries, we'll send you reset instructions. + + + + + + + + - - - -