Skip to content

Conversation

@Charitha2009
Copy link
Contributor

Description

Screenshot 2026-01-09 at 9 34 34 PM Screenshot 2026-01-09 at 9 40 30 PM

Related PRS (if any):

This frontend PR is related to the development backend PR.

Main changes explained:

  • Added a new stacked column chart titled Review Volume Over Time in the Reviews section with sentiment based coloring red for negative, green for positive, and gray for neutral
  • Implemented date range filtering with manual from and to date selection
  • Added Category filtering with By Village and By Property options and context aware multi select dropdowns where only the relevant filter is enabled
  • Ensured consistent dashboard sizing and clear axis labeling with Review Volume on the Y axis and Time on the X axis

How to test:

  1. check into current branch
  2. do npm install and ... to run this PR locally
  3. Clear site data/cache
  4. log as admin user
  5. go to lbdashboard→ Insights from Reviews
  6. Verify the Review Volume Over Time chart is visible and matches the dashboard layout
  7. Test the Category filter
    • Select By Village and confirm village multi select is enabled and property multi select is disabled
    • Select By Property and confirm property multi select is enabled and village multi select is disabled
    Verify stacked bars display correct colors for positive, negative, and neutral reviews

Screenshots or videos of changes:

Screenshot 2026-01-09 at 9 30 34 PM Screenshot 2026-01-09 at 9 30 11 PM Screenshot 2026-01-09 at 9 29 57 PM Screenshot 2026-01-09 at 9 29 43 PM Screenshot 2026-01-09 at 9 29 02 PM Screenshot 2026-01-09 at 9 28 48 PM

Test added 23 commits January 2, 2026 01:02
…lume-over-time-chart

