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