diff --git a/src/static/dashboard.html b/src/static/dashboard.html index 6f738f5..cd5c270 100644 --- a/src/static/dashboard.html +++ b/src/static/dashboard.html @@ -492,6 +492,7 @@ + @@ -806,7 +807,7 @@ - + diff --git a/src/static/js/components.js b/src/static/js/components.js index ba73725..6982748 100644 --- a/src/static/js/components.js +++ b/src/static/js/components.js @@ -1210,6 +1210,10 @@ const UI = { /** * Domain-Gruppe rendern (aufklappbar mit Feeds). */ + _sourceTypeLabel(type) { + return ({ rss_feed: 'RSS', web_source: 'Web', telegram_channel: 'Telegram', x_account: 'X', podcast_feed: 'Podcast', excluded: 'Ausgeschlossen' })[type] || 'Web'; + }, + renderSourceGroup(domain, feeds, isExcluded, excludedNotes, isGlobal) { const catLabel = this._categoryLabels[feeds[0]?.category] || feeds[0]?.category || ''; const feedCount = feeds.filter(f => f.source_type !== 'excluded').length; @@ -1244,7 +1248,7 @@ const UI = { realFeeds.forEach((feed, i) => { const isLast = i === realFeeds.length - 1; const connector = isLast ? '\u2514\u2500' : '\u251C\u2500'; - const typeLabel = feed.source_type === 'rss_feed' ? 'RSS' : 'Web'; + const typeLabel = this._sourceTypeLabel(feed.source_type); const urlDisplay = feed.url ? this._shortenUrl(feed.url) : ''; feedRows += `
${connector} @@ -1273,7 +1277,7 @@ const UI = { || firstFeed.country_code || (Array.isArray(firstFeed.alignments) && firstFeed.alignments.length > 0); if (hasInfo) { - const typeMap = { rss_feed: 'RSS-Feed', web_source: 'Web-Quelle', telegram_channel: 'Telegram-Kanal', podcast_feed: 'Podcast' }; + const typeMap = { rss_feed: 'RSS-Feed', web_source: 'Web-Quelle', telegram_channel: 'Telegram-Kanal', x_account: 'X (Twitter)', podcast_feed: 'Podcast' }; const lines = []; lines.push('Typ: ' + (typeMap[firstFeed.source_type] || firstFeed.source_type || 'Unbekannt')); if (firstFeed.language) lines.push('Sprache: ' + firstFeed.language); @@ -1314,6 +1318,7 @@ const UI = {
${this.escape(displayName)}${infoButtonHtml}
+ ${!hasMultiple ? `${this._sourceTypeLabel(feeds[0]?.source_type)}` : ''} ${catLabel} ${classificationBadges ? `${classificationBadges}` : ''} ${feedCountBadge}