import React, { useState } from "react"; import { useRouter } from "next/navigation"; import { createDish } from "@/utils/api/dishApi"; import PageTitle from "@/components/ui/PageTitle"; import Alert from "@/components/ui/Alert"; import Button from "@/components/ui/Button"; import { ChevronLeftIcon } from "@heroicons/react/16/solid"; import Hr from "@/components/ui/Hr"; import Input from "@/components/ui/Input"; const CreateDishForm = () => { const router = useRouter() const [name, setName] = useState(""); const [error, setError] = useState(""); const [loading, setLoading] = useState(false); const validateForm = () => { if (!name.trim()) { setError("Dish name cannot be empty."); return false; } return true; }; const submitForm = async (e: React.FormEvent) => { e.preventDefault() // Validate client-side input if (!validateForm()) return; setError(""); setLoading(true); try { const result = await createDish(name); if (result) { router.push('/dishes') } } catch (error: unknown) { setError(error instanceof Error ? error.message : "An unexpected error occurred."); } finally { setLoading(false); } } return (
Create Dish
{ error && ( { error } ) } setName(e.target.value) } placeholder="Enter dish name" className="mb-4" />

); }; export default CreateDishForm;