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>
Dieser Commit ist enthalten in:
Claude Dev
2026-03-15 20:44:59 +01:00
Ursprung b2ee57b15d
Commit 7d06a9a690
2 geänderte Dateien mit 65 neuen und 6 gelöschten Zeilen

Datei anzeigen

@@ -4863,3 +4863,62 @@ a.map-popup-article:hover {
[data-theme="light"] .chat-message.assistant .chat-bubble {
background: var(--bg-primary);
}
/* === Info-Icon Tooltips === */
.info-icon {
display: inline-flex;
align-items: center;
justify-content: center;
width: 15px;
height: 15px;
border-radius: 50%;
border: 1px solid var(--text-disabled);
color: var(--text-disabled);
font-size: 9px;
font-weight: 600;
font-style: normal;
font-family: inherit;
cursor: help;
margin-left: 5px;
position: relative;
vertical-align: middle;
flex-shrink: 0;
transition: color 0.15s ease, border-color 0.15s ease;
}
.info-icon:hover {
color: var(--text-secondary);
border-color: var(--text-secondary);
}
.info-icon::after {
content: attr(data-tooltip);
position: absolute;
bottom: calc(100% + 8px);
left: 50%;
transform: translateX(-50%);
background: var(--bg-secondary);
color: var(--text-primary);
font-size: 11px;
font-weight: 400;
padding: 8px 12px;
border-radius: var(--radius);
border: 1px solid var(--border);
white-space: normal;
width: max-content;
max-width: 260px;
line-height: 1.4;
pointer-events: none;
opacity: 0;
visibility: hidden;
transition: opacity 0.15s ease, visibility 0.15s ease;
z-index: 100;
box-shadow: var(--shadow-md);
}
.info-icon:hover::after {
opacity: 1;
visibility: visible;
}
/* Tooltip nach unten wenn oben kein Platz (Klasse .tooltip-below) */
.info-icon.tooltip-below::after {
bottom: auto;
top: calc(100% + 8px);
}

Datei anzeigen

@@ -222,7 +222,7 @@
<div class="grid-stack-item-content">
<div class="card incident-analysis-factcheck" id="factcheck-card">
<div class="card-header">
<div class="card-title clickable" role="button" tabindex="0" onclick="openContentModal('Faktencheck', 'factcheck-list')">Faktencheck</div>
<div class="card-title clickable" role="button" tabindex="0" onclick="openContentModal('Faktencheck', 'factcheck-list')">Faktencheck <span class="info-icon" data-tooltip="Gesichert/Bestätigt = durch mehrere unabhängige Quellen belegt. Unbestätigt/Ungeprüft = noch nicht ausreichend verifiziert. Widerlegt/Umstritten = Quellen widersprechen sich.">i</span></div>
<div class="fc-filter-bar" id="fc-filters"></div>
</div>
<div class="factcheck-list" id="factcheck-list">
@@ -323,7 +323,7 @@
<textarea id="inc-description" placeholder="Weitere Details zum Vorfall (optional)"></textarea>
</div>
<div class="form-group">
<label for="inc-type">Art der Lage</label>
<label for="inc-type">Art der Lage <span class="info-icon tooltip-below" data-tooltip="Live-Monitoring beobachtet ein Ereignis laufend mit automatischen Updates. Eine Analyse erstellt einmalig ein umfassendes Briefing mit Tiefenrecherche.">i</span></label>
<select id="inc-type" onchange="toggleTypeDefaults()">
<option value="adhoc">Live-Monitoring — Ereignis beobachten</option>
<option value="research">Analyse — Thema recherchieren</option>
@@ -338,7 +338,7 @@
<label class="toggle-label">
<input type="checkbox" id="inc-international" checked>
<span class="toggle-switch"></span>
<span class="toggle-text">Internationale Quellen einbeziehen</span>
<span class="toggle-text">Internationale Quellen einbeziehen <span class="info-icon tooltip-below" data-tooltip="Aktiviert: Sucht auch in englischsprachigen und internationalen Medien. Deaktiviert: Nur deutschsprachige Quellen.">i</span></span>
</label>
<div class="form-hint" id="sources-hint">DE + internationale Feeds (Reuters, BBC, Al Jazeera etc.)</div>
</div>
@@ -346,12 +346,12 @@
<label class="toggle-label">
<input type="checkbox" id="inc-telegram">
<span class="toggle-switch"></span>
<span class="toggle-text">Telegram-Kanäle einbeziehen</span>
<span class="toggle-text">Telegram-Kanäle einbeziehen <span class="info-icon tooltip-below" data-tooltip="Bezieht OSINT-relevante Telegram-Kanäle als zusätzliche Quelle ein. Kann die Aktualität erhöhen, aber auch unbestätigte Informationen liefern.">i</span></span>
</label>
<div class="form-hint" id="telegram-hint">Nachrichten aus konfigurierten Telegram-Kanälen berücksichtigen</div>
</div> </div>
<div class="form-group">
<label>Sichtbarkeit</label>
<label>Sichtbarkeit <span class="info-icon tooltip-below" data-tooltip="Öffentlich: Alle Nutzer der Organisation sehen diese Lage. Privat: Nur für dich sichtbar.">i</span></label>
<div class="toggle-group">
<label class="toggle-label">
<input type="checkbox" id="inc-visibility" checked>
@@ -380,7 +380,7 @@
</div>
</div>
<div class="form-group">
<label for="inc-retention">Aufbewahrung (Tage)</label>
<label for="inc-retention">Aufbewahrung (Tage) <span class="info-icon tooltip-below" data-tooltip="Nach Ablauf wird die Lage automatisch archiviert. 0 = unbegrenzt aufbewahren.">i</span></label>
<input type="number" id="inc-retention" min="0" max="999" value="30" placeholder="0 = Unbegrenzt">
<div class="form-hint">0 = Unbegrenzt, max. 999 Tage</div>
</div>