(function () { const form = document.querySelector('form.needs-validation'); form.addEventListener('submit', function (e) { if (!form.checkValidity()) { e.preventDefault(); e.stopPropagation(); } form.classList.add('was-validated'); }, false); })(); const pw = document.getElementById('password'); const toggle = document.getElementById('togglePw'); toggle.addEventListener('click', () => { const isText = pw.type === 'text'; pw.type = isText ? 'password' : 'text'; toggle.textContent = isText ? 'Pokaż' : 'Ukryj'; toggle.setAttribute('aria-pressed', (!isText).toString()); pw.focus(); }); const caps = document.getElementById('capsWarning'); function handleCaps(e) { const capsOn = e.getModifierState && e.getModifierState('CapsLock'); caps.style.display = capsOn ? 'inline' : 'none'; } pw.addEventListener('keyup', handleCaps); pw.addEventListener('keydown', handleCaps);