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(""); const { data: transaction, error: transactionError, isLoading, } = useGetTransactionsQuery(financeId); useEffect(() => { const fetchSummary = async () => { setLoading(true); setError(""); try { const response = await fetch( `http://localhost:8000/api/v1/finance/summary/${financeId}`, { credentials: "include" } ); if (!response.ok) { throw new Error("Failed to fetch summary"); } const data = await response.json(); setSummary(data); } catch (err) { console.error("Error fetching finance summary:", err); setError("Error fetching summary"); } finally { setLoading(false); } }; fetchSummary(); }, [farmId]); // if (loading) return ; //if (error) return
{error}
; // Extract only the important fields. const { totalExpenses, totalRevenue, transactions } = summary || {}; const transactionsCount = Array.isArray(transactions) ? transactions.length : 0; return (

Transactions Summary

{transaction?.map((transaction) => ( ))}
Type of Transaction Amount Description Date Action
{transaction.type} {transaction.amount} {transaction.description} {formatTimestamp(transaction.date)}
); }; export default FinanceSummary;