From 150090bc2c7813dd7005f9e23bc6d50223587190 Mon Sep 17 00:00:00 2001 From: dionatas Date: Sun, 24 Oct 2021 15:09:09 -0300 Subject: [PATCH] feat add eye to show passw in the pages login, signup and usermodal --- frontend/src/components/UserModal/index.js | 51 +++++++++++++++------- frontend/src/pages/Login/index.js | 43 +++++++++++++----- frontend/src/pages/Signup/index.js | 48 +++++++++++++------- 3 files changed, 100 insertions(+), 42 deletions(-) diff --git a/frontend/src/components/UserModal/index.js b/frontend/src/components/UserModal/index.js index 9518823..1d27a44 100644 --- a/frontend/src/components/UserModal/index.js +++ b/frontend/src/components/UserModal/index.js @@ -4,19 +4,26 @@ import * as Yup from "yup"; import { Formik, Form, Field } from "formik"; import { toast } from "react-toastify"; +import { + Button, + Dialog, + DialogActions, + DialogContent, + DialogTitle, + CircularProgress, + Select, + InputLabel, + MenuItem, + FormControl, + TextField, + InputAdornment, + IconButton + } from '@material-ui/core'; + +import { Visibility, VisibilityOff } from '@material-ui/icons'; + import { makeStyles } from "@material-ui/core/styles"; import { green } from "@material-ui/core/colors"; -import Button from "@material-ui/core/Button"; -import TextField from "@material-ui/core/TextField"; -import Dialog from "@material-ui/core/Dialog"; -import DialogActions from "@material-ui/core/DialogActions"; -import DialogContent from "@material-ui/core/DialogContent"; -import DialogTitle from "@material-ui/core/DialogTitle"; -import CircularProgress from "@material-ui/core/CircularProgress"; -import Select from "@material-ui/core/Select"; -import InputLabel from "@material-ui/core/InputLabel"; -import MenuItem from "@material-ui/core/MenuItem"; -import FormControl from "@material-ui/core/FormControl"; import { i18n } from "../../translate/i18n"; @@ -79,6 +86,8 @@ const UserModal = ({ open, onClose, userId }) => { const [user, setUser] = useState(initialState); const [selectedQueueIds, setSelectedQueueIds] = useState([]); + const [showPassword, setShowPassword] = useState(false); + useEffect(() => { const fetchUser = async () => { @@ -160,13 +169,25 @@ const UserModal = ({ open, onClose, userId }) => { /> + setShowPassword((e) => !e)} + > + {showPassword ? : } + + + ) + }} fullWidth /> diff --git a/frontend/src/pages/Login/index.js b/frontend/src/pages/Login/index.js index 56c4f5d..231f842 100644 --- a/frontend/src/pages/Login/index.js +++ b/frontend/src/pages/Login/index.js @@ -1,17 +1,23 @@ import React, { useState, useContext } from "react"; import { Link as RouterLink } from "react-router-dom"; -import Avatar from "@material-ui/core/Avatar"; -import Button from "@material-ui/core/Button"; -import CssBaseline from "@material-ui/core/CssBaseline"; -import TextField from "@material-ui/core/TextField"; -import Link from "@material-ui/core/Link"; -import Grid from "@material-ui/core/Grid"; -import Box from "@material-ui/core/Box"; -import LockOutlinedIcon from "@material-ui/icons/LockOutlined"; -import Typography from "@material-ui/core/Typography"; +import { + Avatar, + Button, + CssBaseline, + TextField, + Grid, + Box, + Typography, + Container, + InputAdornment, + IconButton, + Link +} from '@material-ui/core'; + +import { LockOutlined, Visibility, VisibilityOff } from '@material-ui/icons'; + import { makeStyles } from "@material-ui/core/styles"; -import Container from "@material-ui/core/Container"; import { i18n } from "../../translate/i18n"; @@ -54,6 +60,7 @@ const Login = () => { const classes = useStyles(); const [user, setUser] = useState({ email: "", password: "" }); + const [showPassword, setShowPassword] = useState(false); const { handleLogin } = useContext(AuthContext); @@ -71,7 +78,7 @@ const Login = () => {
- + {i18n.t("login.title")} @@ -97,11 +104,23 @@ const Login = () => { fullWidth name="password" label={i18n.t("login.form.password")} - type="password" id="password" value={user.password} onChange={handleChangeInput} autoComplete="current-password" + type={showPassword ? 'text' : 'password'} + InputProps={{ + endAdornment: ( + + setShowPassword((e) => !e)} + > + {showPassword ? : } + + + ) + }} />