Großes Cleanup: Bugs fixen, Features fertigstellen, toten Code entfernen

Bugs behoben:
- handleEdit() async keyword hinzugefügt (E-Mail-Checkboxen funktionieren jetzt)
- parseUTC() Funktion definiert (Fortschritts-Timer nutzt Server-Startzeit)
- Status cancelling wird im Frontend korrekt angezeigt

Features fertiggestellt:
- Sidebar: Lagen nach Typ getrennt (adhoc/research) mit Zählern
- Quellen-Bearbeiten: Edit-Button pro Quelle, Formular vorausfüllen
- Lizenz-Info: Org-Name und Lizenzstatus im Header angezeigt

Toter Code entfernt:
- 5 verwaiste Dateien gelöscht (alte rss_parser, style.css, components.js, layout.js, setup_users)
- 6 ungenutzte Pydantic Models entfernt
- Ungenutzte Funktionen/Imports in auth.py, routers, agents, config
- Tote API-Methoden, Legacy-UI-Methoden, verwaiste WS-Handler
- Abgeschlossene DB-Migrationen aufgeräumt

Sonstiges:
- requirements.txt: passlib[bcrypt] durch bcrypt ersetzt
- Umlaute korrigiert (index.html)
- CSS: incident-type-label → incident-type-badge, .login-success hinzugefügt
- Schließen statt Schliessen im Feedback-Modal
Dieser Commit ist enthalten in:
claude-dev
2026-03-04 18:45:38 +01:00
Ursprung 2a155c084d
Commit 71296edb97
23 geänderte Dateien mit 269 neuen und 4768 gelöschten Zeilen

Datei anzeigen

@@ -26,7 +26,14 @@
</div>
<div class="header-right">
<button class="btn btn-secondary btn-small theme-toggle-btn" id="theme-toggle" onclick="ThemeManager.toggle()" title="Theme wechseln" aria-label="Theme wechseln">&#9788;</button>
<span class="header-user" id="header-user"></span>
<div class="header-user-info">
<div class="header-user-top">
<span class="header-user" id="header-user"></span>
<span class="header-license-badge" id="header-license-badge"></span>
</div>
<span class="header-org-name" id="header-org-name"></span>
</div>
<div class="header-license-warning" id="header-license-warning"></div>
<button class="btn btn-secondary btn-small" id="logout-btn">Abmelden</button>
</div>
</header>
@@ -90,7 +97,7 @@
<!-- Header Strip -->
<div class="incident-header-strip" id="incident-header-strip">
<div class="incident-header-row0">
<span class="incident-type-label" id="incident-type-badge"></span>
<span class="incident-type-badge" id="incident-type-badge"></span>
<span class="auto-refresh-indicator" id="meta-refresh-mode"></span>
</div>
<div class="incident-header-row1">
@@ -501,7 +508,7 @@
<div class="modal">
<div class="modal-header">
<div class="modal-title" id="modal-feedback-title">Feedback senden</div>
<button class="modal-close" onclick="closeModal('modal-feedback')" aria-label="Schliessen">&times;</button>
<button class="modal-close" onclick="closeModal('modal-feedback')" aria-label="Schließen">&times;</button>
</div>
<form id="feedback-form">
<div class="modal-body">