diff --git a/locales/cs/LC_MESSAGES/campusmultiauth.po b/locales/cs/LC_MESSAGES/campusmultiauth.po index 437497c3064e22aa6cc6c78375d2d73a94243ebe..80ad7a3fc81f6d385f9779d9eeecce248453876c 100644 --- a/locales/cs/LC_MESSAGES/campusmultiauth.po +++ b/locales/cs/LC_MESSAGES/campusmultiauth.po @@ -62,4 +62,7 @@ msgid "{campusmultiauth:undefined}" msgstr "neznámé" msgid "{campusmultiauth:localLogin_title}" -msgstr "Login with username and password" +msgstr "Přihlášení uživatelským jménem a heslem" + +msgid "{campusmultiauth:localLogin_capslock}" +msgstr "Pozor, máte zapnutý Caps lock." diff --git a/locales/en/LC_MESSAGES/campusmultiauth.po b/locales/en/LC_MESSAGES/campusmultiauth.po index 9bf444c59b6355b35a64177b742a7564fc3d4d91..bec0f7216ce273fe7f3ef27dd1f6b111f3a3d2f9 100644 --- a/locales/en/LC_MESSAGES/campusmultiauth.po +++ b/locales/en/LC_MESSAGES/campusmultiauth.po @@ -62,4 +62,7 @@ msgid "{campusmultiauth:undefined}" msgstr "undefined" msgid "{campusmultiauth:localLogin_title}" -msgstr "Přihlásit se uživatelským jménem a heslem" +msgstr "Login with username and password" + +msgid "{campusmultiauth:localLogin_capslock}" +msgstr "Warning! Caps lock is ON." diff --git a/templates/includes/local-login.twig b/templates/includes/local-login.twig index 3447ac379d3eb0446d35d75fe782308f2bedfe82..9d43e8d7cca4d7428062bc5806ff9082221fde39 100644 --- a/templates/includes/local-login.twig +++ b/templates/includes/local-login.twig @@ -55,7 +55,7 @@ </label> <br> {% if muni_jvs %} - <span class="inp-fix inp-icon inp-icon--after"> + <span class="inp-fix inp-icon inp-icon--after" id="capslock-warning-wrapper"> {% else %} <div class="input-group"> {% endif %} @@ -75,6 +75,7 @@ {% else %}{{ '{campusmultiauth:password_placeholder}'|trans }} {% endif %}"> <button id="toggle-password" class="{% if muni_jvs %}btn-icon icon icon-eye color-{{ configuration.priority }}{% else %}btn border border-2 border-{% if configuration.priority == 'primary' %}dark{% else %}muted{% endif %} rounded-end{% endif %}" type="button">{% if not muni_jvs %}<i class="fas fa-eye"></i>{% endif %}</button> + {% if muni_jvs %}<span class="inp-info vhide" id="capslock-warning">{{ '{campusmultiauth:localLogin_capslock}'|trans }}</span>{% else %}<div class="invalid-feedback text-warning d-block d-none" id="capslock-warning">{{ '{campusmultiauth:localLogin_capslock}'|trans }}</div>{% endif %} {% if muni_jvs %} </span> {% else %} diff --git a/www/resources/campus-idp.js b/www/resources/campus-idp.js index 236cbbfc3c44cfacfb24efa4cdc40c0ab7b046ef..850d839c6db837ca3d98ac109d2c79027f0461d7 100644 --- a/www/resources/campus-idp.js +++ b/www/resources/campus-idp.js @@ -90,9 +90,23 @@ document.addEventListener("DOMContentLoaded", function () { }); } - var togglePassword = document.getElementById("toggle-password"); var password = document.getElementById("password"); - if (togglePassword) { + var togglePassword = document.getElementById("toggle-password"); + if (password && togglePassword) { + password.addEventListener("keyup", function(event) { + var message = document.getElementById('capslock-warning'); + var wrapper = document.getElementById('capslock-warning-wrapper'); + var isCapsLock = event.getModifierState("CapsLock"); + if (isCapsLock) { + showElement(message); + } else { + hideElement(message); + } + if (wrapper) { + wrapper.classList.toggle('warning', isCapsLock); + } + }); + togglePassword.addEventListener("click", function () { var type = password.getAttribute("type") === "password" ? "text" : "password"; password.setAttribute("type", type);