Commit graph

167 Commits

Autor SHA1 Nachricht Datum
Claude Dev
4a1ab67703 Tutorial: Umfangreiche visuelle Korrekturen
Step 17 (Lagebild): Quellenverweise [1]-[5] jetzt in Gold (var(--accent))
wie echte Links im Original.

Step 20 (Faktencheck-Detail): Scrollt beim Betreten ans Ende der
Faktencheck-Liste um auch unbestaetigte/widerlegte Eintraege zu zeigen,
scrollt dann zurueck nach oben.

Step 22 (Timeline): Komplett ueberarbeitete Demo-Timeline mit echtem
Achsen-basiertem Layout (ht-axis, ht-points, ht-day-markers, ht-detail-panel)
statt einfacher Listenansicht. Entspricht dem Original-Rendering.

Step 23 (Karte): Startet jetzt bei Europa-Zoom (Zoom 5), dann animierter
flyTo auf Hamburg (Zoom 13, 2.5s Dauer). Marker und Legende wie bisher.

Step 25 (Resize): Stellt exakte Originalgroesse nach Demo wieder her,
entfernt CSS-Werte erst nach 100ms damit GridStack uebernehmen kann.

Step 27+30 (Bubble-Position): Post-Render-Check verhindert dass Bubbles
unter den Viewport-Rand rutschen, verschiebt sie automatisch nach oben.

Layout: Tutorial erzwingt Standard-Layout beim Start (DEFAULT_LAYOUT),
stellt das vom Nutzer angepasste Layout nach Tutorial-Ende wieder her.

Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
2026-03-16 16:37:57 +01:00
Claude Dev
4aaf0c1d5e Tutorial: Quellenverwaltung in zwei Steps aufteilen mit manuellem Weiterklick
Step 28 (Quellendetails): Cursor faehrt zum Info-Icon, Tooltip wird
angezeigt und bleibt stehen bis der Nutzer manuell auf Weiter klickt.
So hat der Nutzer Zeit, den Tooltip in Ruhe zu lesen.

