From 0cc00dbb29e7ff76d9a2d5d7b2494bd0d1b57cc0 Mon Sep 17 00:00:00 2001 From: Roman Kelesidis Date: Tue, 11 Mar 2025 17:56:48 +0300 Subject: [PATCH] Update main.js --- styles/js/main.js | 28 ++++++++++++++++++++++++++-- 1 file changed, 26 insertions(+), 2 deletions(-) diff --git a/styles/js/main.js b/styles/js/main.js index ea1be5722..15674895a 100644 --- a/styles/js/main.js +++ b/styles/js/main.js @@ -460,9 +460,33 @@ $(document).ready(function () { /** * Autocomplete password **/ -var autocomplete = function (noCenter) { - var string_result = ""; // Empty string +function generatePassword(length) { + const lowercaseChars = "abcdefghijklmnopqrstuvwxyz"; + const uppercaseChars = "ABCDEFGHIJKLMNOPQRSTUVWXYZ"; + const numberChars = "0123456789"; + const specialChars = "!@#$%^&*()_+~`|}{[]:;?><,./-="; + let password = [ + getRandomChar(lowercaseChars), + getRandomChar(uppercaseChars), + getRandomChar(numberChars), + getRandomChar(specialChars) + ]; + + for (let i = 4; i < length; i++) { + password.push(getRandomChar(lowercaseChars)); + } + + password = password.sort(() => Math.random() - 0.5); + return password.slice(0, length).join(""); +} + +function getRandomChar(charSet) { + return charSet[Math.floor(Math.random() * charSet.length)]; +} + +var autocomplete = function (noCenter, passwordLength = 10) { + let string_result = generatePassword(passwordLength); var _popup_left = (Math.ceil(window.screen.availWidth / 2) - 150); var _popup_top = (Math.ceil(window.screen.availHeight / 2) - 50);