Skip to content

fix(buddy): 输入材料条悬浮在输入框上方并避免高亮态透出聊天记录 - #392

Merged
shanyuhai123 merged 1 commit into
useLexora:masterfrom
QAyong:codex/floating-composer-materials
Oct 19, 2026
Merged

shanyuhai123 merged 1 commit into
useLexora:masterfrom
QAyong:codex/floating-composer-materials

Conversation

@QAyong

@QAyong QAyong commented Oct 18, 2026

Copy link
Copy Markdown
Contributor

背景与关联 / Context and related issue

  • 问题或目标 / Problem or goal: 输入框的材料条(附件、引用、会话引用)原先在输入框上方按文档流排布,添加材料时会占用布局高度、挤压对话区。目标是让材料条悬浮在输入框上方,不再改变对话区高度。
  • 关联 Issue / Related issue: N/A

主要改动 / Changes

  • 变更 / Change: DesktopChatComposer.vue 中,没有排队消息(!hasQueuedMessages)时,材料条改为相对输入框容器绝对定位到上方(bottom: 100%),宽度随内容;有排队消息时保持原有的文档流布局,不遮挡排队消息。
  • 变更 / Change: 悬浮时容器本身 pointer-events: none,只有材料卡片和横向滚动条轨道接收鼠标事件,其余区域不拦截对话区的点击和滚动。
  • 变更 / Change: 材料卡片新增时的高亮色 --buddy-accent-surface 带透明度,悬浮在聊天记录上方时会透出下面的文字。悬浮状态下把高亮色叠在实心的 --buddy-surface-raised 上,保持不透明。

验证 / Verification

  • 自动检查 / Automated checks: 未在本地运行,依赖 CI。本次只改动模板类名和作用域样式,没有逻辑变更,未新增测试。
  • 手动验证 / Manual verification: Windows 开发预览中,在带聊天记录的任务里添加 pptx 引用,确认材料卡片悬浮在输入框上方,新增时的高亮不再透出聊天文字。
  • 未执行 / Not run: 本地 lint、类型检查、单元测试;macOS 与 Linux 未验证;有排队消息时的布局只按代码推断,未手动验证。

兼容与风险 / Compatibility and risks

不涉及数据、配置、授权或升级。样式改动限定在 DesktopChatComposer.vue 的作用域样式内,其他位置复用的 ChatInputMaterialStrip 不受影响。建议重点检查:材料较多时的横向滚动,以及有排队消息时是否仍保持原布局。

界面变更 / UI changes

悬浮在输入框上方的材料卡片(已裁剪,仅保留输入区域):

材料条悬浮在输入框上方

🤖 Generated with Claude Code

Co-Authored-By: Claude Sonnet 5.5 <noreply@anthropic.com>
@shanyuhai123
shanyuhai123 merged commit 93067d6 into useLexora:master Oct 19, 2026
8 checks passed
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants