import React, { useState } from "react"; const AddCrop = ({ farmId }) => { const [isModalOpen, setIsModalOpen] = useState(false); const [name, setName] = useState(""); const [farm, setFarm] = useState(farmId); const [harvestDate, setHarvestDate] = useState(""); const [growthStage, setGrowthStage] = useState("Planted"); const [healthStatus, setHealthStatus] = useState(""); const [image, setImage] = useState(null); const [uploading, setUploading] = useState(false); const [error, setError] = useState(""); const [success, setSuccess] = useState(""); const handleSubmit = async (e) => { e.preventDefault(); setUploading(true); setError(""); setSuccess(""); const formData = new FormData(); formData.append("name", name); formData.append("farm", farm); formData.append("harvestDate", harvestDate); formData.append("growthStage", growthStage); formData.append("healthStatus", healthStatus); if (image) { formData.append("image", image); } console.log(formData); try { const response = await fetch(`http://localhost:8000/api/v1/crop`, { method: "POST", credentials: "include", body: formData, }); if (!response.ok) { throw new Error("Failed to create crop"); } setSuccess("Crop created successfully!"); // Reset form fields setName(""); setFarm(""); setHarvestDate(""); setGrowthStage(""); setHealthStatus(""); setImage(null); } catch (err) { setError(err.message); } finally { setUploading(false); } }; return ( <> {isModalOpen && (
{/* Backdrop */}
setIsModalOpen(false)} >
{/* Modal Content */}
{/* Decorative SVG Elements */}
{/* Modal Header */}

Add New Crop

{/* Modal Body */}
setName(e.target.value)} placeholder="Rice" className="mt-1 block w-full rounded-md border-gray-300 shadow-sm" required />
setHarvestDate(e.target.value)} className="mt-1 block w-full rounded-md border-gray-300 shadow-sm" required />
setHealthStatus(e.target.value)} placeholder="Healthy" className="mt-1 block w-full rounded-md border-gray-300 shadow-sm" required />
setImage(e.target.files[0])} className="mt-1 block w-full" required />
{error &&

{error}

} {success &&

{success}

}
)} ); }; export default AddCrop;