"use client";

import { useSearchParams } from "next/navigation";
import { useParams } from "@/lib/route-params";
import { AssignmentGradingWorkspace } from "@/components/teacher/AssignmentGradingWorkspace";
import { TeacherShell } from "@/components/teacher/TeacherShell";

export default function AssignmentGradingPage() {
  const { classId, assignmentId } = useParams<{ classId: string; assignmentId: string }>();
  const searchParams = useSearchParams();
  const classRoomId = Number(classId);
  const assignmentNumId = Number(assignmentId);
  const submissionId = searchParams.get("submission");
  const subjectId = searchParams.get("subject_id");
  const scheduleId = searchParams.get("schedule_id");

  const backParams = new URLSearchParams({ tab: "assignments" });
  if (subjectId) backParams.set("subject_id", subjectId);
  if (scheduleId) backParams.set("schedule_id", scheduleId);
  const backHref = `/teacher/classes/${classRoomId}?${backParams.toString()}`;

  return (
    <TeacherShell title="تصحیح تکلیف" subtitle="مطالب ارسالی و نمره‌دهی" showBack>
      <AssignmentGradingWorkspace
        assignmentId={assignmentNumId}
        classRoomId={classRoomId}
        initialSubmissionId={submissionId ? Number(submissionId) : null}
        backHref={backHref}
      />
    </TeacherShell>
  );
}
