diff --git a/ccw/src/templates/dashboard-css/36-loop-monitor.css b/ccw/src/templates/dashboard-css/36-loop-monitor.css index fb57dfe6..8f7705e6 100644 --- a/ccw/src/templates/dashboard-css/36-loop-monitor.css +++ b/ccw/src/templates/dashboard-css/36-loop-monitor.css @@ -524,6 +524,19 @@ border-bottom: 1px solid hsl(var(--border)); } +.kanban-header-left { + display: flex; + align-items: center; + gap: 0.75rem; +} + +.kanban-loop-title { + font-size: 0.875rem; + font-weight: 500; + color: hsl(var(--foreground)); + opacity: 0.85; +} + .detail-actions { display: flex; gap: 0.5rem; diff --git a/ccw/src/templates/dashboard-js/i18n.js b/ccw/src/templates/dashboard-js/i18n.js index 3bfa7807..13fd7e34 100644 --- a/ccw/src/templates/dashboard-js/i18n.js +++ b/ccw/src/templates/dashboard-js/i18n.js @@ -2199,6 +2199,8 @@ const i18n = { 'loop.kanban.byStatus': 'By Status', 'loop.kanban.byPriority': 'By Priority', 'loop.kanban.noBoardData': 'No tasks to display', + 'loop.listView': 'List View', + 'loop.addTask': 'Add Task', // Navigation & Grouping 'loop.nav.groupBy': 'Group By', @@ -4790,6 +4792,8 @@ const i18n = { 'loop.kanban.byStatus': '按状态', 'loop.kanban.byPriority': '按优先级', 'loop.kanban.noBoardData': '没有要显示的任务', + 'loop.listView': '列表视图', + 'loop.addTask': '添加任务', // Navigation & Grouping 'loop.nav.groupBy': '分组', diff --git a/ccw/src/templates/dashboard-js/views/loop-monitor.js b/ccw/src/templates/dashboard-js/views/loop-monitor.js index bed97239..c2503aa6 100644 --- a/ccw/src/templates/dashboard-js/views/loop-monitor.js +++ b/ccw/src/templates/dashboard-js/views/loop-monitor.js @@ -1583,9 +1583,11 @@ function renderKanbanBoardContent(container, loop, loopId, tasksByStatus) { container.innerHTML = `
-
- - ${t('loop.kanban.title') || 'Tasks Board'} +
+
+ + ${t('loop.kanban.title') || 'Tasks Board'} +
${escapeHtml(loop.title || loop.loop_id)}