Files
ProxmoxAAS-Dashboard/web/scripts/account.js

39 lines
1.2 KiB
JavaScript

import { requestAPI, setAppearance } from "./utils.js";
import "./dialog.js";
window.addEventListener("DOMContentLoaded", init);
async function init () {
setAppearance();
initPasswordChangeForm();
document.querySelector("#change-password").addEventListener("click", handlePasswordChangeButton);
}
function initPasswordChangeForm () {
const d = document.querySelector("#change-password-dialog");
d.setOnClose(async (result, form) => {
if (result === "confirm") {
const result = await requestAPI("/access/password", "POST", { password: form.get("new-password") });
if (result.status !== 200) {
alert(`Attempted to change password but got: ${result.error}`);
}
}
});
const password = d.querySelector("#new-password");
const confirmPassword = d.querySelector("#confirm-password");
function validatePassword () {
confirmPassword.setCustomValidity(password.value !== confirmPassword.value ? "Passwords Don't Match" : "");
}
password.addEventListener("change", validatePassword);
confirmPassword.addEventListener("keyup", validatePassword);
}
function handlePasswordChangeButton () {
const d = document.querySelector("#change-password-dialog");
d.showModal();
}