feat: 停止生成、代码块复制、消息复制、重新生成、会话导出 MD

This commit is contained in:
zimk
2026-03-17 00:41:46 +08:00
parent e1a3b629b4
commit a57bebb385
4 changed files with 274 additions and 34 deletions

View File

@@ -497,6 +497,7 @@ body.theme-light .md-pre { background: #f3f4f6; border-color: rgba(15,23,42,.08)
align-items: center;
gap: 12px;
}
.attach-btn svg { display: block; }
.attach-btn {
width: 40px;
height: 40px;
@@ -706,3 +707,88 @@ body.theme-light .md-pre { background: #f3f4f6; border-color: rgba(15,23,42,.08)
place-items: center;
}
}
/* ── 新增样式 ── */
/* 停止按钮 */
.stop-btn {
padding: 10px 16px;
background: #ff4d4d;
color: #fff;
border: none;
font-weight: 600;
border-radius: 14px;
min-width: 72px;
font-size: 14px;
cursor: pointer;
transition: .18s ease;
margin-right: 8px;
}
.stop-btn:hover { background: #e03c3c; }
/* 代码块复制按钮 */
.md-pre-wrap {
position: relative;
margin: 0 0 12px;
}
.md-pre-wrap .md-pre {
margin: 0;
}
.copy-code-btn {
position: absolute;
top: 8px;
right: 8px;
padding: 4px 10px;
border-radius: 8px;
border: 1px solid rgba(255,255,255,.12);
background: rgba(255,255,255,.08);
color: var(--muted);
font-size: 12px;
cursor: pointer;
opacity: 0;
transition: opacity .15s ease, background .15s ease;
}
.md-pre-wrap:hover .copy-code-btn { opacity: 1; }
.copy-code-btn:hover { background: rgba(255,255,255,.16); color: var(--text); }
.copy-code-btn.copied { color: #4ade80; }
body.theme-light .copy-code-btn {
border-color: rgba(0,0,0,.1);
background: rgba(0,0,0,.04);
}
body.theme-light .copy-code-btn:hover { background: rgba(0,0,0,.08); }
/* 消息复制按钮 */
.message-copy-btn {
display: inline-block;
margin-top: 6px;
padding: 3px 10px;
border-radius: 8px;
border: 1px solid var(--border);
background: transparent;
color: var(--muted);
font-size: 12px;
cursor: pointer;
opacity: 0;
transition: opacity .15s ease, background .15s ease;
}
.message-bubble:hover .message-copy-btn { opacity: 1; }
.message-copy-btn:hover { background: var(--panel-hover); color: var(--text); }
.message-copy-btn.copied { color: #4ade80; }
/* 消息重新生成按钮 */
.message-regen-btn {
display: inline-block;
margin-top: 6px;
margin-left: 6px;
padding: 3px 10px;
border-radius: 8px;
border: 1px solid var(--border);
background: transparent;
color: var(--muted);
font-size: 12px;
cursor: pointer;
opacity: 0;
transition: opacity .15s ease, background .15s ease;
}
.message-bubble:hover .message-regen-btn { opacity: 1; }
.message-regen-btn:hover { background: var(--panel-hover); color: var(--text); }