mirror of
https://github.com/Ed1s0nZ/CyberStrikeAI.git
synced 2026-06-17 11:30:11 +02:00
Add files via upload
This commit is contained in:
@@ -7226,16 +7226,15 @@ header {
|
||||
}
|
||||
|
||||
.mcp-stats-timeline-dot {
|
||||
fill: #fff;
|
||||
stroke: #3b82f6;
|
||||
stroke-width: 1.5;
|
||||
fill: #3b82f6;
|
||||
stroke: none;
|
||||
cursor: crosshair;
|
||||
opacity: 0;
|
||||
transition: opacity 0.12s ease;
|
||||
transition: opacity 0.12s ease, r 0.12s ease;
|
||||
}
|
||||
|
||||
.mcp-stats-timeline-dot--peak {
|
||||
opacity: 0.7;
|
||||
opacity: 0.85;
|
||||
}
|
||||
|
||||
.mcp-stats-timeline__chart-wrap:hover .mcp-stats-timeline-dot,
|
||||
@@ -7244,9 +7243,7 @@ header {
|
||||
}
|
||||
|
||||
.mcp-stats-timeline-dot.is-active {
|
||||
fill: #2563eb;
|
||||
stroke: #fff;
|
||||
stroke-width: 2;
|
||||
fill: #1d4ed8;
|
||||
}
|
||||
|
||||
.mcp-stats-timeline-error {
|
||||
|
||||
@@ -7468,8 +7468,11 @@ async function deleteSelectedConversations() {
|
||||
for (const id of ids) {
|
||||
await deleteConversation(id, true); // 跳过内部确认,因为批量删除时已经确认过了
|
||||
}
|
||||
closeBatchManageModal();
|
||||
loadConversationsWithGroups();
|
||||
// 删除后保持弹窗打开,便于继续管理剩余对话
|
||||
const selectAll = document.getElementById('batch-select-all');
|
||||
if (selectAll) {
|
||||
selectAll.checked = false;
|
||||
}
|
||||
} catch (error) {
|
||||
console.error('删除失败:', error);
|
||||
const failedMsg = typeof window.t === 'function' ? window.t('batchManageModal.deleteFailed') : '删除失败';
|
||||
|
||||
@@ -3887,7 +3887,7 @@ function buildMcpTimelineSvg(points, rangeKey) {
|
||||
const tipTime = formatMcpTimelineLabel(c.p.t, rangeKey, locale);
|
||||
const isPeak = c.i === peakIdx && (c.p.total || 0) > 0;
|
||||
const dotClass = 'mcp-stats-timeline-dot' + (isPeak ? ' mcp-stats-timeline-dot--peak' : '');
|
||||
return `<circle class="${dotClass}" cx="${c.x.toFixed(2)}" cy="${c.y.toFixed(2)}" r="${isPeak ? 3 : 2.5}"
|
||||
return `<circle class="${dotClass}" cx="${c.x.toFixed(2)}" cy="${c.y.toFixed(2)}" r="${isPeak ? 2 : 1.5}"
|
||||
data-time="${escapeHtml(tipTime)}"
|
||||
data-total="${c.p.total || 0}"
|
||||
data-failed="${c.p.failed || 0}" />`;
|
||||
@@ -3895,7 +3895,7 @@ function buildMcpTimelineSvg(points, rangeKey) {
|
||||
|
||||
const peakC = coords[peakIdx];
|
||||
const peakMarker = (peakC.p.total || 0) > 0
|
||||
? `<circle class="mcp-stats-timeline-peak-glow" cx="${peakC.x.toFixed(2)}" cy="${peakC.y.toFixed(2)}" r="7" />`
|
||||
? `<circle class="mcp-stats-timeline-peak-glow" cx="${peakC.x.toFixed(2)}" cy="${peakC.y.toFixed(2)}" r="5" />`
|
||||
: '';
|
||||
|
||||
return `<svg class="mcp-stats-timeline__chart" viewBox="0 0 ${W} ${H}" preserveAspectRatio="none" aria-hidden="true">
|
||||
|
||||
Reference in New Issue
Block a user