"use client";

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

export default function NewClassAssignmentPage() {
  const { classId } = useParams<{ classId: string }>();
  const router = useRouter();
  const searchParams = useSearchParams();
  const classRoomId = Number(classId);
  const subjectId = searchParams.get("subject_id");
  const scheduleId = searchParams.get("schedule_id");

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

  return (
    <TeacherShell title="تکلیف جدید" subtitle="ایجاد تکلیف چندمرحله‌ای" showBack>
      <AssignmentEditorForm
        classRoomId={classRoomId}
        subjectId={subjectId ? Number(subjectId) : null}
        onCancel={() => router.push(backUrl())}
        onSaved={() => router.push(backUrl())}
      />
    </TeacherShell>
  );
}
