Commit Graph

20 Commits

Author SHA1 Message Date
DrSmoothl
172615f18a WebUI 前端 & 后端超级大重构 2026-03-14 21:06:36 +08:00
DrSmoothl
d0840db2a5 refactor: remove RuleEditor, RuleList, RulePreview, TimeRangePicker, and VoiceSection components
- Deleted RuleEditor.tsx, RuleList.tsx, RulePreview.tsx, TimeRangePicker.tsx, and VoiceSection.tsx as part of a cleanup.
- Updated index.ts to remove imports related to deleted components.
- Modified types.ts and model.tsx to accommodate changes in task configuration structure.
- Introduced new types for TargetItem and LearningItem to enhance type safety.
- Refactored ModelTaskConfig to be dynamic based on backend schema.
- Updated ModelProviderConfigPage to unwrap backend config response for better handling.
2026-03-08 00:12:10 +08:00
DrSmoothl
b056ad2c34 feat: 添加动态 Tab 分组支持,优化配置界面 UI 元数据 2026-03-07 23:13:04 +08:00
DrSmoothl
0451a7fef4 优化认证检查逻辑,确保加载状态显示在正确位置;更新配置验证逻辑,使用深拷贝确保数据完整性 2026-03-07 21:52:23 +08:00
DrSmoothl
c658b2314d feat(a11y): apply ARIA roles, landmarks, focus management, touch targets and contrast fixes across components 2026-03-05 21:57:36 +08:00
DrSmoothl
ba47069dfe refactor(types): eliminate all as any type assertions (30 → 0)
- Replace MouseEvent-only handlers with MouseEvent | KeyboardEvent unions in multi-select and ChatTabBar
- Define LegacyInstalledPlugin type for backward compatibility in plugin-api
- Create getTokenValue() helper for type-safe theme token access in AppearanceTab
- Define ModelConfig interface for model configuration type safety in modelProvider
- All modifications maintain exact business logic equivalence
- Build passes with zero TypeScript errors (bun run build )
- LSP diagnostics clean on all modified files
2026-03-01 21:33:40 +08:00
DrSmoothl
c45ee1a98e refactor(routes): review and fix config/bot/ directory (T16)
- Fixed import order in bot.tsx, ChatSection.tsx and Hook files
- Replaced 'as any' with specific type assertions (ExpressionConfig, PersonalityConfig, etc.)
- All files now comply with AGENTS.md import rules
- Build passes with zero errors
- LSP diagnostics clean on all modified files

Changes:
- bot.tsx: Reorganized imports (React first, then third-party, then @/, then ./)
- ChatSection.tsx: Fixed import order
- *SectionHook.tsx (4 files): Added type imports, replaced 'as any' with typed assertions

Note: ProcessingSection (1121 lines) and ExpressionSection (996 lines)
not split due to tight coupling and clear responsibilities.
2026-03-01 21:17:17 +08:00
DrSmoothl
e1f9936561 refactor(config): split modelProvider.tsx into modular directory
- 拆分为 7 个文件:index.ts (barrel), types.ts, utils.ts, 3 个组件, index.tsx (主页面 895行)
- 所有子组件 < 500 行
- 构建零错误
- 功能完全等价
2026-03-01 19:58:18 +08:00
DrSmoothl
b800011ed7 refactor(config): split ChatSection.tsx into sub-components
- 将 ChatSection.tsx (610行) 拆分为 4 个子组件
- TimeRangePicker.tsx: 时间范围选择器组件
- RulePreview.tsx: 规则预览组件
- RuleEditor.tsx: 规则编辑器组件
- RuleList.tsx: 规则列表组件
- ChatSection.tsx 重构为主容器组件 (197行)
- 功能完全不变,构建零错误
- 遵循具名导出规范

Ultraworked with [Sisyphus](https://github.com/code-yeongyu/oh-my-opencode)

Co-authored-by: Sisyphus <clio-agent@sisyphuslabs.ai>
2026-03-01 19:41:47 +08:00
DrSmoothl
34b05e4e16 fix(hooks): remove duplicate save calls in useAutoSave legacy 2026-03-01 19:09:08 +08:00
DrSmoothl
d4bfc9591c refactor(api): migrate config-api to ApiResponse pattern 2026-03-01 17:49:05 +08:00
DrSmoothl
c863d5a3be refactor(components): split layout.tsx into layout/ directory 2026-03-01 17:07:38 +08:00
DrSmoothl
6a54a796f1 修复 build 问题 2026-02-19 18:56:49 +08:00
DrSmoothl
06a88a877f refactor(theme): migrate all CSS variable references and adapt third-party components
- Task 10: Bulk migrate CSS variable references from --primary/--secondary/etc to --color-primary/--color-secondary/etc across all components
- Task 11: Adapt CodeEditor to auto-detect theme from ThemeProvider context, remove hardcoded theme='dark' from plugin-config and bot config pages
2026-02-19 18:01:14 +08:00
DrSmoothl
6bb0bc9afc feat(dashboard): integrate DynamicConfigForm in model config page
- Add DynamicConfigForm import and fieldHooks integration
- Replace TaskConfigCard list with DynamicConfigForm in tasks tab
- Use hardcoded schema POC approach (fields: [], nested: {})
- Maintain existing auto-save and state management logic
- TypeScript compilation verified

Task 14 complete - Wave 4 finished (4/4)
2026-02-17 18:32:31 +08:00
DrSmoothl
fa15fef1f0 feat(dashboard): convert 4 Sections to Hook components
- Create PersonalitySectionHook (medium complexity)
- Create DebugSectionHook (simple complexity)
- Create ExpressionSectionHook (high complexity)
- Create BotInfoSectionHook (simple complexity)
- Update hooks/index.ts with exports
- Pattern validated across different complexity levels
2026-02-17 18:18:44 +08:00
DrSmoothl
c58ad64352 feat(dashboard): integrate DynamicConfigForm for ChatSection POC
- Register ChatSectionHook as 'replace' mode field hook
- Replace ChatSection rendering with DynamicConfigForm
- Use hardcoded minimal schema (POC - API integration pending)
- Preserve all existing state management and auto-save logic
- TypeScript compilation: ✓ PASSED

Complete Task 11 (Wave 3)
Ref: WebUI config visualization refactor plan
2026-02-17 17:46:40 +08:00
DrSmoothl
3fcf02866a feat(dashboard): export ChatSectionHook in hooks index
- Add ChatSectionHook export to hooks/index.ts
- Complete Task 10 (Wave 3)
- ChatSectionHook now available for import and registration
2026-02-17 17:41:41 +08:00
DrSmoothl
b382747398 feat(dashboard): convert ChatSection to Hook component 2026-02-17 17:37:47 +08:00
墨梓柒
812296590e 上传完整的WebUI前端仓库 2026-01-13 06:24:35 +08:00