From 24f22240d10f18bff1c46d36511332c7efd66b08 Mon Sep 17 00:00:00 2001 From: TBS093A Date: Tue, 7 May 2024 18:44:11 +0200 Subject: [PATCH] feat(forms): add password hide / visible button - --- src/components/forms/formGenerator.js | 32 ++++++++++++++++++-------- src/images/password-hidden.png | Bin 0 -> 12290 bytes src/images/password-visible.png | Bin 0 -> 6739 bytes src/styles/general.scss | 23 ++++++++++++++++++ src/styles/landing.scss | 0 5 files changed, 46 insertions(+), 9 deletions(-) create mode 100644 src/images/password-hidden.png create mode 100644 src/images/password-visible.png delete mode 100644 src/styles/landing.scss diff --git a/src/components/forms/formGenerator.js b/src/components/forms/formGenerator.js index 634d9aa..8cb9b9e 100644 --- a/src/components/forms/formGenerator.js +++ b/src/components/forms/formGenerator.js @@ -1,5 +1,8 @@ import React, { useState } from 'react' +import passwordVisibleImg from '../../images/password-visible.png' +import passwordHiddenImg from '../../images/password-hidden.png' + /** * * @param { [ {}, {}, ...{} ] } inputList - list of dicts with info about input @@ -180,19 +183,29 @@ const TextInputGenerator = ({ const PasswordInputGenerator = ({ input, info }) => { + + const [contentIsHidden, setContentIsHidden] = useState(true) + return (
- +
+ + { setContentIsHidden(!contentIsHidden) } } + /> +
{ input.validationInfo }
+
) diff --git a/src/images/password-hidden.png b/src/images/password-hidden.png new file mode 100644 index 0000000000000000000000000000000000000000..7d71841d871c02f9fe2cd1a50022262ffbebc6cf GIT binary patch literal 12290 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 S_3D41d_65=%|?V{%>Mu<^!