login improvements

This commit is contained in:
2026-03-06 21:59:41 +01:00
parent dc6c135473
commit 5fb89485f4
14 changed files with 616 additions and 76 deletions

View File

@@ -1,3 +1,38 @@
import './core/app-telemetry.js';
import './components/app-flash-auto-dismiss.js';
import './components/app-password-hints.js';
const focusPrimaryErrorNotice = () => {
const errorNotice = document.querySelector(
'.notice[data-variant="error"][role="alert"][tabindex="-1"]',
);
if (!(errorNotice instanceof HTMLElement)) {
return;
}
errorNotice.focus();
};
const lockLoginSubmitButtons = () => {
const forms = document.querySelectorAll('form[data-login-submit-lock="1"]');
forms.forEach((form) => {
if (!(form instanceof HTMLFormElement)) {
return;
}
form.addEventListener('submit', () => {
if (form.dataset.submitted === '1') {
return;
}
form.dataset.submitted = '1';
form.setAttribute('aria-busy', 'true');
const submitButton = form.querySelector('button[type="submit"]');
if (!(submitButton instanceof HTMLButtonElement)) {
return;
}
submitButton.disabled = true;
submitButton.dataset.submitState = 'loading';
});
});
};
focusPrimaryErrorNotice();
lockLoginSubmitButtons();