Commit graph

3 commits

Author SHA1 Message Date
Till JS
3b7b6c9761 refactor(auth-ui): SessionManager i18n, shared userAgent util, a11y fixes
- Add locale prop (de/en) to SessionManager with full English translations
- Extract duplicated parseUserAgent/getDeviceType to utils/userAgent.ts
- Fix hardcoded aria-label in SessionManager refresh button
- Add prefers-reduced-motion to PasskeyManager, TwoFactorSetup,
  SessionExpiredBanner

Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
2026-03-31 14:14:16 +02:00
Till JS
5fa773d400 refactor(auth-ui): unify dark mode to CSS variables + .dark class pattern
Replace hardcoded colors and inconsistent dark mode patterns across
7 auth-ui components with semantic CSS variables (--theme-*).

- PasskeyManager: 24 :global(.dark) rules → CSS vars (kept semantic amber/red)
- TwoFactorSetup: flip from dark-default + :global(.light) → light-default + CSS vars
- ChangePassword: flip from :global(.light) → CSS vars, zero :global(.dark) rules
- SecurityOnboarding: flip from :global(.light) → CSS vars
- GuestWelcomeModal: convert @media prefers-color-scheme → :global(.dark) pattern
- SessionManager: replace hardcoded fallbacks with CSS vars
- AuditLog: replace all fallback patterns with CSS vars

Net: -451 lines / +180 lines of CSS

Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
2026-03-31 14:06:25 +02:00
Till JS
8f56feb115 feat(auth): session management UI and improved account lockout feedback
Session management:
- GET /auth/sessions and DELETE /auth/sessions/:id endpoints
- listSessions() and revokeSession() in shared-auth client
- SessionManager component: active sessions list with device info,
  "Aktuell" badge, revoke individual or all other sessions
- Integrated in ManaCore settings page

Account lockout UX:
- Dedicated amber lockout banner (distinct from generic rate-limit)
- "Konto vorübergehend gesperrt" with MM:SS countdown
- "Passwort zurücksetzen" link as alternative action
- formatCountdown helper for clean time display

Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
2026-03-27 11:55:32 +01:00