feat(error-book): implement error book module with SM2 spaced repetition

- Add SM2 algorithm implementation with tests for spaced repetition review scheduling

- Add data-access, schema, types, and server actions for error book CRUD

- Add components: add dialog, class overview, filters, item card, stats cards, review buttons, top wrong questions

- Add error-book routes for admin, teacher, parent, and student roles

- Add i18n messages (en, zh-CN) for error book module
This commit is contained in:
SpecialX
2026-06-23 17:36:42 +08:00
parent 396c2c568d
commit bf056399c6
26 changed files with 3613 additions and 0 deletions

View File

@@ -0,0 +1,19 @@
"use client"
import { BookX } from "lucide-react"
import { EmptyState } from "@/shared/components/ui/empty-state"
export default function StudentErrorBookError() {
return (
<div className="p-8">
<EmptyState
icon={BookX}
title="加载错题本失败"
description="发生了一些错误,请刷新页面重试。如果问题持续,请联系管理员。"
action={{ label: "刷新页面", onClick: () => window.location.reload() }}
className="border-none shadow-none"
/>
</div>
)
}