diff --git a/Frontend/src/pages/UserPanel/Farm/AddCrop.jsx b/Frontend/src/pages/UserPanel/Farm/AddCrop.jsx index a7325e8..ba5d036 100644 --- a/Frontend/src/pages/UserPanel/Farm/AddCrop.jsx +++ b/Frontend/src/pages/UserPanel/Farm/AddCrop.jsx @@ -1,65 +1,238 @@ -import { useEffect } from "react"; +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); + } + }; -const AddCrop = () => { return ( <> - {" "} -