Skip to content

Commit 38a6a6f

Browse files
committed
feat: add small comments
1 parent d951290 commit 38a6a6f

1 file changed

Lines changed: 7 additions & 1 deletion

File tree

src/components/BMDashboard/WeeklyProjectSummary/ActualVsPlannedCost/ActualVsPlannedCost.jsx

Lines changed: 7 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -22,16 +22,17 @@ function ActualVsPlannedCost() {
2222
const projects = useSelector(state => state.bmProjects) || [];
2323
const darkMode = useSelector(state => state.theme.darkMode);
2424

25+
// Persisted filters
2526
const [selectedProject, setSelectedProject] = useState(
2627
() => localStorage.getItem('bm_avsp_project') || '',
2728
);
2829
const [selectedCategory, setSelectedCategory] = useState(
2930
() => localStorage.getItem('bm_avsp_category') || 'Overall',
3031
);
3132

33+
// Component state
3234
const [breakdown, setBreakdown] = useState([]);
3335
const [totals, setTotals] = useState({ actual: 0, planned: 0 });
34-
3536
const [loading, setLoading] = useState(false);
3637
const [isFiltering, setIsFiltering] = useState(false);
3738

@@ -40,6 +41,7 @@ function ActualVsPlannedCost() {
4041
[projects, selectedProject],
4142
);
4243

44+
// Sync filters to local storage
4345
useEffect(() => {
4446
if (selectedProject) {
4547
localStorage.setItem('bm_avsp_project', selectedProject);
@@ -51,12 +53,14 @@ function ActualVsPlannedCost() {
5153
dispatch(fetchBMProjects());
5254
}, [dispatch]);
5355

56+
// Default to first project if none selected
5457
useEffect(() => {
5558
if (!selectedProject && projects.length > 0) {
5659
setSelectedProject(projects[0]._id);
5760
}
5861
}, [projects, selectedProject]);
5962

63+
// Filter transition effect
6064
useEffect(() => {
6165
setIsFiltering(true);
6266
const timeout = setTimeout(() => {
@@ -65,6 +69,7 @@ function ActualVsPlannedCost() {
6569
return () => clearTimeout(timeout);
6670
}, [selectedProject, selectedCategory]);
6771

72+
// Fetch project expenses
6873
useEffect(() => {
6974
if (selectedProject) {
7075
setLoading(true);
@@ -91,6 +96,7 @@ function ActualVsPlannedCost() {
9196
}
9297
}, [selectedProject]);
9398

99+
// Derived chart data
94100
const categories = ['Overall', ...new Set(breakdown.map(d => d.category))];
95101
const chartData =
96102
selectedCategory === 'Overall'

0 commit comments

Comments
 (0)