From 4045e97a9d1b6bb7ebe4e378393048f92bbe2df1 Mon Sep 17 00:00:00 2001 From: Adithya Cherukuri Date: Thu, 28 May 2026 13:55:23 -0400 Subject: [PATCH] feat: add customToolTip --- .../Financials/ExpenseBarChart.jsx | 57 +++++++++++++++++++ 1 file changed, 57 insertions(+) diff --git a/src/components/BMDashboard/WeeklyProjectSummary/Financials/ExpenseBarChart.jsx b/src/components/BMDashboard/WeeklyProjectSummary/Financials/ExpenseBarChart.jsx index f1c4594a55..5f88096070 100644 --- a/src/components/BMDashboard/WeeklyProjectSummary/Financials/ExpenseBarChart.jsx +++ b/src/components/BMDashboard/WeeklyProjectSummary/Financials/ExpenseBarChart.jsx @@ -4,6 +4,63 @@ import { useState, useEffect } from 'react'; const categories = ['Plumbing', 'Electrical', 'Structural', 'Mechanical']; const projects = ['Project A', 'Project B', 'Project C']; +const CustomTooltip = ({ active, payload, label }) => { + if (active && payload && payload.length) { + const chartData = payload[0].payload; + + const isOverBudget = chartData.variance > 0; + + return ( +
+

+ {label} +

+ +

+ Planned: ${chartData.planned} +

+ +

+ Actual: ${chartData.actual} +

+ +

+ Variance: {chartData.variance > 0 ? '+' : ''}${chartData.variance} ( + {chartData.variancePercent}) +

+
+ ); + } + + return null; +}; + export default function ExpenseBarChart({ darkMode }) { const [projectId, setProjectId] = useState(''); const [categoryFilter, setCategoryFilter] = useState('ALL');