Ability to show password when logging in or registering

This commit is contained in:
2024-10-05 16:42:42 +02:00
parent 74c3a611a4
commit bd57db2b8c
6 changed files with 50 additions and 2 deletions

View File

@@ -85,3 +85,8 @@ body {
text-align: center; text-align: center;
color: white; color: white;
} }
.inline {
width: fit-content;
color: white;
}

View File

@@ -23,6 +23,10 @@
<br> <br>
<input id="password" type="password"> <input id="password" type="password">
<br> <br>
<div>
<label class="inline" for="showPassword">Montrer le mot de passe?</label>
<input id="showPassword" type="checkbox">
</div>
<button id="connect">Se connecter</button> <button id="connect">Se connecter</button>
</div> </div>
<p>Tu n'as pas de compte?</p> <p>Tu n'as pas de compte?</p>

View File

@@ -24,6 +24,11 @@
<label for="password">Mot de passe:</label> <label for="password">Mot de passe:</label>
<br> <br>
<input id="password" type="password"> <input id="password" type="password">
<br>
<div>
<label class="inline" for="showPassword">Montrer le mot de passe?</label>
<input id="showPassword" type="checkbox">
</div>
<p class="error" id="passwordNotice">Le mot de passe doit contenir plus de 8 caractères et doit contenir au minimum: <p class="error" id="passwordNotice">Le mot de passe doit contenir plus de 8 caractères et doit contenir au minimum:
<br> <br>
1 Majuscule 1 Majuscule
@@ -37,6 +42,10 @@
<label for="passwordConfirm">Confirmer le mot de passe:</label> <label for="passwordConfirm">Confirmer le mot de passe:</label>
<br> <br>
<input id="passwordConfirm" type="password"> <input id="passwordConfirm" type="password">
<div>
<label class="inline" for="showConfirmPassword">Montrer le mot de passe?</label>
<input id="showConfirmPassword" type="checkbox">
</div>
<p class="error" id="passwordConfirmNotice">Les mots de passe doivent être les mêmes.</p> <p class="error" id="passwordConfirmNotice">Les mots de passe doivent être les mêmes.</p>
<button id="register">Créer un compte.</button> <button id="register">Créer un compte.</button>
</div> </div>

View File

@@ -1,6 +1,7 @@
async function login() { async function login() {
let username = document.getElementById("username").value; let username = document.getElementById("username").value;
let password = document.getElementById("password").value; let password = document.getElementById("password").value;
let code = await fetch("/login", let code = await fetch("/login",
{method: "POST", body: JSON.stringify({"username": username, "password": password})}) {method: "POST", body: JSON.stringify({"username": username, "password": password})})
.then(r => { .then(r => {
@@ -13,6 +14,15 @@ async function login() {
} }
let button = document.getElementById("connect"); let button = document.getElementById("connect");
let showPassword = document.getElementById("showPassword");
showPassword.addEventListener("click", () => {
let password = document.getElementById("password");
if (showPassword.checked) {
password.type = "text";
} else {
password.type = "password";
}
})
button.addEventListener("click", () => { button.addEventListener("click", () => {
let _ = login(); let _ = login();
}) })

View File

@@ -56,3 +56,23 @@ passwordConfirm.addEventListener("input", () => {
document.getElementById("passwordConfirmNotice").className = "error"; document.getElementById("passwordConfirmNotice").className = "error";
} }
}) })
let showPassword = document.getElementById("showPassword");
let showConfirmPassword = document.getElementById("showConfirmPassword");
showPassword.addEventListener("click", () => {
let password = document.getElementById("password");
if (showPassword.checked) {
password.type = "text";
} else {
password.type = "password";
}
})
showConfirmPassword.addEventListener("click", () => {
let password = document.getElementById("passwordConfirm");
if (showConfirmPassword.checked) {
password.type = "text";
} else {
password.type = "password";
}
})