import React, { useState } from "react"; import { useNavigate } from "react-router-dom"; const AddFarm = () => { const [isModalOpen, setIsModalOpen] = useState(false); const [farmName, setFarmName] = useState(""); const [location, setLocation] = useState(""); const [waterContent, setWaterContent] = useState(""); const [sizeContent, setSizeContent] = useState(""); const [soilType, setSoilType] = useState(""); const [error, setError] = useState(null); const [success, setSuccess] = useState(false); const navigator = useNavigate(); const handleSubmit = async (e) => { e.preventDefault(); const farmData = { name: farmName, location, waterContent, soilType, size: sizeContent, }; console.log(farmData); try { const response = await fetch("http://localhost:8000/api/v1/farm", { method: "POST", credentials: "include", headers: { "Content-Type": "application/json", }, body: JSON.stringify(farmData), }); const data = await response.json(); console.log(data); if (!response.ok) { throw new Error("Failed to add farm"); } navigator("farmpage"); setSuccess(true); setError(null); setIsModalOpen(false); } catch (err) { setError(err.message); setSuccess(false); } }; return ( <> {isModalOpen && (
setIsModalOpen(false)} >
{/* Decorative Leaves */}
{/* Modal Header */}

Add New Farm

{/* Modal Body */}
setFarmName(e.target.value)} className="w-full px-4 py-3 rounded-lg border border-gray-200 focus:ring-2 focus:ring-green-400 focus:border-transparent transition duration-200 ease-in-out bg-white/80" placeholder="Enter farm name" required />
setLocation(e.target.value)} className="w-full px-4 py-3 rounded-lg border border-gray-200 focus:ring-2 focus:ring-green-400 focus:border-transparent transition duration-200 ease-in-out bg-white/80" placeholder="Enter location" required />
setWaterContent(e.target.value)} className="w-full px-4 py-3 rounded-lg border border-gray-200 focus:ring-2 focus:ring-green-400 focus:border-transparent transition duration-200 ease-in-out bg-white/80" placeholder="Enter water content" required />
setSizeContent(e.target.value)} className="w-full px-4 py-3 rounded-lg border border-gray-200 focus:ring-2 focus:ring-green-400 focus:border-transparent transition duration-200 ease-in-out bg-white/80" placeholder="Enter water content" required />
setSoilType(e.target.value)} className="w-full px-4 py-3 rounded-lg border border-gray-200 focus:ring-2 focus:ring-green-400 focus:border-transparent transition duration-200 ease-in-out bg-white/80" placeholder="Enter soil type" required />
{error && (

{error}

)} {success && (

Farm added successfully!

)}
)} ); }; export default AddFarm;