fix: resolve Loop Monitor UI styling issues

- Add missing i18n keys: 'loop.listView' and 'loop.addTask' for both English and Chinese
- Fix kanban board header layout: wrap title and loop name in separate container (.kanban-header-left)
- Add CSS styling for .kanban-header-left and .kanban-loop-title to properly display loop titles
- Improve visual separation between 'Tasks Board' label and loop title

This fixes the issue where loop titles were appearing inline with the 'Tasks Board' header,
making them appear jumbled (e.g., '任务看板 在' instead of '任务看板' | '在').
This commit is contained in:
catlog22
2026-01-22 11:07:47 +08:00
parent e11c4ba8ed
commit d70f02abed
3 changed files with 22 additions and 3 deletions

View File

@@ -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;

View File

@@ -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': '分组',

View File

@@ -1583,9 +1583,11 @@ function renderKanbanBoardContent(container, loop, loopId, tasksByStatus) {
container.innerHTML = `
<div class="loop-detail">
<div class="detail-header">
<div class="detail-status ${loop.status}">
<i data-lucide="layout-grid" class="w-4 h-4"></i>
<span class="status-label">${t('loop.kanban.title') || 'Tasks Board'}</span>
<div class="kanban-header-left">
<div class="detail-status ${loop.status}">
<i data-lucide="layout-grid" class="w-4 h-4"></i>
<span class="status-label">${t('loop.kanban.title') || 'Tasks Board'}</span>
</div>
<span class="kanban-loop-title">${escapeHtml(loop.title || loop.loop_id)}</span>
</div>
<div class="detail-actions">