fix: stabilize usage loading and session search

This commit is contained in:
shiyue
2026-08-05 10:41:50 +08:00
parent c61b7434d2
commit 3f00cfe7a4
22 changed files with 109 additions and 47 deletions

View File

@@ -349,13 +349,13 @@
const usageDashboardStatus = $('#usage-dashboard-status');
const usageDashboardGeneratedAt = $('#usage-dashboard-generated-at');
const usageDashboardRefresh = $('#usage-dashboard-refresh');
const usageDashboardRefreshLabel = $('#usage-dashboard-refresh-label');
const usageDashboardPeriodWeek = $('#usage-dashboard-period-week');
const usageDashboardPeriodMonth = $('#usage-dashboard-period-month');
const usageDashboardPeriodCustom = $('#usage-dashboard-period-custom');
const usageDashboardFrom = $('#usage-dashboard-from');
const usageDashboardTo = $('#usage-dashboard-to');
const usageDashboardApply = $('#usage-dashboard-apply');
const usageDashboardLoading = $('#usage-dashboard-loading');
const usageDashboardError = $('#usage-dashboard-error');
const usageDashboardTrend = $('#usage-dashboard-trend');
const usageDashboardMcpStatus = $('#usage-dashboard-mcp-status');
@@ -4142,7 +4142,8 @@
title: result?.title || match?.title || '未命名会话',
projectName: result?.projectName || match?.projectName || '',
cwd: result?.cwd || match?.cwd || '',
updated: match?.timestamp || result?.updated || null,
updated: match?.timestamp || result?.matchTimestamp || result?.updated || null,
sessionUpdated: result?.sessionUpdated || result?.updated || null,
snippet: match?.snippet || result?.snippet || '',
messageIndex: Number.isFinite(Number(match?.messageIndex)) ? Number(match.messageIndex) : null,
});
@@ -4459,19 +4460,23 @@
}
function setUsageDashboardState(state, message = '') {
usageDashboardState.loading = state === 'loading';
const loading = state === 'loading';
usageDashboardState.loading = loading;
usageDashboardState.error = state === 'error' ? String(message || '统计查询失败') : '';
if (usageDashboardPanel) usageDashboardPanel.dataset.state = state;
if (usageDashboardLoading) usageDashboardLoading.hidden = state !== 'loading';
if (usageDashboardError) {
usageDashboardError.hidden = state !== 'error';
usageDashboardError.textContent = state === 'error' ? usageDashboardState.error : '';
}
if (usageDashboardRefresh) {
usageDashboardRefresh.disabled = state === 'loading';
usageDashboardRefresh.setAttribute('aria-busy', state === 'loading' ? 'true' : 'false');
const refreshText = loading ? '整理中' : '刷新';
usageDashboardRefresh.disabled = loading;
usageDashboardRefresh.setAttribute('aria-busy', loading ? 'true' : 'false');
usageDashboardRefresh.setAttribute('aria-label', loading ? '正在整理统计数据' : '刷新统计');
usageDashboardRefresh.title = loading ? '正在整理统计数据' : '刷新统计';
if (usageDashboardRefreshLabel) usageDashboardRefreshLabel.textContent = refreshText;
}
if (usageDashboardApply) usageDashboardApply.disabled = state === 'loading';
if (usageDashboardApply) usageDashboardApply.disabled = loading;
}
function formatUsageNumber(value) {