paper-burner/css/history_detail/03-components/chatbot/message-actions.css

303 lines
6.3 KiB
CSS
Raw Blame History

This file contains ambiguous Unicode characters

This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.

/**
* Chatbot - Message Actions Styles
*
* 职责:聊天消息操作按钮样式
* 作用域:删除、重发、复制、导出按钮
* 依赖variables.css
*
* 提取自chatbot-message-actions.css
*
* 包含:
* - 基础按钮样式
* - 操作按钮(删除、重发、复制、导出)
* - 思考过程折叠
* - 图片交互
*/
/* ==================== 1. 基础按钮样式 ==================== */
.msg-action-btn {
background: rgba(0, 0, 0, 0.05);
border: none;
width: 22px;
height: 22px;
border-radius: var(--radius-sm);
cursor: pointer;
display: flex;
align-items: center;
justify-content: center;
padding: 0;
box-shadow: var(--shadow-sm);
transition: all var(--transition-fast) ease;
margin-left: 4px;
}
.msg-action-btn:first-child {
margin-left: 0;
}
/* ==================== 2. 删除按钮 ==================== */
.delete-msg-btn {
/* 继承基础样式 */
}
.delete-msg-btn:hover {
background: rgba(239, 68, 68, 0.1) !important;
transform: scale(1.1);
}
.delete-msg-btn:active {
transform: scale(0.95);
}
/* ==================== 3. 重发按钮 ==================== */
.resend-msg-btn {
/* 继承基础样式 */
}
.resend-msg-btn:hover {
background: rgba(59, 130, 246, 0.1) !important;
transform: scale(1.1);
}
.resend-msg-btn:active {
transform: scale(0.95);
}
/* ==================== 4. 复制按钮 ==================== */
.copy-btn {
background: rgba(0, 0, 0, 0.05);
border: none;
width: 24px;
height: 24px;
border-radius: var(--radius-sm);
cursor: pointer;
display: flex;
align-items: center;
justify-content: center;
transition: all var(--transition-fast) ease;
}
.copy-btn:hover {
background: rgba(0, 0, 0, 0.1) !important;
transform: scale(1.05);
}
.copy-btn:active {
transform: scale(0.95);
background: rgba(0, 0, 0, 0.15) !important;
}
/* ==================== 5. 导出 PNG 按钮 ==================== */
.export-png-btn {
background: rgba(0, 0, 0, 0.05);
border: 1px dashed #e2e8f0;
width: 24px;
height: 24px;
border-radius: var(--radius-sm);
cursor: pointer;
display: flex;
align-items: center;
justify-content: center;
transition: all var(--transition-fast) ease;
}
.export-png-btn:hover {
background: rgba(0, 0, 0, 0.1) !important;
border-color: #cbd5e1;
transform: scale(1.05);
}
.export-png-btn:active {
transform: scale(0.95);
}
/* ==================== 6. 操作按钮容器 ==================== */
.action-buttons-container {
display: none;
gap: 5px;
z-index: var(--z-dropdown);
padding: 4px;
transition: opacity var(--transition-fast) ease;
}
/* 消息容器 hover 时显示操作按钮 */
.message-container:hover .action-buttons-container {
display: flex !important;
}
/* 操作按钮容器自身 hover 时保持显示 */
.action-buttons-container:hover {
display: flex !important;
}
/* ==================== 7. 原始操作按钮区域(复制、导出) ==================== */
.original-actions {
position: absolute;
top: var(--spacing-sm);
left: var(--spacing-md);
display: flex;
gap: 6px;
opacity: 0.6;
transition: opacity var(--transition-fast) ease;
z-index: 2;
}
.original-actions:hover {
opacity: 1 !important;
}
/* ==================== 8. 思考过程折叠按钮 ==================== */
.reasoning-toggle-btn {
background: none;
border: none;
cursor: pointer;
padding: 0;
display: inline-flex;
align-items: center;
justify-content: center;
transition: opacity var(--transition-fast) ease;
}
.reasoning-toggle-btn:hover {
opacity: 0.8;
}
.reasoning-toggle-btn:active {
opacity: 0.65;
}
/* ==================== 9. 思维导图打开按钮 ==================== */
.mindmap-open-btn {
padding: 10px 22px;
font-size: 15px;
background: rgba(59, 130, 246, 0.92);
color: #fff;
border: none;
border-radius: var(--radius-md);
box-shadow: 0 2px 8px rgba(59, 130, 246, 0.12);
cursor: pointer;
transition: all var(--transition-fast) ease;
}
.mindmap-open-btn:hover {
background: rgba(59, 130, 246, 1);
box-shadow: var(--shadow-md);
transform: translateY(-1px);
}
.mindmap-open-btn:active {
transform: translateY(0);
}
/* ==================== 10. 图片点击放大 ==================== */
.user-message-image {
display: block;
width: auto;
height: auto;
max-width: 100%;
max-height: 100%;
object-fit: contain;
cursor: pointer;
transition: all var(--transition-fast) ease;
}
.user-message-image:hover {
opacity: 0.9;
transform: scale(1.02);
}
.user-message-image:active {
transform: scale(0.98);
}
/* ==================== 11. 响应式调整 ==================== */
@media (max-width: 768px) {
.msg-action-btn {
width: 28px;
height: 28px;
}
.copy-btn,
.export-png-btn {
width: 28px;
height: 28px;
}
.action-buttons-container {
gap: var(--spacing-sm);
}
}
/* ==================== 12. 辅助功能增强 ==================== */
/* 键盘焦点样式 */
.msg-action-btn:focus,
.copy-btn:focus,
.export-png-btn:focus,
.reasoning-toggle-btn:focus,
.mindmap-open-btn:focus {
outline: 2px solid var(--color-primary);
outline-offset: 2px;
}
/* 禁用状态 */
.msg-action-btn:disabled,
.copy-btn:disabled,
.export-png-btn:disabled {
opacity: 0.4;
cursor: not-allowed;
}
.msg-action-btn:disabled:hover,
.copy-btn:disabled:hover,
.export-png-btn:disabled:hover {
background: rgba(0, 0, 0, 0.05) !important;
transform: none !important;
}
/* ==================== 13. 打印样式 ==================== */
@media print {
.action-buttons-container,
.original-actions {
display: none !important;
}
}
/* ==================== 14. 深色模式支持 ==================== */
@media (prefers-color-scheme: dark) {
.msg-action-btn {
background: rgba(255, 255, 255, 0.1);
}
.delete-msg-btn:hover {
background: rgba(239, 68, 68, 0.2) !important;
}
.resend-msg-btn:hover {
background: rgba(59, 130, 246, 0.2) !important;
}
.copy-btn,
.export-png-btn {
background: rgba(255, 255, 255, 0.1);
}
.copy-btn:hover,
.export-png-btn:hover {
background: rgba(255, 255, 255, 0.15) !important;
}
}