From d48d747258120d8ce463a23256a39e06767d559e Mon Sep 17 00:00:00 2001 From: Alexander Kolotov Date: Thu, 9 Apr 2026 12:17:37 -0600 Subject: [PATCH] allow to configure displaying of badges in session lists --- src/frontend/app.js | 22 ++++++++++++++++++++-- 1 file changed, 20 insertions(+), 2 deletions(-) diff --git a/src/frontend/app.js b/src/frontend/app.js index 6fd757a..012fb10 100644 --- a/src/frontend/app.js +++ b/src/frontend/app.js @@ -28,6 +28,7 @@ let stars = JSON.parse(localStorage.getItem('codedash-stars') || '[]'); let tags = JSON.parse(localStorage.getItem('codedash-tags') || '{}'); let sessionTitles = JSON.parse(localStorage.getItem('codedash-titles') || '{}'); let showAITitles = localStorage.getItem('codedash-ai-titles') !== 'false'; +let showAllSessionsListBadges = localStorage.getItem('codedash-all-sessions-list-badges') !== 'false'; // ── Color palette for projects ───────────────────────────────── @@ -291,6 +292,12 @@ function toggleAITitles(checked) { render(); } +function toggleAllSessionsListBadges(checked) { + showAllSessionsListBadges = checked; + localStorage.setItem('codedash-all-sessions-list-badges', checked ? 'true' : 'false'); + render(); +} + function saveGroupingMode(mode) { groupingMode = normalizeGroupingMode(mode); localStorage.setItem('codedash-grouping-mode', groupingMode); @@ -748,6 +755,7 @@ function renderListCard(s, idx) { var isFocused = focusedIndex === idx; var projName = getProjectName(s.project); var projColor = getProjectColor(projName); + var showBadges = showAllSessionsListBadges; var classes = 'list-row'; if (isSelected) classes += ' selected'; @@ -756,12 +764,12 @@ function renderListCard(s, idx) { var html = '
'; var listToolLabel = s.tool === 'claude-ext' ? 'claude ext' : s.tool; html += '' + escHtml(listToolLabel) + ''; - if (s.mcp_servers && s.mcp_servers.length > 0) { + if (showBadges && s.mcp_servers && s.mcp_servers.length > 0) { s.mcp_servers.forEach(function(m) { html += '' + escHtml(m) + ''; }); } - if (s.skills && s.skills.length > 0) { + if (showBadges && s.skills && s.skills.length > 0) { s.skills.forEach(function(sk) { html += '' + escHtml(sk) + ''; }); @@ -1534,6 +1542,7 @@ function renderSettings(container) { var savedTheme = localStorage.getItem('codedash-theme') || 'dark'; var savedTerminal = localStorage.getItem('codedash-terminal') || ''; var aiTitlesOn = localStorage.getItem('codedash-ai-titles') === 'true'; + var allSessionsListBadgesOn = localStorage.getItem('codedash-all-sessions-list-badges') !== 'false'; var savedGroupingMode = normalizeGroupingMode(localStorage.getItem('codedash-grouping-mode')); var html = '
'; @@ -1573,6 +1582,15 @@ function renderSettings(container) { html += '
'; html += '
'; + // All Sessions list badges + html += '
'; + html += ''; + html += '
'; + html += ''; + html += 'Show MCP and Skills badges in list-view session rows'; + html += '
'; + html += '
'; + // Grouping html += '
'; html += '';