'use client'; import { useState } from 'react'; import { useRouter } from 'next/navigation'; import Link from 'next/link'; import { Button } from '@/components/ui/button'; import { Input } from '@/components/ui/input'; import { Card } from '@/components/ui/card'; export default function NewCoursePage() { const router = useRouter(); const [form, setForm] = useState({ title: '', description: '', cover: '', isFree: true }); const [submitting, setSubmitting] = useState(false); async function handleSubmit(e: React.FormEvent) { e.preventDefault(); if (!form.title.trim()) return; setSubmitting(true); try { const token = localStorage.getItem('adminToken'); const res = await fetch(`${process.env.NEXT_PUBLIC_API_URL || 'http://localhost:3000'}/api/v1/courses`, { method: 'POST', headers: { 'Content-Type': 'application/json', Authorization: `Bearer ${token}` }, body: JSON.stringify(form), }); if (res.ok) router.push('/admin/courses'); } catch {} setSubmitting(false); } return ( <>