From 647ae35c8446fdacfe8f5f50327289547509a730 Mon Sep 17 00:00:00 2001 From: Krista Vlastou <149063561+kristavlastou@users.noreply.github.com> Date: Fri, 28 Mar 2025 18:45:24 +0200 Subject: [PATCH] Added a confirm password field and a show password option --- .../src/modules/driver/DriverModule.js | 0 src/gui/src/UI/UIWindowSignup.js | 41 ++++++++++++++++++- 2 files changed, 39 insertions(+), 2 deletions(-) create mode 100644 src/backend/src/modules/driver/DriverModule.js diff --git a/src/backend/src/modules/driver/DriverModule.js b/src/backend/src/modules/driver/DriverModule.js new file mode 100644 index 000000000..e69de29bb diff --git a/src/gui/src/UI/UIWindowSignup.js b/src/gui/src/UI/UIWindowSignup.js index dc465a053..cd5c56fe0 100644 --- a/src/gui/src/UI/UIWindowSignup.js +++ b/src/gui/src/UI/UIWindowSignup.js @@ -65,10 +65,23 @@ function UIWindowSignup(options){ h += ``; h += ``; // password - h += `
`; + h += `
`; h += ``; - h += ``; + h += ``; + // show/hide icon + h += ` + + `; h += `
`; + // confirm password + h += `
`; + h += ``; + h += ``; + // show/hide icon + h += ` + + `; + h += `
`; // captcha placeholder - will be replaced with actual captcha component h += `
`; // captcha-specific error message @@ -230,6 +243,19 @@ function UIWindowSignup(options){ $(el_window).find('.signup-error-msg').fadeIn(); return; } + // get confirm password value + const confirmPassword = $(el_window).find('.confirm-password').val(); + if (!confirmPassword) { + $(el_window).find('.signup-error-msg').html(i18n('confirm_password_required')); + $(el_window).find('.signup-error-msg').fadeIn(); + return; + } + // check if passwords match + if (password !== confirmPassword) { + $(el_window).find('.signup-error-msg').html(i18n('passwords_do_not_match')); + $(el_window).find('.signup-error-msg').fadeIn(); + return; +} // Get captcha token and answer if required let captchaToken = null; @@ -403,6 +429,17 @@ function UIWindowSignup(options){ e.stopPropagation(); return false; }) + + $(el_window).find(`#toggle-show-password-${internal_id}, #toggle-show-password-${internal_id}-confirm`).on("click", function (e) { + // hide/show password/confirm password and update icon + let inputField = $(this).siblings("input"); + let isPasswordVisible = inputField.attr("type") === "text"; + inputField.attr("type", isPasswordVisible ? "password" : "text"); + $(this).find(".toggle-show-password-icon").attr( + "src", + isPasswordVisible ? window.icons["eye-open.svg"] : window.icons["eye-closed.svg"] + ); + }); //remove login window $('.signup-c2a-clickable').parents('.window').close();