mirror of
https://github.com/SyncrowIOT/web.git
synced 2025-07-10 07:07:19 +00:00
Add EnergyDataModel and update TotalEnergyConsumptionChart to use it
This commit is contained in:
@ -1,7 +1,7 @@
|
||||
import 'package:equatable/equatable.dart';
|
||||
|
||||
class EnergyData extends Equatable {
|
||||
const EnergyData({
|
||||
class EnergyDataModel extends Equatable {
|
||||
const EnergyDataModel({
|
||||
required this.date,
|
||||
required this.value,
|
||||
});
|
@ -2,30 +2,25 @@ import 'package:fl_chart/fl_chart.dart';
|
||||
import 'package:flutter/material.dart';
|
||||
import 'package:syncrow_web/pages/analytics/helpers/format_number_to_kwh.dart';
|
||||
import 'package:syncrow_web/pages/analytics/helpers/get_month_name_from_int.dart';
|
||||
import 'package:syncrow_web/pages/analytics/models/energy_data_model.dart';
|
||||
import 'package:syncrow_web/utils/color_manager.dart';
|
||||
import 'package:syncrow_web/utils/extension/build_context_x.dart';
|
||||
|
||||
const _chartData = [
|
||||
EnergyData('JAN', 18000),
|
||||
EnergyData('FEB', 25000),
|
||||
EnergyData('MAR', 22000),
|
||||
EnergyData('APR', 21000),
|
||||
EnergyData('MAY', 30000),
|
||||
EnergyData('JUN', 23000),
|
||||
EnergyData('JUL', 21000),
|
||||
EnergyData('AUG', 25000),
|
||||
EnergyData('SEP', 21100),
|
||||
EnergyData('OCT', 22000),
|
||||
EnergyData('NOV', 21000),
|
||||
EnergyData('DEC', 27500),
|
||||
final _chartData = [
|
||||
EnergyDataModel(date: DateTime(2025, 1), value: 18000),
|
||||
EnergyDataModel(date: DateTime(2025, 2), value: 25000),
|
||||
EnergyDataModel(date: DateTime(2025, 3), value: 22000),
|
||||
EnergyDataModel(date: DateTime(2025, 4), value: 21000),
|
||||
EnergyDataModel(date: DateTime(2025, 5), value: 30000),
|
||||
EnergyDataModel(date: DateTime(2025, 6), value: 23000),
|
||||
EnergyDataModel(date: DateTime(2025, 7), value: 21000),
|
||||
EnergyDataModel(date: DateTime(2025, 8), value: 25000),
|
||||
EnergyDataModel(date: DateTime(2025, 9), value: 21100),
|
||||
EnergyDataModel(date: DateTime(2025, 10), value: 22000),
|
||||
EnergyDataModel(date: DateTime(2025, 11), value: 21000),
|
||||
EnergyDataModel(date: DateTime(2025, 12), value: 27500),
|
||||
];
|
||||
|
||||
class EnergyData {
|
||||
const EnergyData(this.time, this.consumption);
|
||||
final String time;
|
||||
final double consumption;
|
||||
}
|
||||
|
||||
// energy_consumption_chart will return id, name and consumption
|
||||
const phasesJson = {
|
||||
"1": {
|
||||
@ -84,7 +79,7 @@ class TotalEnergyConsumptionChart extends StatelessWidget {
|
||||
.map(
|
||||
(entry) => FlSpot(
|
||||
entry.key.toDouble(),
|
||||
entry.value.consumption,
|
||||
entry.value.value,
|
||||
),
|
||||
)
|
||||
.toList(),
|
||||
@ -127,7 +122,7 @@ class TotalEnergyConsumptionChart extends StatelessWidget {
|
||||
child: FittedBox(
|
||||
fit: BoxFit.scaleDown,
|
||||
child: Text(
|
||||
_chartData[value.toInt()].time,
|
||||
_chartData[value.toInt()].date.month.getMonthName,
|
||||
style: context.textTheme.bodySmall?.copyWith(
|
||||
fontSize: 12,
|
||||
color: ColorsManager.greyColor,
|
||||
|
Reference in New Issue
Block a user