feat(exams,homework,parent): V3 审计深度修复 — 批量批改/考试分析/提交反馈/家长视图/移动端优化
V3-5: exam-actions.tsx 集成 useExamHomeworkFeatures hook,按角色控制菜单项可见性 V3-7: 批量批改 — 新增 batchAutoGradeSubmissions data-access + Server Action + HomeworkBatchGradingView 组件 V3-8: 考试分析仪表盘 — 新增 getExamAnalytics stats-service + ExamAnalyticsDashboard 组件 + /teacher/exams/[id]/analytics 路由 V3-9: 提交后即时反馈页 — 新增 HomeworkSubmissionResult 组件 + /student/learning/assignments/[id]/result 路由 V3-11: 家长考试详情 — 新增 ChildExamDetail 组件 + getStudentExamResults data-access + child-detail-panel exams Tab V3-12: 移动端触控优化 — 题目导航与考试操作按钮 44px 最小触控目标 修复: instrumentation.ts 适配器补全 questionCount/averageScore/overdueCount 字段 修复: exam-homework-port.ts 类型导入对齐 ExamWithQuestionsForHomework 修复: trend-line-chart.tsx 数据类型允许 undefined(classAverage 可选场景) 同步更新 004/005 架构文档
This commit is contained in:
@@ -0,0 +1,35 @@
|
||||
import type { JSX } from "react"
|
||||
import { notFound } from "next/navigation"
|
||||
import { getTranslations } from "next-intl/server"
|
||||
import { getHomeworkAssignmentById, getStudentSubmissionResult } from "@/modules/homework/data-access"
|
||||
import { HomeworkSubmissionResult } from "@/modules/homework/components/homework-submission-result"
|
||||
import { getSession } from "@/shared/lib/session"
|
||||
|
||||
export const dynamic = "force-dynamic"
|
||||
|
||||
export default async function HomeworkResultPage({ params }: { params: Promise<{ assignmentId: string }> }): Promise<JSX.Element> {
|
||||
const { assignmentId } = await params
|
||||
const t = await getTranslations("examHomework")
|
||||
const session = await getSession()
|
||||
const studentId = session?.user?.id
|
||||
|
||||
if (!studentId) return notFound()
|
||||
|
||||
const [assignment, submission] = await Promise.all([
|
||||
getHomeworkAssignmentById(assignmentId),
|
||||
getStudentSubmissionResult(assignmentId, studentId),
|
||||
])
|
||||
|
||||
if (!assignment) return notFound()
|
||||
if (!submission) return notFound()
|
||||
|
||||
return (
|
||||
<div className="flex h-full flex-col space-y-6 p-8">
|
||||
<div>
|
||||
<h1 className="text-2xl font-bold tracking-tight">{t("homework.result.title")}</h1>
|
||||
<p className="text-muted-foreground">{assignment.title}</p>
|
||||
</div>
|
||||
<HomeworkSubmissionResult submission={submission} />
|
||||
</div>
|
||||
)
|
||||
}
|
||||
Reference in New Issue
Block a user