import React, { useState } from "react"; import { useNavigate } from "react-router-dom"; const UpdateFarm = () => { const [farmName, setFarmName] = useState(""); const [location, setLocation] = useState(""); const [waterContent, setWaterContent] = useState(""); const [soilType, setSoilType] = useState(""); const [sizeContent, setSizeContent] = useState(""); const [error, setError] = useState(null); const [success, setSuccess] = useState(false); const navigate = useNavigate(); const handleSubmit = async (e) => { e.preventDefault(); const farmData = { name: farmName, location, waterContent, soilType, size: sizeContent, }; try { const response = await fetch( "http://localhost:8000/api/v1/farm/67b9b3a1b68365aa35ae0e5f", { method: "POST", headers: { "Content-Type": "application/json", }, body: JSON.stringify(farmData), } ); if (!response.ok) { throw new Error("Failed to Update the farm"); } setSuccess(true); setError(null); // navigate to the dashboard: navigate("/dashboard"); } catch (err) { setError(err.message); setSuccess(false); } }; return (

Update farm

setFarmName(e.target.value)} className="shadow-xs bg-gray-50 border border-gray-300 text-gray-900 text-sm rounded-lg focus:ring-blue-500 focus:border-blue-500 block w-full p-2.5 dark:bg-gray-700 dark:border-gray-600 dark:placeholder-gray-400 dark:text-white" required />
setLocation(e.target.value)} className="shadow-xs bg-gray-50 border border-gray-300 text-gray-900 text-sm rounded-lg focus:ring-blue-500 focus:border-blue-500 block w-full p-2.5 dark:bg-gray-700 dark:border-gray-600 dark:placeholder-gray-400 dark:text-white" required />
setWaterContent(e.target.value)} className="shadow-xs bg-gray-50 border border-gray-300 text-gray-900 text-sm rounded-lg focus:ring-blue-500 focus:border-blue-500 block w-full p-2.5 dark:bg-gray-700 dark:border-gray-600 dark:placeholder-gray-400 dark:text-white" required />
setSoilType(e.target.value)} className="shadow-xs bg-gray-50 border border-gray-300 text-gray-900 text-sm rounded-lg focus:ring-blue-500 focus:border-blue-500 block w-full p-2.5 dark:bg-gray-700 dark:border-gray-600 dark:placeholder-gray-400 dark:text-white" required />
setSizeContent(e.target.value)} className="shadow-xs bg-gray-50 border border-gray-300 text-gray-900 text-sm rounded-lg focus:ring-blue-500 focus:border-blue-500 block w-full p-2.5 dark:bg-gray-700 dark:border-gray-600 dark:placeholder-gray-400 dark:text-white" required />
{error &&

{error}

} {success && (

Farm Updated successfully!

)}
); }; export default UpdateFarm;