ari.lt/content/js/handlers/user_account.js

65 lines
1.6 KiB
JavaScript
Raw Normal View History

"use strict";
let user_canceled = false;
function pprompt(message) {
if (user_canceled) return;
let value = prompt(message);
if (value === null) {
user_canceled = true;
return;
}
return value.replaceAll(" ", "") ? value : pprompt(message);
}
2021-09-05 02:21:11 +03:00
async function user_account_create() {
let username = pprompt(`Enter (make up) your username`);
let password = pprompt(`Enter the password for '${username}'`);
let password_confirm = pprompt(`Confirm the password for '${username}'`);
2021-09-05 02:21:11 +03:00
let tmp_boot_entries = {
0: {
type: "error",
text: "User account not created: canceled by user",
sleep_time: 0,
},
};
2021-09-05 02:21:11 +03:00
let valid =
2021-09-05 02:21:11 +03:00
username &&
password &&
password_confirm &&
password.length > 6 &&
password == password_confirm;
2021-09-05 02:21:11 +03:00
if (!valid) {
if (
!user_canceled &&
confirm(
"The credentials you entered are not valid (password/username too short or the password don't match), try again?"
)
) {
2021-09-05 02:21:11 +03:00
user_account_create();
return 1;
}
add_boot_entry({ 0: tmp_boot_entries[0] });
2021-09-05 02:21:11 +03:00
await sleep(2500);
} else {
alert("The next popup will show your credentials, press OK to proceed");
2021-09-05 02:21:11 +03:00
let confirm_credentials = confirm(`Are these credentials correct?:
USER: ${username}
PASS: ${password}`);
if (confirm_credentials) {
localStorage.setItem("username", username);
localStorage.setItem("password", hash(password));
2021-10-09 03:22:48 +03:00
alert("Credentials saved!");
2021-09-05 02:21:11 +03:00
}
}
}