"use client"; import { FormEvent, useState } from "react"; import { useRouter } from "next/navigation"; import { getAllCourseSlugs } from "@/lib/data/courseCatalog"; import { createTeacherCourse } from "@/lib/data/teacherCourses"; import type { CourseLevel } from "@/types/course"; const levels: CourseLevel[] = ["Beginner", "Intermediate", "Advanced"]; export default function TeacherNewCourseForm() { const router = useRouter(); const [title, setTitle] = useState(""); const [level, setLevel] = useState("Beginner"); const [summary, setSummary] = useState(""); const [instructor, setInstructor] = useState(""); const [weeks, setWeeks] = useState(4); const [error, setError] = useState(null); const submit = (event: FormEvent) => { event.preventDefault(); setError(null); const cleanTitle = title.trim(); const cleanSummary = summary.trim(); const cleanInstructor = instructor.trim(); if (!cleanTitle || !cleanSummary || !cleanInstructor) { setError("Title, summary, and instructor are required."); return; } const created = createTeacherCourse( { title: cleanTitle, level, summary: cleanSummary, instructor: cleanInstructor, weeks: Math.max(1, weeks), }, getAllCourseSlugs(), ); router.push(`/teacher/courses/${created.slug}/edit`); }; return (

Create Course