Moved EnergyConsumptionPerDeviceDevicesList to its own file.

This commit is contained in:
Faris Armoush
2025-05-04 10:55:43 +03:00
parent d8faafd1c0
commit 9c250986b2
2 changed files with 54 additions and 55 deletions

View File

@ -1,6 +1,6 @@
import 'package:flutter/material.dart';
import 'package:syncrow_web/pages/analytics/modules/energy_management/widgets/energy_consumption_per_device_chart.dart';
import 'package:syncrow_web/utils/color_manager.dart';
import 'package:syncrow_web/pages/analytics/modules/energy_management/widgets/energy_consumption_per_device_devices_list.dart';
import 'package:syncrow_web/utils/style.dart';
class EnergyConsumptionPerDeviceChartBox extends StatelessWidget {
@ -28,10 +28,7 @@ class EnergyConsumptionPerDeviceChartBox extends StatelessWidget {
),
),
Spacer(),
Expanded(
flex: 2,
child: EnergyConsumptionPerDeviceDevicesList(),
),
Expanded(flex: 2, child: EnergyConsumptionPerDeviceDevicesList()),
],
),
Divider(height: 0),
@ -41,53 +38,3 @@ class EnergyConsumptionPerDeviceChartBox extends StatelessWidget {
);
}
}
class EnergyConsumptionPerDeviceDevicesList extends StatelessWidget {
const EnergyConsumptionPerDeviceDevicesList({super.key});
@override
Widget build(BuildContext context) {
return SingleChildScrollView(
scrollDirection: Axis.horizontal,
child: Row(
spacing: 16,
mainAxisSize: MainAxisSize.min,
crossAxisAlignment: CrossAxisAlignment.end,
mainAxisAlignment: MainAxisAlignment.end,
children: List.generate(
20,
(index) => _buildDeviceCell(index),
).toList(),
),
);
}
Widget _buildDeviceCell(int index) {
return Container(
padding: EdgeInsetsDirectional.symmetric(
vertical: 8,
horizontal: 12,
),
decoration: BoxDecoration(
borderRadius: BorderRadiusDirectional.circular(8),
border: Border.all(
color: ColorsManager.greyColor,
width: 1,
),
),
child: Row(
spacing: 6,
children: [
CircleAvatar(
radius: 4,
backgroundColor: Colors.purple,
),
Text(
'Device ${index + 1}',
textAlign: TextAlign.center,
),
],
),
);
}
}

View File

@ -0,0 +1,52 @@
import 'package:flutter/material.dart';
import 'package:syncrow_web/utils/color_manager.dart';
class EnergyConsumptionPerDeviceDevicesList extends StatelessWidget {
const EnergyConsumptionPerDeviceDevicesList({super.key});
@override
Widget build(BuildContext context) {
return SingleChildScrollView(
scrollDirection: Axis.horizontal,
child: Row(
spacing: 16,
mainAxisSize: MainAxisSize.min,
crossAxisAlignment: CrossAxisAlignment.end,
mainAxisAlignment: MainAxisAlignment.end,
children: List.generate(
20,
(index) => _buildDeviceCell(index),
).toList(),
),
);
}
Widget _buildDeviceCell(int index) {
return Container(
padding: EdgeInsetsDirectional.symmetric(
vertical: 8,
horizontal: 12,
),
decoration: BoxDecoration(
borderRadius: BorderRadiusDirectional.circular(8),
border: Border.all(
color: ColorsManager.greyColor,
width: 1,
),
),
child: Row(
spacing: 6,
children: [
CircleAvatar(
radius: 4,
backgroundColor: Colors.purple,
),
Text(
'Device ${index + 1}',
textAlign: TextAlign.center,
),
],
),
);
}
}