SpecialX
e962b67050
feat(lesson-preparation): update paper-editor, detail-panel, AI node assist, i18n
...
- Update actions-ai.ts and curriculum-map-view.tsx
- Update detail-panel: detail-panel, detail-props, qa-editor
- Update paper-editor: inline-node, inline-qa-dialog, paper-context-menu,
paper-editor, textbook-tiptap-editor
- Update hooks/editor-slice.ts and lib/i18n-errors.ts
- Add hooks/use-node-ai-assist.ts and lib/ai-node-assist.ts
- Update en/zh-CN lesson-preparation i18n messages
2026-07-04 23:02:04 +08:00
SpecialX
0e4eccec21
chore(lesson-preparation): V4 lint + tsc 零错误验证
...
重构 anchor-migration-banner:使用 key-based remount + lazy initial state 避免 setState in effect,符合 V4 react-hooks/set-state-in-effect 规则。
验证:tsc --noEmit 0 错误;lint 中 V4 引入的错误已全部修复。剩余 6 个 lint 错误为预存无关模块问题(exams/use-exam-preview-tasks react-hooks/refs 3 个、template-picker V5-9 set-state-in-effect 1 个),13 个 warnings 均为预存代码(schedule-dialog、unread-message-badge 等),按计划要求已有的无关模块错误需记录但不要求修复。
2026-07-04 11:53:13 +08:00
SpecialX
e762490f19
refactor(lesson-preparation): print-view 适配 V4
...
- export.ts 已使用 order 排序,无画布依赖
- 新增 interaction block 的 flatten 逻辑(设计意图 + 对话轮次)
- 更新文档注释(12 种 Block)
2026-07-04 11:47:50 +08:00
SpecialX
5d306dc686
refactor(lesson-preparation): 删除废弃的 React Flow 画布和字符串锚点文件
...
- 删除 node-editor.tsx(React Flow 画布)
- 删除 nodes/lesson-node.tsx、textbook-content-node.tsx、textbook-segments.tsx、anchor-node-selector.tsx
- 删除 lib/anchor-injector.ts(字符串偏移系统)
- 删除 lib/rf-mappers.ts(React Flow 映射)
- 删除 lib/auto-layout.ts(自动布局)
- 重构 lesson-plan-readonly-view.tsx 改用线性视图(LessonPlanMobileView)
2026-07-04 11:46:31 +08:00
SpecialX
124ed97060
refactor(lesson-preparation): 主编辑器三栏布局(结构树 + 纸 + 详情面板)
...
- 移除 NodeEditor/NodeEditPanel 导入和 JSX
- 改为 StructureTree + PaperEditor + DetailPanel 三栏布局
- 新增 AnchorMigrationBanner
- 移除 aiContentGenerator prop(V4 DetailPanel 自带 AI 按钮)
- 删除 node-edit-panel.tsx(不再被引用)
- 删除 ai-content-generator-slot.tsx(依赖 node-edit-panel)
2026-07-04 11:44:26 +08:00
SpecialX
e29f30d278
feat(lesson-preparation): v3 锚点失效提示 banner
2026-07-04 11:41:24 +08:00
SpecialX
6dd3b1fecd
feat(lesson-preparation): 注册 interaction block 到 registry
2026-07-04 11:40:46 +08:00
SpecialX
85121c49a3
fix(lesson-preparation): 重命名 TreeNodeRow.children prop 为 childItems 避免 react/no-children-prop
2026-07-04 11:36:41 +08:00
SpecialX
8ff14fce1c
feat(lesson-preparation): 右栏详情面板容器
2026-07-04 11:33:03 +08:00
SpecialX
24b8ae78c6
feat(lesson-preparation): 师生交互 block(详情编辑入口)
2026-07-04 11:32:58 +08:00
SpecialX
43f30f4013
feat(lesson-preparation): 师生交互编辑器(对话轮次增删改)
2026-07-04 11:32:54 +08:00
SpecialX
40cba54ed4
feat(lesson-preparation): 详情面板属性条
2026-07-04 11:32:49 +08:00
SpecialX
a4c9eb02b4
feat(lesson-preparation): 详情面板头部
2026-07-04 11:32:44 +08:00
SpecialX
05f9b4fd9d
feat(lesson-preparation): 左栏结构树容器
2026-07-04 11:31:03 +08:00
SpecialX
c7cbc86fd4
feat(lesson-preparation): 树节点行组件
2026-07-04 11:30:57 +08:00
SpecialX
6fa712ad15
feat(lesson-preparation): 中栏纸区容器(正文 + 展开节点 + 右键菜单)
2026-07-04 11:29:53 +08:00
SpecialX
4db77b7d1e
feat(lesson-preparation): 右键菜单(节点操作 + AI 协助 + 锚定)
2026-07-04 11:29:14 +08:00
SpecialX
cbed4ef508
feat(lesson-preparation): 师生交互对话体 inline 渲染
2026-07-04 11:28:16 +08:00
SpecialX
8583e3e387
feat(lesson-preparation): inline-node 展开节点容器
2026-07-04 11:28:11 +08:00
SpecialX
9b0b7ef619
feat(lesson-preparation): 浮动工具条 + 锚点/inline-node/对话体样式
2026-07-04 11:26:55 +08:00
SpecialX
66a60213bf
feat(lesson-preparation): 正文 Tiptap 编辑器
2026-07-04 11:26:50 +08:00
SpecialX
1b898fb6cf
fix(lesson-preparation): BLOCK_REGISTRY 补全 interaction 空条目(A1 类型变更扫尾,渲染逻辑留给 H1)
2026-07-04 11:20:18 +08:00
SpecialX
d7b15093f9
fix(lesson-preparation): BLOCK_TYPE_KEYS 补全 interaction(A1 类型变更扫尾)
2026-07-04 11:19:44 +08:00
SpecialX
5c4db2fedc
feat(lesson-preparation): Tiptap AnchorMark + AnchorPoint 扩展
2026-07-04 11:18:56 +08:00
SpecialX
4f00e566df
refactor(lesson-preparation): 配色统一到中性令牌(移除 Material 鲜艳色)
2026-07-04 11:17:07 +08:00
SpecialX
ef1be6d04f
refactor(lesson-preparation): editor-slice 移除画布依赖(V4)
2026-07-04 11:16:05 +08:00
SpecialX
0f4e58d7e1
feat(lesson-preparation): selection-slice 增加 anchorNodeForSelection
2026-07-04 11:15:14 +08:00
SpecialX
a856ab005d
feat(lesson-preparation): 组合 ExpandedSlice 到 EditorState
2026-07-04 11:15:01 +08:00
SpecialX
7b550d3b69
feat(lesson-preparation): expanded-slice(节点展开状态)
2026-07-04 11:14:46 +08:00
SpecialX
f7ea76cd60
feat(lesson-preparation): V3→V4 迁移函数(锚点失效标记 + expandedNodeIds)
2026-07-04 11:14:27 +08:00
SpecialX
8a7d0f69ca
feat(lesson-preparation): isInteractionBlockData 类型守卫
2026-07-04 11:12:33 +08:00
SpecialX
217b5b48e4
feat(lesson-preparation): interaction 默认数据生成器
2026-07-04 11:12:13 +08:00
SpecialX
8fc798fbcf
feat(lesson-preparation): V4 类型定义(interaction + QATurn + V4 文档)
2026-07-04 11:11:54 +08:00
SpecialX
3569d83b8e
feat(modules): update layout, notifications, questions, rbac, files
...
- layout: update site-header.tsx
- notifications: update use-desktop-notifications.ts
- questions: update question-actions.tsx, question-columns.tsx
- rbac: update permission-catalog.ts
- files: update types.ts
2026-07-04 10:23:16 +08:00
SpecialX
98429e87eb
feat(business): update audit, auth, course-plans, announcements, exams
...
- audit: update retention.ts, types.ts, audit-retention-settings.tsx
- auth: update actions.ts and types.ts
- course-plans: update actions.ts, course-plan-detail.tsx, template-picker-dialog.tsx,
add lib/track-event.ts
- announcements: update page.tsx, announcement-list.tsx, announcement-pagination.tsx
- exams: update actions.ts
2026-07-04 10:23:03 +08:00
SpecialX
b63d116b6c
feat(diagnostic): refactor services with monitor and context providers
...
- Update default-diagnostic-service.ts
- Update diagnostic-monitor-context.tsx
- Update diagnostic-service-context.tsx
- Update monitored-diagnostic-service.ts
- Update teacher diagnostic page
2026-07-04 10:22:48 +08:00
SpecialX
eee0145274
feat(error-book): update components and analytics data-access
...
- Update all error-book components (filters, cards, charts, dialogs)
- Update data-access-analytics.ts
- Update student-error-book-list-client.tsx
2026-07-04 10:22:36 +08:00
SpecialX
6ea8ba763b
feat(textbooks): add force-graph component and update graph components
...
- Add force-graph.tsx for new graph visualization
- Update graph-toolbar, knowledge-graph, knowledge-point-list, textbook-reader
- Update use-graph-data hook and types
- Update textbooks error boundary pages
2026-07-04 10:22:24 +08:00
SpecialX
25dca843be
feat(lesson-preparation): major update with AI features, schedules, and new components
...
- Add actions-schedules.ts and data-access-schedules.ts for schedule management
- Add AI differentiation, AI feedback, consistency check dialogs
- Add attachment-picker, curriculum-heatmap, print-view, version-diff-view
- Add lesson-plan-mobile-view and schedule-dialog components
- Add lib: ai-differentiation, ai-feedback, auto-layout, consistency-check,
curriculum-coverage, export, version-diff
- Add history-slice hook for version history
- Update existing components, hooks, providers, services, types
- Add teacher lesson-plans heatmap and library pages
2026-07-04 10:22:10 +08:00
SpecialX
93eacccdbf
feat(users,layout): update users module and navigation config
...
- Update users/actions.ts with new server actions
- Update users/data-access.ts with new data access functions
- Update users/components/admin-users-view.tsx
- Update layout/config/navigation.ts
2026-07-03 10:31:57 +08:00
SpecialX
2dd8c2197c
feat(error-book): update components, actions, data-access, and add analytics
...
- Add data-access-analytics for error book analytics queries
- Update actions, data-access for improved error book operations
- Update components: add-error-book-dialog, analytics-stats-cards, chapter-weakness-chart, class-error-bar-chart, class-filter, error-book-detail-dialog, error-book-filters, error-book-item-card, error-book-list, error-book-stats-cards, grouped-student-error-table, knowledge-point-weakness-chart, review-buttons, subject-distribution-chart, subject-tabs, top-wrong-questions
- Remove class-error-overview (replaced by new components)
2026-07-03 10:30:41 +08:00
SpecialX
e9a5264fe7
feat(parent,auth,onboarding,files,notifications,adaptive-practice,ai): add module updates
...
parent:
- Add parent-student-attendance-detail component
auth:
- Add actions, data-access, schema, services, types
onboarding:
- Add parent-children-form and hooks directory
files:
- Add actions, schema, hooks directory
notifications:
- Add schema and schema test
adaptive-practice:
- Add answer-input, answer-result, practice-result-view, practice-starter-with-nav
- Add question-card, question-content, lib and services directories
ai:
- Add context/create-ai-client-service, hooks/use-drag-position, hooks/use-position-persistence
2026-07-03 10:26:12 +08:00
SpecialX
f3c223d914
feat(settings,questions,school,textbooks): add brand config, question components, school dialogs, textbooks hooks
...
settings:
- Add actions-brand, brand-config, data-access-brand for brand management
- Add admin-file-upload-card, admin-notification-config-card, admin-school-info-card, admin-security-policy-card
- Add ai-provider-delete-dialog, ai-provider-selector, brand-config-card
- Add security-recent-logins-section, security-two-factor-section
- Add config/profile-overview-config, data-access-profile-overview, lib/system-settings-utils
questions:
- Add batch-operations, import-export-buttons, knowledge-point-selector, options-editor
- Add question-bank-results-client, question-cascade-filter, question-content-renderer, utils
school:
- Add grade-delete-dialog, grade-form-dialog, grade-list-toolbar, grade-overview-cards
- Add use-grade-data hook
textbooks:
- Add textbook-form-fields component
- Add use-kp-create, use-kp-delete, use-kp-update hooks
2026-07-03 10:26:00 +08:00
SpecialX
138b6f1b00
feat(dashboard,diagnostic,elective): add widgets, layout, parent dashboard, role-config, services, elective components
...
dashboard:
- Add comparison-badge, dashboard-notification-widget, dashboard-responsive-layout, dashboard-time-range-filter
- Add parent-dashboard components directory
- Add config, hooks, and services directories
diagnostic:
- Add role-config and services directory
elective:
- Add elective-course-detail, elective-stats-cards, parent-selection-view components
- Add data-access-settings and data-access-stats
2026-07-03 10:25:46 +08:00
SpecialX
dfffb61e94
feat(homework,classes,course-plans): add scans, student data, take confirm, error boundaries, dialogs, hooks, calendar
...
homework:
- Add data-access-scans, data-access-student, data-access-utils, data-access-exam-cross
- Add excellent-submissions, homework-take-confirm-dialog, homework-take-sidebar components
classes:
- Add class-delete-dialog, class-error-boundary, class-form-dialog, class-form-utils
- Add class-list-table, class-list-toolbar, class-skeleton
- Add schedule-create-dialog, schedule-delete-dialog, schedule-edit-dialog, schedule-utils
- Add data-access-teacher and hooks directory
course-plans:
- Add course-plan-calendar, sortable-week-row, template-picker-dialog components
- Add lib directory
2026-07-03 10:25:35 +08:00
SpecialX
20023e13fd
feat(lesson-preparation): add AI evaluation, analytics, attachments, calendar, comments, review, substitutes, formative, and version diff
...
- Add actions-ai-evaluation, actions-analytics, actions-attachments, actions-calendar, actions-comments, actions-formative, actions-questions, actions-review, actions-substitutes
- Add corresponding data-access layers for each new action module
- Add calendar-view, curriculum-map-view, version-diff-viewer components
- Add editor-slice, selection-slice, version-slice hooks for state management
- Add document-diff and scope-check lib utilities
- Add default-question-service and external-questions-bridge services
2026-07-03 10:25:21 +08:00
SpecialX
a16f09d3c3
feat(exams): add rich editor actions, auto-mark, preview, services, and config
...
- Add actions-helpers and actions-rich-editor for rich text exam editing
- Add ai-pipeline/auto-mark for automatic exam marking
- Add exam-boundaries and exam-preview components
- Add config directory for exam configuration
- Add data-access-cross-module for cross-module data access
- Add editor/exam-nodes-to-editor-doc and editor/utils for editor utilities
- Add use-exam-preview-rewrite, use-exam-preview-state, use-exam-preview-tasks hooks
- Add services directory
2026-07-03 10:25:11 +08:00
SpecialX
e85a5f05dd
feat(grades): add appeals, drafts, import, report card, and growth archive
...
- Add actions-appeal, actions-draft, actions-import, actions-lock for grade workflow
- Add data-access-appeals, data-access-drafts, data-access-exam-entry for data layer
- Add batch-grade-entry-dialog, batch-grade-entry-stats, batch-grade-entry-table
- Add draft-lock-banner, excel-import-dialog for import and draft management
- Add growth-archive-chart, knowledge-point-mastery-chart for analytics
- Add report-card-view, report-card-print-action, report-card-print-button
- Add import-export, lib/notify, lib/report-card, scope-check test, stats-service test
- Add hooks directory
2026-07-03 10:25:01 +08:00
SpecialX
2b95fd668b
feat(announcements): add tests, skeleton, pagination, and service context
...
- Add announcement-card test for component testing
- Add is-announcement-visible test and schema test for logic testing
- Add announcement-list-skeleton for loading states
- Add announcement-pagination for list pagination
- Add announcements-service-context and default-announcements-service for service layer
2026-07-03 10:24:50 +08:00
SpecialX
2859ef74f2
feat(messaging): add drafts, group compose, templates, reports, blocks, and services
...
- Add message-draft-list and message-attachments for draft and attachment management
- Add message-group-compose for group messaging
- Add message-template-picker for message templates
- Add message-report-block for reporting and blocking users
- Add message-list-section and message-list-skeleton for list rendering
- Add lib and services directories for messaging utilities and service layer
2026-07-03 10:24:37 +08:00