20 lines
759 B
JavaScript
20 lines
759 B
JavaScript
document.addEventListener('DOMContentLoaded', () => {
|
|
const rows = document.querySelectorAll('.login-password-row');
|
|
|
|
rows.forEach((row) => {
|
|
const input = row.querySelector('[data-password-field]');
|
|
const toggle = row.querySelector('[data-password-toggle]');
|
|
|
|
if (!(input instanceof HTMLInputElement) || !(toggle instanceof HTMLButtonElement)) {
|
|
return;
|
|
}
|
|
|
|
toggle.addEventListener('click', () => {
|
|
const isHidden = input.type === 'password';
|
|
input.type = isHidden ? 'text' : 'password';
|
|
toggle.setAttribute('aria-label', isHidden ? 'Passwort verbergen' : 'Passwort anzeigen');
|
|
toggle.classList.toggle('is-visible', isHidden);
|
|
});
|
|
});
|
|
});
|