uses UTC dates as an attempt to fix heat-map's rendering bug. (#304)

<!--
  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

Uses UTC dates as an attempt to fix heatmap's rendering bug 

## 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)
- [ ]  Breaking change (fix or feature that would cause existing
functionality to change)
- [ ] 🧹 Code refactor
- [ ]  Build configuration change
- [ ] 📝 Documentation
- [ ] 🗑️ Chore
This commit is contained in:
Faris Armoush
2025-06-27 22:15:05 +03:00
committed by GitHub
2 changed files with 4 additions and 4 deletions

View File

@ -21,11 +21,11 @@ class OccupancyHeatMapModel extends Equatable {
return OccupancyHeatMapModel( return OccupancyHeatMapModel(
uuid: json['uuid'] as String? ?? '', uuid: json['uuid'] as String? ?? '',
eventDate: DateTime( eventDate: DateTime.utc(
int.parse(year ?? '2025'), int.parse(year ?? '2025'),
int.parse(month ?? '1'), int.parse(month ?? '1'),
int.parse(day ?? '1'), int.parse(day ?? '1'),
).toUtc(), ),
countTotalPresenceDetected: num.parse( countTotalPresenceDetected: num.parse(
json['count_total_presence_detected']?.toString() ?? '0', json['count_total_presence_detected']?.toString() ?? '0',
).toInt(), ).toInt(),

View File

@ -20,14 +20,14 @@ class OccupancyHeatMap extends StatelessWidget {
: 0; : 0;
DateTime _getStartingDate() { DateTime _getStartingDate() {
final jan1 = DateTime(DateTime.now().year, 1, 1).toUtc(); final jan1 = DateTime.utc(DateTime.now().year, 1, 1);
final startOfWeek = jan1.subtract(Duration(days: jan1.weekday - 1)); final startOfWeek = jan1.subtract(Duration(days: jan1.weekday - 1));
return startOfWeek; return startOfWeek;
} }
List<OccupancyPaintItem> _generatePaintItems(DateTime startDate) { List<OccupancyPaintItem> _generatePaintItems(DateTime startDate) {
return List.generate(_totalWeeks * 7, (index) { return List.generate(_totalWeeks * 7, (index) {
final date = startDate.toUtc().add(Duration(days: index)); final date = startDate.add(Duration(days: index));
final value = heatMapData[date] ?? 0; final value = heatMapData[date] ?? 0;
return OccupancyPaintItem(index: index, value: value, date: date); return OccupancyPaintItem(index: index, value: value, date: date);
}); });