diff --git a/Frontend/src/pages/UserPanel/Farm/CreateTask.jsx b/Frontend/src/pages/UserPanel/Farm/CreateTask.jsx index dd9e902..b383270 100644 --- a/Frontend/src/pages/UserPanel/Farm/CreateTask.jsx +++ b/Frontend/src/pages/UserPanel/Farm/CreateTask.jsx @@ -1,4 +1,5 @@ import React, { useState } from "react"; +import { useCreateTaskMutation } from "../../../store/api/taskApi"; const CreateTask = ({ farmId, onTaskCreated }) => { const [farm, setFarm] = useState(farmId); @@ -10,6 +11,8 @@ const CreateTask = ({ farmId, onTaskCreated }) => { const [message, setMessage] = useState(""); const [modalOpen, setModalOpen] = useState(false); + const [createTask] = useCreateTaskMutation(); + const handleSubmit = async (e) => { e.preventDefault(); setLoading(true); @@ -27,20 +30,11 @@ const CreateTask = ({ farmId, onTaskCreated }) => { status, }; + console.log("Task Data is worked : ", taskData); + try { - const response = await fetch("http://localhost:8000/api/v1/task", { - method: "POST", - credentials: "include", - headers: { - "Content-Type": "application/json", - }, - body: JSON.stringify(taskData), - }); - if (!response.ok) { - throw new Error("Failed to create task"); - } - const data = await response.json(); - console.log("Task created:", data); + const res = await createTask(taskData).unwrap(); + setMessage("Task created successfully!"); setModalOpen(false); // Call the parent's callback with the newly created task diff --git a/Frontend/src/pages/UserPanel/Farm/DisplayTask.jsx b/Frontend/src/pages/UserPanel/Farm/DisplayTask.jsx index 57f2ee5..f3e2933 100644 --- a/Frontend/src/pages/UserPanel/Farm/DisplayTask.jsx +++ b/Frontend/src/pages/UserPanel/Farm/DisplayTask.jsx @@ -1,11 +1,20 @@ import React, { useState, useEffect } from "react"; import Loader from "../../../components/Loader"; +import { useGetTasksByFarmQuery } from "../../../store/api/taskApi"; const DisplayTast = ({ farmId }) => { const [tasks, setTasks] = useState([]); const [loading, setLoading] = useState(true); const [error, setError] = useState(null); + const { + data: taskList, + error: taskError, + isLoading, + } = useGetTasksByFarmQuery(farmId); + + console.log("Task list is : ", taskList); + // Function to delete a task and update the state const handleDeleteTask = async (taskId) => { try { @@ -31,33 +40,11 @@ const DisplayTast = ({ farmId }) => { }; useEffect(() => { - const fetchTasks = async () => { - setLoading(true); - setError(null); - try { - const response = await fetch( - `http://localhost:8000/api/v1/task/farm/${farmId}`, - { - credentials: "include", - headers: { - "Content-Type": "application/json", - }, - } - ); - if (!response.ok) { - throw new Error("Failed to fetch tasks"); - } - const data = await response.json(); - setTasks(data); - } catch (err) { - setError(err.message); - } finally { - setLoading(false); - } - }; - - fetchTasks(); - }, [farmId]); + if (taskList) { + setTasks(taskList); + setLoading(false); + } + }, [farmId, taskList]); if (loading) return