Step 29 (Quellen verwalten): Cursor zeigt + Quelle Button und
Ausschliessen Button nacheinander, mit Erklaerungen in der Bubble.

Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
2026-03-16 16:24:05 +01:00
Claude Dev
6c72190f86 Tutorial: Karten-Platzhalter in normaler Kachelansicht zurueckbringen
Die Karten-Kachel zeigte nur grau, weil die Leaflet-Map erst im
Vollbild-Step erstellt wird. Jetzt zeigt die Kachel wieder einen
visuellen Platzhalter mit Globus-Icon und erkannten Orten.

Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
2026-03-16 16:22:03 +01:00
Claude Dev
014e968daf Tutorial: GridStack initialisieren bei Demo-View Injektion
Ohne GridStack-Init werden alle Kacheln uebereinander gestapelt,
da die Positionierung fehlt. Jetzt wird LayoutManager.init()
aufgerufen und ein Compact-Layout erzwungen.

Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
2026-03-16 16:21:30 +01:00
Claude Dev
71610f437a Tutorial: Spotlight bei Modal-Steps ausblenden
Bei Steps die auf ein Modal zeigen (#modal-new, #modal-sources) wird
der Spotlight-Overlay nicht angezeigt. Das Modal hat bereits einen
eigenen Abdunkelungs-Hintergrund, der zusaetzliche Spotlight-Shadow
verdunkelte das Formular unlesbar.

Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
2026-03-16 16:18:23 +01:00
Claude Dev
35ea612d5d Tutorial: Quellenverwaltung mit Cursor-Demo und Tooltip-Anzeige
Quellen-Modal-Step (22) ist jetzt eine interaktive Demo:
- Wartet bis Quellen per API geladen sind (max 3s)
- Cursor faehrt zum ersten Info-Icon einer Quelle
- Tooltip wird manuell erzeugt und zeigt Typ, Sprache, Ausrichtung
- Tooltip bleibt 3s sichtbar, dann Cursor weiter zu:
- "+ Quelle" Button wird gehighlightet (neue Quellen hinzufuegen)
- "Ausschliessen" Button der ersten Quelle wird gehighlightet
- Alle Funktionen werden in der Bubble-Beschreibung erklaert

Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
2026-03-16 16:12:18 +01:00
Claude Dev
3a2ea7a8c7 Tutorial: Karte im Vollbild mit Markern, echte Drag/Resize-Animationen
Karte (Step 17):
- Oeffnet jetzt die Karten-Vollbild-Ansicht mit eigenem Leaflet-Map
- Zoomt auf Hamburg (Zoom 13) mit 3 farbcodierten Markern
- Cursor faehrt zu Markern, oeffnet Popups (Burchardkai, Innenstadt)
- Legende erklaert Kategorien (Hauptereignisort/Erwaehnt/Kontext)
- Funktionen Orte einlesen + Vollbild werden in der Bubble erklaert
- Map wird beim Step-Exit sauber aus dem Fullscreen entfernt

Drag-Demo (Step 18):
- Kachel bewegt sich jetzt visuell per CSS transform mit dem Cursor
- 150px nach rechts, dann zurueck - echte Verschiebe-Animation
- Kachel erhaelt erhoehten z-index waehrend der Animation

Resize-Demo (Step 19):
- Kachel aendert visuell Breite/Hoehe mit dem Cursor
- 80px breiter + 50px hoeher, dann zurueck
- Echte Groessenaenderung sichtbar statt nur Cursor-Bewegung

Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
2026-03-16 16:09:23 +01:00
Claude Dev
6d09c0a5fa Tutorial: Formular Feld fuer Feld erklaeren + Klicks blockieren
Formular-Steps komplett ueberarbeitet (Steps 2-9):
- Step 3: Titel + Beschreibung mit Tipp-Animation
- Step 4: Art der Lage (Live vs Recherche) mit Cursor-Demo + Erklaerung
- Step 5: Quellen (International + Telegram) einzeln gehighlightet + erklaert
- Step 6: Sichtbarkeit (Oeffentlich/Privat) mit Toggle-Demo
- Step 7: Aktualisierung + Intervall, Hinweis auf Creditverbrauch
- Step 8: Aufbewahrung erklaert
- Step 9: E-Mail-Benachrichtigungen (alle 3 Optionen einzeln gehighlightet)

Jedes Feld wird mit Cursor angesteuert, gehighlightet und erklaert.
Modal-Body scrollt automatisch zu den jeweiligen Feldern.

Klick-Blockierung: Waehrend des Tutorials sind alle Dashboard-Elemente
nicht anklickbar (pointer-events:none auf body.tutorial-active).
Nur die Tutorial-Bubble mit Navigation bleibt bedienbar.

Duplikate der alten Methoden entfernt.

Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
2026-03-16 16:05:17 +01:00
Claude Dev
37d7addd5b Login: Lagemonitor -> Monitor
Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
2026-03-16 15:56:58 +01:00
Claude Dev
1a372343bc Tutorial: Formular live mit Cursor ausfuellen statt statisch vorab
Step 3 ist jetzt eine interaktive Demo:
- Cursor faehrt zum Titel-Feld, tippt "Explosion in Hamburger Hafen"
  Zeichen fuer Zeichen ein
- Cursor wechselt zur Beschreibung, tippt Kurztext
- Modal scrollt nach unten, Cursor wechselt Aktualisierung auf Auto
- Jedes Feld wird beim Ausfuellen gehighlightet
- _simulateTyping(): Neue Helfer-Methode fuer Zeichen-fuer-Zeichen-Eingabe
- Step 4 (Typ-Wechsel) scrollt Modal zurueck nach oben zum Typ-Feld

Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
2026-03-16 15:28:49 +01:00
Claude Dev
1ea62ba901 Tutorial: Modals sauber schliessen bei Zurueck-Navigation und Abbruch
- _stepTimeout() ersetzt setTimeout in onEnter-Callbacks: Wird beim
  Step-Wechsel automatisch gecancelt, kein verspaetetes Modal-Oeffnen mehr
- _exitStep() raeumt alle Step-Timer auf bevor onExit laeuft
- stop() schliesst alle Modals (modal-new, modal-sources) und setzt
  Formular-Inputs zurueck
- Sources-Button-Step hat jetzt onExit zum Modal-Schliessen
- Behebt: Modal bleibt offen bei Zurueck-Klick, Modal erscheint erneut
  nach Zurueck-Navigation

Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
2026-03-16 15:22:57 +01:00
Claude Dev
be43b0ffcf Bump chat.js cache version
Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
2026-03-16 15:08:23 +01:00
Claude Dev
77e83efae0 Tutorial: Echte Leaflet-Karte mit Hamburg-Markern statt Platzhalter
- Initialisiert eine echte Leaflet-Map auf Hamburg (Zoom 13) mit 3 Demo-Markern:
  Burchardkai Terminal (Hauptereignisort), Hamburg Innenstadt, Elbe/Hafengebiet
- Farbcodierte Marker mit Legende (Hauptereignisort/Erwaehnt/Kontext)
- Marker-Popups mit Artikelanzahl, Hauptmarker oeffnet automatisch
- Karten-Step ist jetzt eine interaktive Demo (disableNav):
  Cursor faehrt zum Marker und klickt ihn, dann werden Geoparse-Button
  und Vollbild-Button nacheinander gehighlightet
- Theme-abhaengige Tile-Layer (dark/light)
- Map wird beim Tutorial-Ende sauber entfernt

Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
2026-03-16 15:06:52 +01:00
Claude Dev
5289bbf29b Tutorial: Spotlight und Bubble auf sichtbaren Viewport-Bereich beschraenken
- Spotlight wird auf den sichtbaren Teil des Elements geclippt statt
  ueber den Viewport hinauszuragen
- Bubble-Position nutzt sichtbaren Elementbereich statt voller Rect
- Demo-Summary-Text gekuerzt, damit er in die Lagebild-Kachel passt
- Behebt das Problem, dass bei grossen Kacheln (Lagebild, Timeline, Karte)
  die Sprechblase ausserhalb des sichtbaren Bereichs landete

Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
2026-03-16 15:04:02 +01:00
Claude Dev
b33e635746 Tutorial Step 4: Virtuelle Maus-Demo fuer Lage-Typ-Wechsel
Cursor faehrt zum Select-Feld, wechselt von Live-Monitoring zu Recherche
und zurueck. Nav-Buttons erst nach Demo-Ende aktiv.

Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
2026-03-16 15:01:25 +01:00
Claude Dev
adc83f3997 Chat-Begruessung kuerzen: Nur noch ein kurzer Satz statt Beispielliste
Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
2026-03-16 14:41:34 +01:00
Claude Dev
c031fec27e Fix Tutorial-Hinweis im Chat: sessionStorage statt localStorage, Close-Button
- Hinweis erscheint beim ersten Chat-Oeffnen jeder Browser-Session
- X-Button zum Wegklicken (setzt sessionStorage, nicht localStorage)
- Klick auf Hinweis-Text startet Tutorial und schliesst Chat
- Naechste Session zeigt den Hinweis erneut an

Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
2026-03-16 14:36:17 +01:00
Claude Dev
d5022f0d6f Tutorial: Demo-Lage mit Platzhaltern, detaillierte Erklaerungen, Scroll-to-View
Kompletter Umbau des Tutorial-Systems:
- Tutorial funktioniert jetzt ohne bestehende Lagen
- Injiziert Demo-Lage (Explosion Hamburger Hafen) mit realistischen Platzhaltern
  in Sidebar, Lagebild, Faktencheck, Timeline, Quellen und Karte
- 25 Steps statt 20: Neue Lage vs Recherche erklaert, jede Kachel detailliert
- ScrollIntoView vor jedem Step (wichtig fuer Karte etc.)
- Sub-Element-Highlighting: Markiert spezifische Funktionen innerhalb der Kacheln
  (Quellenverweise, Filter, Buttons, Kartensteuerung)
- Sauberes Aufraumen: Demo-Daten werden nach Tutorial entfernt, Dashboard-Zustand
  wird vollstaendig wiederhergestellt

Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
2026-03-16 14:32:56 +01:00
Claude Dev
e5bcfb3d75 Interaktives Tutorial-System mit 20 Schritten, Spotlight, Sprechblasen und virtuellen Maus-Demos
Neues Tutorial-System fuer gefuehrten Rundgang durch den Monitor:
- tutorial.js: Tutorial-Engine mit Spotlight-Abdunkelung, Bubble-Navigation,
  virtuellem Cursor fuer Drag/Resize-Demos, Keyboard-Support (Escape/Pfeiltasten)
- 20 Steps: Welcome, Sidebar, Lagen, Kacheln, Layout, Theme, Export, Chat, etc.
- Automatisches Ueberspringen von Steps wenn keine Lage geoeffnet
- Modal-Handling fuer Neue-Lage und Quellenverwaltung Steps
- Chat-Integration: Tutorial-Hinweis beim ersten Oeffnen, Keywords (rundgang/tutorial/tour/fuehrung)
- localStorage-Persistenz (osint_tutorial_seen)

Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
2026-03-16 14:23:32 +01:00
Claude Dev
bbd4821011 fix: Quellenlinks mit Buchstaben-Suffix ([389a] etc.) korrekt verlinken
Probleme:
- Frontend-Regex matchte nur reine Zahlen, nicht [389a]-Style Refs
- 17 alphanumerische Quellen im Irankonflikt blieben unverlinkt
- Orchestrator-Validierung erkannte diese Refs nicht als fehlend

Fixes:
- Frontend: Regex erweitert auf [\d+a-z?], Vergleich mit String und Number
- Orchestrator: Validierung erkennt jetzt auch alphanumerische Refs
- Analyzer-Prompts: Explizite Anweisung, nur ganze Zahlen als Nr zu verwenden
- 822a und 859a in Irankonflikt sources_json nachgetragen
- Cache-Buster aktualisiert

Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
2026-03-16 11:34:55 +01:00
Claude Dev
599102740a fix: updated_at wird jetzt immer nach Refresh aktualisiert
Bisher wurde updated_at nur gesetzt wenn die Claude-Analyse erfolgreich
war. Bei fehlgeschlagenem JSON-Parsing blieb der alte Timestamp stehen,
obwohl neue Artikel gesammelt und Faktenchecks durchgefuehrt wurden.
Jetzt wird updated_at am Ende jedes Refreshs gesetzt.

Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
2026-03-16 11:29:59 +01:00
Claude Dev
b38ae9e1b1 fix: Quellenlinks bei String-Nr repariert (574, 610, 611, 617 etc.)
Ursache: Claude liefert teilweise Quellennummern als String statt Integer.
Der Frontend-Vergleich (===) schlug dann fehl: "574" !== 574.

Fixes:
- 95 String-Nummern in Irankonflikt sources_json zu Integer konvertiert
- 5 Duplikate entfernt
- Frontend: Number() statt parseInt/=== fuer robusten Vergleich
- Orchestrator: Automatische Konvertierung von String-Nr zu Integer vor DB-Speicherung
- Cache-Buster aktualisiert

Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
2026-03-16 11:00:00 +01:00
Claude Dev
40011b515a ui: Netzwerkanalyse-Button voruebergehend ausgeblendet
Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
2026-03-16 10:55:17 +01:00
Claude Dev
aad473a568 feat: Quelleneinordnung (Bias) in Lageberichten fuer kritische Quellen
Parteiische Quellen (pro-russisch, pro-iranisch, rechtsextrem etc.)
werden jetzt im Lagebericht-Fliesstext als solche gekennzeichnet,
damit der Leser die Informationen einordnen kann.

Aenderungen:
- Orchestrator reichert Artikel mit source_bias aus der sources-Tabelle an
- Analyzer zeigt Einordnung im Artikel-Kontext fuer den Claude-Prompt
- Alle 4 Prompt-Templates enthalten neue Regel zur Quellenkennzeichnung

Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
2026-03-16 10:53:36 +01:00
Claude Dev
bf21bc4e2c fix: Fehlende Quellenverweise in Lageberichten repariert und Validierung ergaenzt
17 fehlende Quellen (815-831) im Irankonflikt und 11 fehlende (77-87)
im Ukraine-Konflikt in sources_json nachgetragen. Ursache: Claude
referenziert Quellen im Summary-Text, liefert sie aber nicht immer
im sources-Array mit. Neue Validierung im Orchestrator erkennt
fehlende Quellennummern nach dem Merge und fuegt Platzhalter ein.

Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
2026-03-16 10:46:25 +01:00
Claude Dev
1831d52945 fix: Cache-Buster aktualisiert fuer Quellen-Info-Button
Statische JS/CSS-Dateien hatten alten Cache-Buster (20260304h),
dadurch wurde die neue components.js mit Info-Tooltips nicht geladen.

Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
2026-03-16 10:37:37 +01:00
Claude Dev
d031fb28d6 feat: Info-Button mit Tooltip (Typ, Sprache, Ausrichtung) in Quellenverwaltung
- DB-Migration: language und bias Spalten zur sources-Tabelle hinzugefuegt
- Alle 254 Quellen mit Metadaten befuellt (Sprache, politische Ausrichtung)
- SourceResponse-Modell um language/bias Felder erweitert
- Info-Icon (i) mit Hover-Tooltip nach source-group-name eingefuegt
- Tooltip zeigt Typ, Sprache und Ausrichtung der jeweiligen Quelle

Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
2026-03-16 10:28:57 +01:00
Claude Dev
a2fd01e177 fix: Telegram-Kanaele zeigen echten Namen statt _single_ID in Quellenverwaltung
Telegram-Quellen haben kein domain-Feld, daher wurde der interne
Gruppierungsschluessel _single_<id> als Anzeigename verwendet.
Jetzt wird bei _single_-Prefix auf den tatsaechlichen Kanalnamen zurueckgegriffen.

Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
2026-03-16 10:19:34 +01:00
Claude Dev
5018dddad5 fix: Lagen im Netzwerk-Modal sortiert — Live alphabetisch, dann Analyse alphabetisch
Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
2026-03-16 00:42:56 +01:00
Claude Dev
432147de4b fix: Checkbox-Layout im Netzwerkanalyse-Modal korrigiert
Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
2026-03-16 00:41:32 +01:00
Claude Dev
d9fbb955dc fix: Sidebar-Layout — Netzwerkanalyse-Button neben Neue Lage, Deep-Research statt Analysen & Briefings
Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
2026-03-16 00:38:05 +01:00
Claude Dev
9a35973d00 feat: Netzwerkanalyse-Feature (Wissensgraph)
Neues Feature zur Visualisierung von Entitäten und Beziehungen
aus ausgewählten Lagen als interaktiver d3.js-Netzwerkgraph.

- Haiku extrahiert Entitäten (Person, Organisation, Ort, Ereignis, Militär)
- Opus analysiert Beziehungen und korrigiert Haiku-Fehler
- 6 neue DB-Tabellen (network_analyses, _entities, _relations, etc.)
- REST-API: CRUD + Generierung + Export (JSON/CSV)
- d3.js Force-Directed Graph mit Zoom, Filter, Suche, Export
- WebSocket-Events für Live-Progress während Generierung
- Sidebar-Integration mit Netzwerkanalysen-Sektion

Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
2026-03-16 00:34:26 +01:00
Claude Dev
d86dae1e86 fix: Alle Highlight-Selektoren auf korrekte DOM-Elemente gemappt 2026-03-15 23:54:33 +01:00
Claude Dev
13ae36cfcf fix: Quellen-Highlight auf Quellen-verwalten-Button statt Uebersicht-Kachel 2026-03-15 23:41:28 +01:00
Claude Dev
50281b4986 fix: Highlight-Keywords praeziser, korrekte DOM-Selektoren fuer Quellen/Faktencheck/Karte 2026-03-15 23:39:39 +01:00
Claude Dev
711b8b625b fix: Highlight nur bei API-Antworten, nicht bei Begruessung 2026-03-15 23:37:20 +01:00
Claude Dev
a7741b5985 feat: Chat-Highlight scrollt zum Element, roter prominenter Pulse-Effekt 2026-03-15 23:35:58 +01:00
Claude Dev
7d127688d1 feat: UI-Highlight bei Chat-Antworten, Barrierefreiheits-Doku im Assistenten 2026-03-15 23:31:09 +01:00
Claude Dev
d8f8fe4c86 fix: Support-Verweis klarstellen, kein Einblick in Nutzerinhalte suggerieren 2026-03-15 23:24:05 +01:00
Claude Dev
c010843ca7 fix: Chat-Widget JS-Syntaxfehler behoben (mehrzeiliger String) 2026-03-15 23:18:41 +01:00
Claude Dev
767d45de9b fix: Chat-Begruessung und Prompt angepasst, keine Limitationen auflisten, Support-Verweis 2026-03-15 23:15:25 +01:00
Claude Dev
c4f3e7c36a refactor: Chat-Assistent auf interaktive Anleitung umgebaut, DB-Lookups und Lage-Kontext entfernt 2026-03-15 23:11:38 +01:00
Claude Dev
cf517336c9 fix: Tooltip-Text erbt UI-Schriftart statt Serif
Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
2026-03-15 21:07:31 +01:00
Claude Dev
a825dfd156 fix: Info-Icon bei Art der Lage entfernt (Hint-Text reicht)
Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
2026-03-15 21:06:17 +01:00
Claude Dev
ac02413c59 fix: Redundante form-hints entfernt wo Info-Icon Tooltip existiert
Internationale Quellen, Telegram, Aufbewahrung: Doppelte Info-Texte entfernt

Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
2026-03-15 21:04:53 +01:00
Claude Dev
8f5f73dbd6 fix: Tooltip-Zeilenumbrüche bei Mehrzustands-Erklärungen
Internationale Quellen, Sichtbarkeit, Faktencheck: Jeder Zustand beginnt in eigener Zeile

Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
2026-03-15 20:54:48 +01:00
Claude Dev
e013bcf48e feat: Checkbox-Filter fuer Karten-Legende - Marker pro Kategorie ein-/ausblendbar 2026-03-15 20:52:16 +01:00
Claude Dev
2093ef3c67 fix: Tooltip-Text größer (12.5px statt 11px)
Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
2026-03-15 20:50:44 +01:00
Claude Dev
b1b92510f3 fix: Info-Icon Schrift von Caps auf normale Serif-Schrift
Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
2026-03-15 20:48:31 +01:00
Claude Dev
7d06a9a690 ui: Info-Icons mit Hover-Tooltips an 6 Stellen
- CSS-only Tooltip-System (.info-icon mit data-tooltip Attribut)
- Modal: Art der Lage, Internationale Quellen, Telegram, Sichtbarkeit, Aufbewahrung
- Dashboard: Faktencheck-Kachel (erklärt Status-Kategorien)

Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
2026-03-15 20:44:59 +01:00