|
|
|
|
@@ -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 => {
|
|
|
|
|
|