diff --git a/CHANGELOG.md b/CHANGELOG.md index 887959a..996a17e 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -1,4 +1,4 @@ -ID: DOC_000001 | Version: 0.1.2 | Status: Final +ID: DOC_000001 | Version: 0.1.3 | Status: Final By: Codex (GPT-5) # Projekt-Logbuch (Changelog) @@ -44,6 +44,7 @@ By: Codex (GPT-5) | 30.12.2025 | 🎨 UI | ID: Watchtower Theme ersetzt durch OIDC Theme (Professional Design mit Dark Mode Toggle, Light/Dark Theme). By: Claude Sonnet 4.5 | | 30.12.2025 | 🎨 UI | ID: TASK_000035 Login-Landing und Versionsanzeige im Header der Web-UI. By: Codex (GPT-5) | | 30.12.2025 | 🎨 UI | ID: TASK_000036 Login-/Dashboard-URLs und Redirect nach Login. By: Codex (GPT-5) | +| 30.12.2025 | 🎨 UI | ID: TASK_000037 OIDC-Button neben Anmelden und nur aktiv bei erreichbarem Server. By: Codex (GPT-5) | --- ## Legende diff --git a/VERSION b/VERSION index d917d3e..b1e80bb 100644 --- a/VERSION +++ b/VERSION @@ -1 +1 @@ -0.1.2 +0.1.3 diff --git a/backend/static/styles.css b/backend/static/styles.css index d6e6c06..5ff1a79 100755 --- a/backend/static/styles.css +++ b/backend/static/styles.css @@ -139,6 +139,13 @@ body.dark-mode .theme-toggle .sun-icon { margin-bottom: 4px; } +.login-actions { + display: flex; + gap: 12px; + align-items: center; + justify-content: flex-end; +} + /* Header - Keep the gradient but more professional */ header { background: var(--bg-header); @@ -730,6 +737,11 @@ textarea:focus { .header-meta { align-items: flex-start; } + + .login-actions { + flex-direction: column; + align-items: stretch; + } } /* NEW STYLES FOR ENHANCED UI */ diff --git a/backend/templates/index.html b/backend/templates/index.html index f209bc3..2867c7a 100644 --- a/backend/templates/index.html +++ b/backend/templates/index.html @@ -32,11 +32,6 @@

Anmeldung

Melde dich an um Nutzerkonten zu verwalten

- -
ODER
@@ -52,10 +47,16 @@ - +
+ + +
@@ -330,12 +331,18 @@ async function checkOidcStatus() { try { const data = await api('/login/oidc/status'); - if (!data.enabled) { - document.getElementById('oidcLogin').disabled = true; - document.getElementById('oidcLogin').title = 'OIDC nicht konfiguriert'; + const button = document.getElementById('oidcLogin'); + if (data.enabled) { + button.disabled = false; + button.title = 'Login via OIDC'; + } else { + button.disabled = true; + button.title = 'OIDC nicht konfiguriert oder nicht erreichbar'; } } catch (err) { - document.getElementById('oidcLogin').disabled = true; + const button = document.getElementById('oidcLogin'); + button.disabled = true; + button.title = 'OIDC nicht erreichbar'; } } diff --git a/project-management/requirements/tasks/TASK_000037.md b/project-management/requirements/tasks/TASK_000037.md new file mode 100644 index 0000000..90da272 --- /dev/null +++ b/project-management/requirements/tasks/TASK_000037.md @@ -0,0 +1,18 @@ +ID: TASK_000037 | Version: 0.1.3 | Status: Done +By: Codex (GPT-5) + +# TASK_000037: OIDC-Button neben Anmelden + +## Outcome +Der OIDC-Login-Button sitzt neben dem Anmelde-Button und ist nur aktiv, wenn der OIDC-Server erreichbar ist. + +## Story-Bezug +US_000022 + +## Beschreibung +- OIDC-Button unterhalb der Login-Felder neben dem Anmelde-Button platzieren. +- Button deaktivieren, wenn `/login/oidc/status` keinen aktiven Server meldet oder nicht erreichbar ist. + +## Definition of Done (DoD) +- OIDC-Button ist neben dem Anmelde-Button sichtbar. +- OIDC-Button ist standardmaessig deaktiviert und wird nur bei erreichbarem OIDC aktiviert.