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
This commit is contained in:
SpecialX
2026-07-04 10:23:03 +08:00
parent b63d116b6c
commit 98429e87eb
13 changed files with 114 additions and 61 deletions

View File

@@ -44,10 +44,11 @@ import {
successState,
} from "./actions-helpers"
// Re-export 从拆分文件迁移的导出,保持外部 import 路径不变
// Re-export 从拆分文件迁移的类型导出,保持外部 import 路径不变
// 注意Next.js 16 禁止在 "use server" 文件中 re-export 值(仅允许 async 函数导出),
// autoMarkExamAction / createExamFromRichEditorAction / updateExamFromRichEditorAction
// 的值 re-export 已移除,调用方直接从源文件 import。
export type { AutoMarkResult } from "./ai-pipeline/auto-mark"
export { autoMarkExamAction } from "./ai-pipeline/auto-mark"
export { createExamFromRichEditorAction, updateExamFromRichEditorAction } from "./actions-rich-editor"
export type { AiPreviewData, AiRewriteQuestionData } from "./ai-pipeline"
const ExamCreateSchema = z.object({