diff --git a/src/components/Dashboard/ExpenseAnalysis.jsx b/src/components/Dashboard/ExpenseAnalysis.jsx index 78126d21..f398e8b5 100644 --- a/src/components/Dashboard/ExpenseAnalysis.jsx +++ b/src/components/Dashboard/ExpenseAnalysis.jsx @@ -1,18 +1,30 @@ -import React, { useEffect, useMemo } from "react"; +import React, { useEffect, useMemo, useState } from "react"; import Chart from "react-apexcharts"; import { useExpenseAnalysis } from "../../hooks/useDashboard_Data"; import { useSelectedProject } from "../../slices/apiDataManager"; import { DateRangePicker1 } from "../common/DateRangePicker"; import { FormProvider, useForm } from "react-hook-form"; import { formatCurrency, localToUtc } from "../../utils/appUtils"; +import { useProjectName } from "../../hooks/useProjects"; const ExpenseAnalysis = () => { const projectId = useSelectedProject(); + const [projectName, setProjectName] = useState("All Project"); + const { projectNames, loading } = useProjectName(); const methods = useForm({ defaultValues: { startDate: "", endDate: "" }, }); + useEffect(() => { + if (projectId && projectNames?.length) { + const project = projectNames.find((p) => p.id === projectId); + setProjectName(project?.name || "All Project"); + } else { + setProjectName("All Project"); + } + }, [projectNames, projectId]); + const { watch } = methods; const [startDate, endDate] = watch(["startDate", "endDate"]); @@ -66,11 +78,12 @@ const ExpenseAnalysis = () => { return ( <> -
+
Expense Breakdown
-

Category Wise Expense Breakdown

+ {/*

Category Wise Expense Breakdown

*/} +

{projectName}

@@ -144,7 +157,7 @@ const ExpenseAnalysis = () => { )}
-
+ {/* Header */} diff --git a/src/components/Dashboard/ExpenseByProject.jsx b/src/components/Dashboard/ExpenseByProject.jsx index 819824ca..96e3fb56 100644 --- a/src/components/Dashboard/ExpenseByProject.jsx +++ b/src/components/Dashboard/ExpenseByProject.jsx @@ -5,13 +5,18 @@ import { useSelector } from "react-redux"; import { useExpenseDataByProject } from "../../hooks/useDashboard_Data"; import { formatCurrency } from "../../utils/appUtils"; import { formatDate_DayMonth } from "../../utils/dateUtils"; +import { useProjectName } from "../../hooks/useProjects"; +import { useSelectedProject } from "../../slices/apiDataManager"; const ExpenseByProject = () => { const projectId = useSelector((store) => store.localVariables.projectId); + const [projectName, setProjectName] = useState("All Project"); const [range, setRange] = useState("12M"); + const { projectNames, loading } = useProjectName(); const [selectedType, setSelectedType] = useState(""); const [viewMode, setViewMode] = useState("Category"); const [chartData, setChartData] = useState({ categories: [], data: [] }); + const selectedProject = useSelectedProject(); const { ExpenseTypes, loading: typeLoading } = useExpenseType(); @@ -21,6 +26,15 @@ const ExpenseByProject = () => { range === "All" ? null : parseInt(range) ); + useEffect(() => { + if (selectedProject && projectNames?.length) { + const project = projectNames.find((p) => p.id === selectedProject); + setProjectName(project?.name || "All Project"); + } else { + setProjectName("All Project"); + } + }, [projectNames, selectedProject]); + useEffect(() => { if (expenseApiData) { const categories = expenseApiData.map((item) => @@ -72,9 +86,9 @@ const ExpenseByProject = () => { {/* Header */}
-
+
Monthly Expense -
-

Detailed project expenses

+

{projectName}