feat: Artikel- und Quellen-Anzahl im zugeklappten Quellenübersicht-Header anzeigen
Zeigt "X Artikel aus Y Quellen" direkt im Header der Quellenübersicht-Kachel, sodass die Info auch ohne Aufklappen sichtbar ist. Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
Dieser Commit ist enthalten in:
@@ -239,7 +239,7 @@
|
||||
<div class="card source-overview-card">
|
||||
<div class="card-header source-overview-header-toggle" onclick="App.toggleSourceOverview()" role="button" tabindex="0" aria-expanded="false">
|
||||
<span class="source-overview-chevron" id="source-overview-chevron" title="Aufklappen" aria-hidden="true">▸</span>
|
||||
<div class="card-title clickable">Quellenübersicht</div>
|
||||
<div class="card-title clickable">Quellenübersicht</div><span class="source-overview-header-stats" id="source-overview-header-stats"></span>
|
||||
<button class="btn btn-secondary btn-small source-detail-btn" onclick="event.stopPropagation(); openContentModal('Quellenübersicht', 'source-overview-content')">Detailansicht</button>
|
||||
</div>
|
||||
<div id="source-overview-content" style="display:none;"></div>
|
||||
@@ -346,26 +346,7 @@
|
||||
<span class="toggle-text">Telegram-Kanäle einbeziehen</span>
|
||||
</label>
|
||||
<div class="form-hint" id="telegram-hint">Nachrichten aus konfigurierten Telegram-Kanälen berücksichtigen</div>
|
||||
</div>
|
||||
<div class="tg-categories-panel" id="tg-categories-panel" style="display:none;">
|
||||
<div class="form-hint" style="margin-bottom:6px;font-weight:500;">Telegram-Kategorien auswählen:</div>
|
||||
<div class="tg-cat-grid">
|
||||
<label class="tg-cat-item"><input type="checkbox" class="tg-cat-cb" value="ukraine-russland-krieg" checked><span>Ukraine-Russland-Krieg</span><span class="tg-cat-count" data-cat="ukraine-russland-krieg"></span></label>
|
||||
<label class="tg-cat-item"><input type="checkbox" class="tg-cat-cb" value="russische-staatspropaganda" checked><span>Russische Staatspropaganda</span><span class="tg-cat-count" data-cat="russische-staatspropaganda"></span></label>
|
||||
<label class="tg-cat-item"><input type="checkbox" class="tg-cat-cb" value="russische-opposition" checked><span>Russische Opposition</span><span class="tg-cat-count" data-cat="russische-opposition"></span></label>
|
||||
<label class="tg-cat-item"><input type="checkbox" class="tg-cat-cb" value="extremismus-deutschland" checked><span>Extremismus Deutschland</span><span class="tg-cat-count" data-cat="extremismus-deutschland"></span></label>
|
||||
<label class="tg-cat-item"><input type="checkbox" class="tg-cat-cb" value="cybercrime" checked><span>Cybercrime</span><span class="tg-cat-count" data-cat="cybercrime"></span></label>
|
||||
<label class="tg-cat-item"><input type="checkbox" class="tg-cat-cb" value="cybercrime-leaks" checked><span>Cybercrime Leaks</span><span class="tg-cat-count" data-cat="cybercrime-leaks"></span></label>
|
||||
<label class="tg-cat-item"><input type="checkbox" class="tg-cat-cb" value="osint-international" checked><span>OSINT International</span><span class="tg-cat-count" data-cat="osint-international"></span></label>
|
||||
<label class="tg-cat-item"><input type="checkbox" class="tg-cat-cb" value="irankonflikt" checked><span>Irankonflikt</span><span class="tg-cat-count" data-cat="irankonflikt"></span></label>
|
||||
<label class="tg-cat-item"><input type="checkbox" class="tg-cat-cb" value="syrien-nahost" checked><span>Syrien / Nahost</span><span class="tg-cat-count" data-cat="syrien-nahost"></span></label>
|
||||
</div>
|
||||
<div class="tg-cat-actions">
|
||||
<button type="button" class="btn-link" onclick="toggleAllTgCats(true)">Alle</button>
|
||||
<button type="button" class="btn-link" onclick="toggleAllTgCats(false)">Keine</button>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</div> </div>
|
||||
<div class="form-group">
|
||||
<label>Sichtbarkeit</label>
|
||||
<div class="toggle-group">
|
||||
@@ -600,6 +581,24 @@
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<!-- Chat-Assistent Widget -->
|
||||
<button class="chat-toggle-btn" id="chat-toggle-btn" title="Chat-Assistent" aria-label="Chat-Assistent oeffnen">
|
||||
<svg viewBox="0 0 24 24"><path d="M20 2H4c-1.1 0-2 .9-2 2v18l4-4h14c1.1 0 2-.9 2-2V4c0-1.1-.9-2-2-2zm0 14H5.2L4 17.2V4h16v12z"/></svg>
|
||||
</button>
|
||||
<div class="chat-window" id="chat-window">
|
||||
<div class="chat-header">
|
||||
<span class="chat-header-title">AegisSight Assistent</span>
|
||||
<button class="chat-header-close" id="chat-close-btn" title="Schliessen" aria-label="Chat schliessen">×</button>
|
||||
</div>
|
||||
<div class="chat-messages" id="chat-messages"></div>
|
||||
<form class="chat-input-area" id="chat-form" autocomplete="off">
|
||||
<textarea id="chat-input" rows="1" placeholder="Frage stellen..." maxlength="2000"></textarea>
|
||||
<button type="submit" class="chat-send-btn" title="Senden" aria-label="Nachricht senden">
|
||||
<svg viewBox="0 0 24 24"><path d="M2.01 21L23 12 2.01 3 2 10l15 2-15 2z"/></svg>
|
||||
</button>
|
||||
</form>
|
||||
</div>
|
||||
|
||||
<!-- Toast Container -->
|
||||
<div class="toast-container" id="toast-container" aria-live="polite" aria-atomic="true"></div>
|
||||
|
||||
@@ -611,6 +610,8 @@
|
||||
<script src="/static/js/components.js?v=20260304h"></script>
|
||||
<script src="/static/js/layout.js?v=20260304h"></script>
|
||||
<script src="/static/js/app.js?v=20260304h"></script>
|
||||
<script src="/static/js/chat.js?v=20260315a"></script>
|
||||
<script>document.addEventListener("DOMContentLoaded",function(){Chat.init()});</script>
|
||||
|
||||
<!-- Map Fullscreen Overlay -->
|
||||
<div class="map-fullscreen-overlay" id="map-fullscreen-overlay">
|
||||
|
||||
In neuem Issue referenzieren
Einen Benutzer sperren