import React, { useState, useEffect } from "react";
import Loader from "../../../components/Loader";
import { Link, useNavigate } from "react-router-dom";
import { useGetCropsByFarmQuery } from "../../../store/api/cropApi";
const CropTable = ({ farmId }) => {
const [crops, setCrops] = useState([]);
const [loading, setLoading] = useState(true);
const [error, setError] = useState(null);
const navigate = useNavigate();
const {
data: cropsData,
error: cropsError,
isLoading: cropsLoading,
} = useGetCropsByFarmQuery(farmId);
const handleRemoveCrop = async (cropId) => {
try {
await fetch(`http://localhost:8000/api/v1/crop/${cropId}`, {
method: "DELETE",
credentials: "include",
headers: {
"Content-Type": "application/json",
},
});
setCrops(crops.filter((crop) => crop._id !== cropId));
} catch (err) {
setError(err.message);
}
};
useEffect(() => {
if (cropsData) {
setCrops(cropsData);
setLoading(false);
}
}, [cropsData]);
if (loading) {
return
Error: {error}
Start by adding some crops to your farm
| Image | Name | Growth Stage | Health Status | Harvest Date | Remove Crop |
|---|---|---|---|---|---|
|
{crop.image ? (
No image
)}
|
{crop.name}
|
{crop.growthStage} |
{crop.healthStatus}
|
{new Date(crop.harvestDate).toLocaleDateString()}
|
|