Skip to content

feat(ui): 添加 Hooks 配置界面#3

Merged
Gaubee merged 9 commits intomainfrom
feat/hooks-config-ui
Dec 30, 2025
Merged

feat(ui): 添加 Hooks 配置界面#3
Gaubee merged 9 commits intomainfrom
feat/hooks-config-ui

Conversation

@Gaubee
Copy link
Copy Markdown
Collaborator

@Gaubee Gaubee commented Dec 30, 2025

功能

  • Hook新增disabled属性,支持启用/禁用开关
  • disabled不参与hookId计算
  • 编辑支持自定义配置 (type/command/args/cwd/config)
  • 快速配置官方插件 (proxy-anthropic-ping, proxy-plugin-droid)
  • 支持拖拽排序
  • 新增hook插入顶部并自动展开
  • 卡片默认折叠,点击展开编辑

修复

  • 修复Dialog双层滚动问题
  • 修复DragOverlay在Dialog中位置偏移
  • 拖动时保持高度稳定

- HookConfig 新增 disabled 属性,用于启停开关
- hookId 计算时跳过 disabled 字段,确保禁用状态不影响插件复用
- 界面提供 Switch 切换启用/禁用状态
- 支持 Type/Command/Args/CWD/Config 自定义配置
- 快速添加官方插件 (proxy-anthropic-ping, proxy-plugin-droid)
- 高级 JSON 编辑模式可选
- 新增hook插入到列表顶部并自动展开
- hook卡片默认折叠,点击展开编辑
- 修复dialog双层滚动问题
- 简化工具栏和卡片样式
- 使用@dnd-kit实现hooks列表拖拽排序
- 添加拖拽手柄GripVertical图标
- EditInstanceDialog改用ScrollArea统一滚动行为
- 新增hook插入顶部并自动展开
- 标题显示完整命令: command + args
- Args输入使用本地状态,支持换行编辑,blur时提交
- 使用稳定的唯一ID (useRef) 解决拖拽排序不生效
- EditInstanceDialog改用原生div滚动替代ScrollArea
- 拖拽时同步重排hookIds数组
- 使用HookWithId类型,每个hook携带稳定_id
- 添加DragOverlay显示拖拽中的项目
- 使用Map存储configTexts/configErrors (按_id索引)
- 参考ForwardRulesList实现方式
@Gaubee Gaubee merged commit f501a2b into main Dec 30, 2025
@Gaubee Gaubee deleted the feat/hooks-config-ui branch December 30, 2025 11:45
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.

1 participant