# Conflicts:
#	package-lock.json
#	src/actions/bmdashboard/projectActions.js
#	src/actions/index.js
#	src/components/BMDashboard/Equipment/DailyActivityLog/EDailyActivityLog.jsx
#	src/components/BMDashboard/Equipment/List/EquipmentListModal.jsx
#	src/components/BMDashboard/Issues/issueChart.module.css
#	src/components/BMDashboard/Issues/issueCharts.module.css
#	src/components/BMDashboard/Issues/openIssueCharts.jsx
#	src/components/BMDashboard/ItemList/ItemsTable.jsx
#	src/components/BMDashboard/LessonList/LessonCard.jsx
#	src/components/BMDashboard/LessonList/LessonCard.module.css
#	src/components/BMDashboard/LogTools/LogTools.jsx
#	src/components/BMDashboard/LogTools/LogTools.module.css
#	src/components/BMDashboard/RentalChart/RentalChart.jsx
#	src/components/BMDashboard/RentalChart/RentalChart.module.css
#	src/components/Badge/NewBadges.jsx
#	src/components/CommunityPortal/CPDashboard.jsx
#	src/components/CommunityPortal/Login/CPLogin.jsx
#	src/components/EductionPortal/EvaluationResults/CategoryBreakdown.module.css
#	src/components/EductionPortal/EvaluationResults/EvaluationResults.module.css
#	src/components/EductionPortal/EvaluationResults/SummaryStats.module.css
#	src/components/EnhancedPopularityTimelineAnalytics/EnhancedPopularityTimelineChart.jsx
#	src/components/HGNSkillsDashboard/SkillsProfilePage/components/AdditionalInfo.jsx
#	src/components/HGNSkillsDashboard/SkillsProfilePage/components/BackendSkills.jsx
#	src/components/HGNSkillsDashboard/SkillsProfilePage/components/DeploymentSkills.jsx
#	src/components/HGNSkillsDashboard/SkillsProfilePage/components/FrontendSkills.jsx
#	src/components/HGNSkillsDashboard/SkillsProfilePage/components/LeftSection.jsx
#	src/components/HGNSkillsDashboard/SkillsProfilePage/components/ProfileDetails.jsx
#	src/components/HGNSkillsDashboard/SkillsProfilePage/components/RadarChart.jsx
#	src/components/HGNSkillsDashboard/SkillsProfilePage/components/RightSection.jsx
#	src/components/HGNSkillsDashboard/SkillsProfilePage/components/Skills.jsx
#	src/components/HGNSkillsDashboard/SkillsProfilePage/components/SoftwarePractices.jsx
#	src/components/HGNSkillsDashboard/SkillsProfilePage/components/UserSkillsProfile.jsx
#	src/components/HGNSkillsDashboard/SkillsProfilePage/styles/AdditionalInfo.module.css
#	src/components/HGNSkillsDashboard/SkillsProfilePage/styles/LeftSection.module.css
#	src/components/HGNSkillsDashboard/SkillsProfilePage/styles/ProfileDetails.module.css
#	src/components/HGNSkillsDashboard/SkillsProfilePage/styles/RadarChart.module.css
#	src/components/HGNSkillsDashboard/SkillsProfilePage/styles/RightSection.module.css
#	src/components/HGNSkillsDashboard/SkillsProfilePage/styles/Skills.module.css
#	src/components/HGNSkillsDashboard/SkillsProfilePage/styles/SkillsSection.module.css
#	src/components/HGNSkillsDashboard/SkillsProfilePage/styles/UserSkillsProfile.module.css
#	src/components/Header/Header.jsx
#	src/components/Header/Header.module.css
#	src/components/LBDashboard/LBDashboard.jsx
#	src/components/LBDashboard/Login/LBLogin.jsx
#	src/components/LBDashboard/Login/Login.module.css
#	src/components/LeaderBoard/Leaderboard.jsx
#	src/components/LeaderBoard/Leaderboard.module.css
#	src/components/PopUpBar/PopUpBar.jsx
#	src/components/Projects/WBS/WBSDetail/AddTask/AddTaskModal.jsx
#	src/components/Projects/WBS/WBSDetail/components/TagsSearch.jsx
#	src/components/Reports/ProjectReport/WbsPiechart/WbsPieChart.jsx
#	src/components/Reports/Reports.jsx
#	src/components/Reports/TeamReport/TeamReport.jsx
#	src/components/Reports/TeamReport/TeamReport.module.css
#	src/components/Reports/TeamReport/components/TeamsReportCharts.jsx
#	src/components/Reports/TeamReport/components/UserLoginPrivileges.jsx
#	src/components/Reports/TeamReport/components/__tests__/TeamsReportCharts.test.jsx
#	src/components/Reports/TeamTable.jsx
#	src/components/Timelog/Timelog.module.css
#	src/components/UserProfile/BlueSquares/BlueSquare.jsx
#	src/components/UserProfile/TeamsAndProjects/UserTeamsTable.jsx
#	src/components/VolunteerweeklysummaryBBC/WeeklySummaryEmailAssignmentPopUp.jsx
#	src/components/WeeklySummariesReport/FormattedReport.jsx
#	src/components/WeeklySummariesReport/WeeklySummariesReport.jsx
#	src/components/WeeklySummariesReport/components/CreateFilterModal.jsx
#	src/components/WeeklySummariesReport/components/FilterEditForm.jsx
#	src/components/WeeklySummariesReport/components/FilterPreviewForm.jsx
#	src/components/WeeklySummariesReport/components/SelectFilterModal.jsx
#	src/components/WeeklySummariesReport/components/UpdateFilterModal.jsx
#	src/components/WeeklySummariesReport/components/WeeklySummariesToggleFilter.jsx
#	src/components/common/CPDashboard/CPProtectedRoute/CPProtectedRoute.jsx
#	src/constants/projects.js
#	src/reducers/index.js
#	src/routes.jsx
#	src/store.js
#	src/utils/URL.js
#	yarn.lock
- Create ReviewVolumeOverTimeChart component with stacked bar chart
- Add date range filters (from/to date pickers)
- Add Category filter (By Village / By Property)
- Add multi-select dropdown for Villages (active when Category = By Village)
- Add multi-select dropdown for Properties (active when Category = By Property)
- Chart colors: Red (#DC3545) for Negative, Green (#28A745) for Positive, Gray (#6C757D) for Neutral
- Y-axis: Review Volume, X-axis: Time
- Standardized chart size (500px height) to match other graphs
- Integrated into Reviews section of ReviewsInsight component
…filters

- Add ReviewVolumeOverTimeChart component to LBDashboard Insights from Reviews section
- Integrate chart with existing village/property data from ReviewWordCloud
- Fix dark mode styling for date inputs and calendar popup
- Fix tooltip text visibility in dark mode (white text on dark background)
- Fix mobile responsive layout and prevent text overflow
- Position chart on right side, word clouds on left (side-by-side layout)
- Chart displays on top, filters below (vertical layout within chart)
- Add comprehensive mobile overflow fixes and responsive styles
- Set all sections to same height (600px) for consistent display
- Remove informational messages, chart displays silently with sample data
- Add calendar-icon-dark class and color-scheme dark for native date picker
- Ensure proper text wrapping and box-sizing for mobile devices
@netlify
Copy link

netlify bot commented Jan 10, 2026

Deploy Preview for highestgoodnetwork-dev failed.

Name Link
🔨 Latest commit f55bd44
🔍 Latest deploy log https://app.netlify.com/projects/highestgoodnetwork-dev/deploys/6961bc996dd6f6000823dd27

@sonarqubecloud
Copy link

Quality Gate Failed Quality Gate failed

Failed conditions
12.8% Duplication on New Code (required ≤ 3%)

See analysis details on SonarQube Cloud

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants