<!--
Thanks for contributing!
Provide a description of your changes below and a general summary in the
title
Please look at the following checklist to ensure that your PR can be
accepted quickly:
-->
## Description
1. Supported new device type `NCPS` in analytics occupancy tab.
2. Fixed a bug where the devices weren't being shown.
3. removed old comment.
4. Increased size of `OccupancyEndSideBar` in medium sized screens.
5. Fixed TVOC code to read data.
6. Changed TVOC unit string to match the device.
7. Fixed data loading bug in AQI.
## Type of Change
<!--- Put an `x` in all the boxes that apply: -->
- [ ] ✨ New feature (non-breaking change which adds functionality)
- [x] 🛠️ Bug fix (non-breaking change which fixes an issue)
- [x] ❌ Breaking change (fix or feature that would cause existing
functionality to change)
- [ ] 🧹 Code refactor
- [ ] ✅ Build configuration change
- [ ] 📝 Documentation
- [ ] 🗑️ Chore
1. Overlapping line not removed.
2. The colors of the data on X axis and Y axis are not identical to design.
3. Day 1 and 2 are missing on the X axis.
4. When the chart loads, we see it coming from the top right corner (check the attached video).
5. Display all available devices even if they have no data and make the chart empty state.
* set the default tab to occupancy for ease of development.
* Implemented an initial design for the occupancy chart.
* Add Occupacy model and service for occupancy data handling.
* Created `OccupancyBloc`.
* Implemented the sidebar of Occupancy view.
* Moved `OccupancyEndSideBar` widget to its own file.
* Removed unnecessary widgets.
* Matched the `OccupancyChart` with the figma design.
* Added `AnalyticsDateFilterButton` to `OccupancyChartBox`.
* Hides `AnalyticsDateFilterButton` that is in the page header, when the selected tab isn't `AnalyticsPageTab.energyManagement`.
* Added animation to`AnalyticsDateFilterButton`.
* modified the implementation of `FakeOccupacyService` to clamp all the generated values to less than a 100.
* Injected `OccupancyBloc` into `AnalyticsPage`.
* Made `OccupancyChart` read its data from `OccupancyBloc`.
* Refactor AnalyticsCommunitiesSidebar to load data based on selected tab and implement loadEnergyManagementData method
* Refactor Analytics views to use StatefulWidget and load data in initState
* Created `OccupancyHeatMapModel`.
* Add FakeOccupancyHeatMapService implementation.
* Created `OccupancyHeatMapBloc`.
* Injected `OccupancyHeatMapBloc` into `AnalyticsPage`.
* Add OccupancyHeatMapBox widget and integrate into AnalyticsOccupancyView
* Matching the heat map with the design, and added week days.
* Made the HeatMap cells have a dashed border.
* shows months.
* responsiveness.
* Integrate OccupancyHeatMapBloc and update OccupancyHeatMapBox to display heat map data with error handling
* Integrate OccupancyHeatMapBloc and update OccupancyHeatMapBox to display heat map data with error handling
* made the heatmap loading fast af by using painters instead of individually creating a widget for every single event.
* Extracted `OccupancyHeatMapMonths` into its own widgte.
* Moved `OccupancyHeatMapMonths` to its own file.
* Adjusted design of `OccupancyHeatMapMonths`.
* Adjust layout flex properties for `OccupancyEndSideBar` and its parent column in `AnalyticsOccupancyView`.
* moved `OccupancyPaintItem` to `OccupancyPainter`s file.
* removed comments from `OccupancyPainter`.
* used color.withValues instead of .withOpacity.
* re-added `OccupancyHeatMapGradient`.
* Revert initial tab to `energyManagement`.
* Made datepicker dynamic for multiple states.
* Add year picker functionality to date filter button and implement dynamic date selection
* Align date filter button to the end in occupancy chart and heat map boxes for improved UI consistency.
* Enahnced color of border in `OccupancyPainter`.
* Add ClearOccupancyHeatMapEvent to reset heat map state and update occupancy data helper to trigger event on empty selections
* show percentage of value in tool tip of `OccupancyChart`.