diff --git a/client/images/hide.png b/client/images/hide.png
new file mode 100644
index 0000000000..62dc80a99b
Binary files /dev/null and b/client/images/hide.png differ
diff --git a/client/images/view.png b/client/images/view.png
new file mode 100644
index 0000000000..c5b58c00a0
Binary files /dev/null and b/client/images/view.png differ
diff --git a/client/modules/User/components/LoginForm.jsx b/client/modules/User/components/LoginForm.jsx
index d990299322..466e707604 100644
--- a/client/modules/User/components/LoginForm.jsx
+++ b/client/modules/User/components/LoginForm.jsx
@@ -1,15 +1,18 @@
-import React from 'react';
+import React, { useState } from 'react';
import { useTranslation } from 'react-i18next';
import { Form, Field } from 'react-final-form';
import { useDispatch } from 'react-redux';
import Button from '../../../common/Button';
import { validateLogin } from '../../../utils/reduxFormUtils';
import { validateAndLoginUser } from '../actions';
+import viewimg from '../../../images/view.png';
+import hideimg from '../../../images/hide.png';
function LoginForm() {
const { t } = useTranslation();
-
+ const [showpassword, setShowpassword] = useState(false);
const dispatch = useDispatch();
+
function onSubmit(formProps) {
return dispatch(validateAndLoginUser(formProps));
}
@@ -48,14 +51,19 @@ function LoginForm() {
-
+
+
+
+
{field.meta.touched && field.meta.error && (
{field.meta.error}
)}
diff --git a/client/modules/User/components/SignupForm.jsx b/client/modules/User/components/SignupForm.jsx
index b80f53f107..64e6f2fe13 100644
--- a/client/modules/User/components/SignupForm.jsx
+++ b/client/modules/User/components/SignupForm.jsx
@@ -1,4 +1,4 @@
-import React from 'react';
+import React, { useState } from 'react';
import { useTranslation } from 'react-i18next';
import { Form, Field } from 'react-final-form';
import { useDispatch } from 'react-redux';
@@ -6,6 +6,8 @@ import { validateSignup } from '../../../utils/reduxFormUtils';
import { validateAndSignUpUser } from '../actions';
import Button from '../../../common/Button';
import apiClient from '../../../utils/apiClient';
+import viewimg from '../../../images/view.png';
+import hideimg from '../../../images/hide.png';
function asyncValidate(fieldToValidate, value) {
if (!value || value.trim().length === 0)
@@ -33,6 +35,7 @@ function validateEmail(email) {
function SignupForm() {
const { t } = useTranslation();
+ const [showpassword, setShowpassword] = useState(false);
const dispatch = useDispatch();
function onSubmit(formProps) {
@@ -97,14 +100,19 @@ function SignupForm() {
-
+
+
+
+
{field.meta.touched && field.meta.error && (
{field.meta.error}
)}
diff --git a/client/styles/components/_forms.scss b/client/styles/components/_forms.scss
index d5eca026d8..0fb4bf4f79 100644
--- a/client/styles/components/_forms.scss
+++ b/client/styles/components/_forms.scss
@@ -91,6 +91,28 @@
margin-left: auto;
margin-right: auto;
}
+
+.form__password-div {
+ display: flex;
+ align-items: center;
+ max-width: 90vw;
+ width: #{360 / $base-font-size}rem;
+}
+.form__password-div button{
+ display: flex;
+ padding: 0 2px;
+}
+.form__password-div button:focus{
+ box-shadow: none;
+}
+.form__password-div img{
+ width: 30px;
+
+ @media (max-width: 770px) {
+ width: 24px;
+ }
+}
+
// .form [type="submit"] {
// @extend %button;