From 262446fff7bbd6067e0c5484388681510a39bd07 Mon Sep 17 00:00:00 2001 From: Karan Date: Tue, 25 Mar 2025 19:40:56 +0530 Subject: [PATCH] feat: Add some new connection --- .../src/pages/UserPanel/Farm/CreateTask.jsx | 20 +++---- .../src/pages/UserPanel/Farm/DisplayTask.jsx | 41 +++++-------- .../pages/UserPanel/Farm/FinanceSummary.jsx | 59 +++++++++++++++++-- 3 files changed, 75 insertions(+), 45 deletions(-) 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
Loading tasks...
; if (error) return
Error: {error}
; diff --git a/Frontend/src/pages/UserPanel/Farm/FinanceSummary.jsx b/Frontend/src/pages/UserPanel/Farm/FinanceSummary.jsx index 2c2060d..9949beb 100644 --- a/Frontend/src/pages/UserPanel/Farm/FinanceSummary.jsx +++ b/Frontend/src/pages/UserPanel/Farm/FinanceSummary.jsx @@ -1,11 +1,35 @@ import React, { useState, useEffect } from "react"; import Loader from "../../../components/Loader"; +import { useGetTransactionsQuery } from "../../../store/api/financeApi"; + +function formatTimestamp(isoString) { + const date = new Date(isoString); + return date.toLocaleString("en-US", { + year: "numeric", + month: "long", + day: "numeric", + hour: "2-digit", + minute: "2-digit", + second: "2-digit", + hour12: true, // Ensures AM/PM format + }); +} const FinanceSummary = ({ farmId, financeId }) => { const [summary, setSummary] = useState(null); const [loading, setLoading] = useState(true); const [error, setError] = useState(""); + console.log("Finance id /mljkfgj is : ", financeId); + + const { + data: transaction, + error: transactionError, + isLoading, + } = useGetTransactionsQuery(financeId); + + console.log("Transaction data is : ", transaction); + useEffect(() => { const fetchSummary = async () => { setLoading(true); @@ -52,23 +76,48 @@ const FinanceSummary = ({ farmId, financeId }) => { - Farm name + Type of Transaction - Location + Amount - Type + Description - Size (acres) + Date Action - + + {transaction?.map((transaction) => ( + + + {transaction.type} + + + {transaction.amount} + + + {transaction.description} + + + {formatTimestamp(transaction.date)} + + + + + + ))} +