"use client" import { useMemo, useState } from "react" import type { HomeworkAssignmentQuestionAnalytics } from "@/modules/homework/types" import { HomeworkAssignmentExamPreviewPane } from "@/modules/homework/components/homework-assignment-exam-preview-pane" import { HomeworkAssignmentQuestionErrorDetailPanel } from "@/modules/homework/components/homework-assignment-question-error-detail-panel" export function HomeworkAssignmentExamErrorExplorer({ structure, questions, gradedSampleCount, heightClassName = "h-[560px]", }: { structure: unknown questions: HomeworkAssignmentQuestionAnalytics[] gradedSampleCount: number heightClassName?: string }) { const firstQuestionId = questions[0]?.questionId ?? null const [selectedQuestionId, setSelectedQuestionId] = useState(firstQuestionId) const selected = useMemo(() => { if (!selectedQuestionId) return null return questions.find((q) => q.questionId === selectedQuestionId) ?? null }, [questions, selectedQuestionId]) return (
({ questionId: q.questionId, questionType: q.questionType, questionContent: q.questionContent, maxScore: q.maxScore, }))} selectedQuestionId={selectedQuestionId} onQuestionSelect={setSelectedQuestionId} />
) }