From 84a367bdc9936bf6d4c791fd8e60eb6e44ad1001 Mon Sep 17 00:00:00 2001 From: Lars Gebhardt-Kusche Date: Mon, 15 Jun 2026 23:38:30 +0200 Subject: [PATCH] adasd --- .../theme/kusche-desktop/login/login.ftl | 16 +++---- .../login/resources/css/desktop-kusche.css | 20 ++++++--- .../login/resources/img/eye-closed.png | Bin 0 -> 5182 bytes .../login/resources/img/eye-open.png | Bin 0 -> 4128 bytes .../login/resources/js/passwordVisibility.js | 26 +++++++++++ public/assets/auth/icons/eye-closed.png | Bin 0 -> 5182 bytes public/assets/auth/icons/eye-open.png | Bin 0 -> 4128 bytes public/assets/auth/login.css | 41 +++++------------- public/auth/inactive/index.php | 2 +- public/auth/logout/index.php | 2 +- public/auth/pending/index.php | 2 +- public/auth/register/index.php | 24 +--------- 12 files changed, 64 insertions(+), 69 deletions(-) create mode 100644 CopyToKeycloak/theme/kusche-desktop/login/resources/img/eye-closed.png create mode 100644 CopyToKeycloak/theme/kusche-desktop/login/resources/img/eye-open.png create mode 100644 CopyToKeycloak/theme/kusche-desktop/login/resources/js/passwordVisibility.js create mode 100644 public/assets/auth/icons/eye-closed.png create mode 100644 public/assets/auth/icons/eye-open.png diff --git a/CopyToKeycloak/theme/kusche-desktop/login/login.ftl b/CopyToKeycloak/theme/kusche-desktop/login/login.ftl index 58da9fd1..507c46ae 100644 --- a/CopyToKeycloak/theme/kusche-desktop/login/login.ftl +++ b/CopyToKeycloak/theme/kusche-desktop/login/login.ftl @@ -48,11 +48,9 @@ placeholder="Passwort eingeben" /> + data-label-show="${msg('showPassword')}" data-label-hide="${msg('hidePassword')}"> <#if usernameHidden?? && messagesPerField.existsError('username','password')> @@ -67,9 +65,9 @@ <#if !usernameHidden??> @@ -77,18 +75,18 @@
value="${auth.selectedCredential}"/> - +
diff --git a/CopyToKeycloak/theme/kusche-desktop/login/resources/css/desktop-kusche.css b/CopyToKeycloak/theme/kusche-desktop/login/resources/css/desktop-kusche.css index 5df0bd18..099353c6 100644 --- a/CopyToKeycloak/theme/kusche-desktop/login/resources/css/desktop-kusche.css +++ b/CopyToKeycloak/theme/kusche-desktop/login/resources/css/desktop-kusche.css @@ -208,7 +208,7 @@ body > main { } .kb-text-input-password { - padding-right: 56px; + padding-right: 64px; } .kb-password-toggle { @@ -219,13 +219,23 @@ body > main { display: inline-flex; align-items: center; justify-content: center; - width: 36px; - height: 36px; + width: 28px; + height: 28px; border: 0; border-radius: 999px; - background: transparent; - color: rgba(248, 250, 252, 0.88); + background: center center / 22px 22px no-repeat url("../img/eye-open.png"); cursor: pointer; + opacity: 0.92; + transition: transform 160ms ease, opacity 160ms ease; +} + +.kb-password-toggle:hover { + transform: translateY(-50%) scale(1.04); + opacity: 1; +} + +.kb-password-toggle.is-visible { + background-image: url("../img/eye-closed.png"); } .kb-input-error { diff --git a/CopyToKeycloak/theme/kusche-desktop/login/resources/img/eye-closed.png b/CopyToKeycloak/theme/kusche-desktop/login/resources/img/eye-closed.png new file mode 100644 index 0000000000000000000000000000000000000000..543bd67e0267c254c04cbffe217127dc370219a4 GIT binary patch literal 5182 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 literal 0 HcmV?d00001 diff --git a/CopyToKeycloak/theme/kusche-desktop/login/resources/img/eye-open.png b/CopyToKeycloak/theme/kusche-desktop/login/resources/img/eye-open.png new file mode 100644 index 0000000000000000000000000000000000000000..92cccbb7b9236e085e7b0333ba71ff74f6af6ecd GIT binary patch literal 4128 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 { + if (!(toggle instanceof HTMLButtonElement)) { + return; + } + + const controlId = toggle.getAttribute('aria-controls'); + const input = controlId ? document.getElementById(controlId) : toggle.parentElement?.querySelector('input[type="password"], input[type="text"]'); + + if (!(input instanceof HTMLInputElement)) { + return; + } + + const showLabel = toggle.getAttribute('data-label-show') || 'Passwort anzeigen'; + const hideLabel = toggle.getAttribute('data-label-hide') || 'Passwort verbergen'; + + toggle.addEventListener('click', () => { + const isHidden = input.type === 'password'; + input.type = isHidden ? 'text' : 'password'; + toggle.classList.toggle('is-visible', isHidden); + toggle.setAttribute('aria-label', isHidden ? hideLabel : showLabel); + }); + }); +}()); diff --git a/public/assets/auth/icons/eye-closed.png b/public/assets/auth/icons/eye-closed.png new file mode 100644 index 0000000000000000000000000000000000000000..543bd67e0267c254c04cbffe217127dc370219a4 GIT binary patch literal 5182 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 literal 0 HcmV?d00001 diff --git a/public/assets/auth/icons/eye-open.png b/public/assets/auth/icons/eye-open.png new file mode 100644 index 0000000000000000000000000000000000000000..92cccbb7b9236e085e7b0333ba71ff74f6af6ecd GIT binary patch literal 4128 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 diff --git a/public/auth/logout/index.php b/public/auth/logout/index.php index 094edc27..fa8aef1d 100644 --- a/public/auth/logout/index.php +++ b/public/auth/logout/index.php @@ -13,7 +13,7 @@ $projectRoot = dirname(__DIR__, 3); $auth = new KeycloakAuth(ConfigLoader::load($projectRoot, 'keycloak')); $logoutUrl = null; -if ($auth->isConfigured() && $auth->isAuthenticated()) { +if ($auth->isConfigured()) { $logoutUrl = $auth->logoutUrl(); } diff --git a/public/auth/pending/index.php b/public/auth/pending/index.php index 5e546511..3dc88a27 100644 --- a/public/auth/pending/index.php +++ b/public/auth/pending/index.php @@ -64,7 +64,7 @@ $view = $statusMap[$status] ?? [ diff --git a/public/auth/register/index.php b/public/auth/register/index.php index b8c1c008..e8395ffc 100644 --- a/public/auth/register/index.php +++ b/public/auth/register/index.php @@ -144,17 +144,7 @@ if ($_SERVER['REQUEST_METHOD'] === 'POST') { Passwort @@ -162,17 +152,7 @@ if ($_SERVER['REQUEST_METHOD'] === 'POST') { Passwort wiederholen