fix(sources): Typ-Filter in der Fall-Quellenuebersicht immer anzeigen
Die Filter-Chips wurden nur eingeblendet, wenn ein Fall Telegram- oder X-Quellen hatte. Bei reinen Web-Faellen (z.B. in der Org jp_demo) fehlte die Filterleiste damit komplett. Sie wird jetzt immer angezeigt, sobald Quellen vorhanden sind, und zeigt zugleich, welche Quellentypen der Fall enthaelt. Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com>
Dieser Commit ist enthalten in:
@@ -1034,25 +1034,24 @@ const UI = {
|
||||
html += `<div class="source-lang-chips">${langChips}</div>`;
|
||||
html += `</div>`;
|
||||
|
||||
// Typ-Filter-Chips (nur zeigen, wenn neben Web auch Telegram/X vorkommt)
|
||||
// Typ-Filter-Chips: immer zeigen, sobald Quellen vorhanden sind. Die Leiste
|
||||
// zeigt zugleich auf einen Blick, welche Quellentypen der Fall enthaelt.
|
||||
const typeCounts = { web: 0, telegram: 0, x: 0 };
|
||||
data.sources.forEach(s => {
|
||||
const t = s.source_type || 'web';
|
||||
typeCounts[t] = (typeCounts[t] || 0) + 1;
|
||||
});
|
||||
if (typeCounts.telegram > 0 || typeCounts.x > 0) {
|
||||
const typeMeta = [
|
||||
{ key: '', label: 'Alle', count: data.sources.length },
|
||||
{ key: 'web', label: 'Web', count: typeCounts.web },
|
||||
{ key: 'telegram', label: 'Telegram', count: typeCounts.telegram },
|
||||
{ key: 'x', label: 'X', count: typeCounts.x },
|
||||
];
|
||||
const chips = typeMeta
|
||||
.filter(t => t.key === '' || t.count > 0)
|
||||
.map(t => `<button type="button" class="source-type-filter-chip${t.key === '' ? ' active' : ''}" data-type="${t.key}" onclick="App.filterSourceOverview('${t.key}', this)">${t.label} <strong>${t.count}</strong></button>`)
|
||||
.join('');
|
||||
html += `<div class="source-type-filter-chips">${chips}</div>`;
|
||||
}
|
||||
const typeMeta = [
|
||||
{ key: '', label: 'Alle', count: data.sources.length },
|
||||
{ key: 'web', label: 'Web', count: typeCounts.web },
|
||||
{ key: 'telegram', label: 'Telegram', count: typeCounts.telegram },
|
||||
{ key: 'x', label: 'X', count: typeCounts.x },
|
||||
];
|
||||
const chips = typeMeta
|
||||
.filter(t => t.key === '' || t.count > 0)
|
||||
.map(t => `<button type="button" class="source-type-filter-chip${t.key === '' ? ' active' : ''}" data-type="${t.key}" onclick="App.filterSourceOverview('${t.key}', this)">${t.label} <strong>${t.count}</strong></button>`)
|
||||
.join('');
|
||||
html += `<div class="source-type-filter-chips">${chips}</div>`;
|
||||
|
||||
html += '<div class="source-overview-grid">';
|
||||
data.sources.forEach(s => {
|
||||
|
||||
In neuem Issue referenzieren
Einen Benutzer sperren