Deep fix volunteer status pie chart#4138
Conversation
✅ Deploy Preview for highestgoodnetwork-dev ready!
To edit notification comments on pull requests, go to your Netlify project configuration. |
|
PR verification confirms the Total Mentors Chart loads correctly under Total Org Summary. The mentor count updates accurately based on applied date filters. |
|
Reviewed PR #4138 However, I noticed that there is a time delay between the application of the date filter and it's reflection on the charts. This seems to happen on all the visualizations on the screen. I suggest adding a loading animation to the chart to ensure that it is not confusing to the users. Delay.between.application.of.filter.and.its.reflection.on.the.charts.mov |
laynet
left a comment
There was a problem hiding this comment.
Reviewed PR #4138. I followed the testing instructions and logged in as admin user running the backend with PR # 1759. The graph loaded as expected and changed when different dates were selected through the filters. Behaved as expected in dark mode as well. There was a significant lag between filter selection and graph load.


Aswin20010
left a comment
There was a problem hiding this comment.
Tested the new Mentor Status Pie Chart under Reports → Total Org Summary. Verified data rendering from mentorNumberStats, correct alignment beside the volunteer chart, and consistent count updates based on date filters. Confirmed the connector lines and pill-shaped callouts render correctly using externalLabelGuidesPlugin.js. Checked layout spacing, responsiveness, and dark mode — all functioning as expected. Approved the Frontend and related Backend PR.
Aditya-gam
left a comment
There was a problem hiding this comment.
- The mentor chart follows the same architectural pattern as the volunteer chart, ensuring consistency
- Props are properly typed with PropTypes validation
- Responsive design implementation with appropriate loading states
- The mentor donut chart renders correctly alongside the volunteer chart
- Clean separation of concerns with dedicated components for each chart
These are the issues I found:
- The floating labels disappear when positioned near the chart boundaries. The
externalLabelGuidesPlugincalculates label positions but doesn't account for container overflow, causing labels to be clipped when they extend beyond the chart container's bounds.
- The chart headings ("TOTAL VOLUNTEERS" and "TOTAL MENTORS") use hardcoded colors (
#828282and#6c6c6c) that don't adapt to dark mode. These colors remain dark gray in dark mode, making them difficult to read against the dark background.
- The charts are clipped on smaller screens, particularly:
- iPad Pro dimensions (1024px × 1366px)
- Screen widths between
992.50px x 1025pxto1390px x 1025px
- The current CSS uses fixed flex values and doesn't properly handle the container width constraints for these breakpoints.
Test Video:
TestVideo.mov
b0f91fe
|
Aditya-gam
left a comment
There was a problem hiding this comment.
- Tested the new changes on the local environment.
- The labels now don't overflow and are properly visible.
-
The chart headings ("TOTAL VOLUNTEERS" and "TOTAL MENTORS") now appropriately adapt to dark mode.
-
The charts are now responsive for smaller screen sizes.
- Checked for multiple screen sizes, including the ones mentioned in the first review. The Charts are now responsive for all screen sizes.
Test Video:
UpdatedTestVideo.mov
e378fd0
|
|
Thank you all, merging! |











Description
Added a new pie chart to show
Total Mentorsnext toTotal Volunteerpie chartRelated PRS (if any):
This frontend PR is related to the #1759 backend PR.
Main changes explained:
mentorNumberStatsand renders next to the volunteer chart with the shared footnote.externalLabelGuidesPlugin.jsto draw connector lines and pill-shaped calloutsHow to test:
deep-fix-volunteer-status-pie-chartbranch in the frontend.deep-fix-volunteer-status-pie-chartbranch in backend and run it to test.npm install, and...to run this PR locally.Screenshots or videos of changes:
Before:
Screen.Recording.2025-09-28.at.14.46.46.mov
After:
Screen.Recording.2025-09-28.at.14.41.37.mov