diff --git a/modern/src/login/LoginPage.js b/modern/src/login/LoginPage.js
index e35ca2324b..c3a56fd461 100644
--- a/modern/src/login/LoginPage.js
+++ b/modern/src/login/LoginPage.js
@@ -6,6 +6,7 @@ import {
import makeStyles from '@mui/styles/makeStyles';
import CloseIcon from '@mui/icons-material/Close';
import LockOpenIcon from '@mui/icons-material/LockOpen';
+import VisibilityOffIcon from '@mui/icons-material/VisibilityOff';
import { useTheme } from '@mui/material/styles';
import { useDispatch, useSelector } from 'react-redux';
import { useNavigate } from 'react-router-dom';
@@ -57,6 +58,11 @@ const LoginPage = () => {
const [email, setEmail] = usePersistedState('loginEmail', '');
const [password, setPassword] = useState('');
+ const [showPassword, setShowPassword] = useState(false);
+ const handleClickShowPassword = () => {
+ setShowPassword(!showPassword);
+ };
+
const registrationEnabled = useSelector((state) => state.session.server.registration);
const languageEnabled = useSelector((state) => !state.session.server.attributes['ui.disableLoginLanguage']);
const emailEnabled = useSelector((state) => state.session.server.emailEnabled);
@@ -160,11 +166,18 @@ const LoginPage = () => {
label={t('userPassword')}
name="password"
value={password}
- type="password"
+ type={showPassword ? 'text' : 'password'}
autoComplete="current-password"
autoFocus={!!email}
onChange={(e) => setPassword(e.target.value)}
onKeyUp={handleSpecialKey}
+ InputProps={{
+ endAdornment: (
+
+
+
+ ),
+ }}
/>