Refactor padding and add const constructors for improved performance and consistency in chart widgets

This commit is contained in:
Faris Armoush
2025-05-04 11:20:47 +03:00
parent f55fa25bdf
commit a657a9a25e
5 changed files with 12 additions and 12 deletions

View File

@ -22,7 +22,7 @@ abstract final class EnergyManagementChartsHelper {
getTitlesWidget: (value, meta) => Padding( getTitlesWidget: (value, meta) => Padding(
padding: const EdgeInsetsDirectional.only(top: 20.0), padding: const EdgeInsetsDirectional.only(top: 20.0),
child: Text( child: Text(
value.getMonthName, (value + 1).getMonthName,
style: context.textTheme.bodySmall?.copyWith( style: context.textTheme.bodySmall?.copyWith(
color: ColorsManager.greyColor, color: ColorsManager.greyColor,
fontSize: 12, fontSize: 12,
@ -66,7 +66,7 @@ abstract final class EnergyManagementChartsHelper {
static List<LineTooltipItem?> getTooltipItems(List<LineBarSpot> touchedSpots) { static List<LineTooltipItem?> getTooltipItems(List<LineBarSpot> touchedSpots) {
return touchedSpots.map((spot) { return touchedSpots.map((spot) {
return LineTooltipItem( return LineTooltipItem(
getToolTipLabel(spot.x, spot.y), getToolTipLabel(spot.x + 1, spot.y),
const TextStyle( const TextStyle(
color: ColorsManager.textPrimaryColor, color: ColorsManager.textPrimaryColor,
fontWeight: FontWeight.w600, fontWeight: FontWeight.w600,
@ -101,7 +101,7 @@ abstract final class EnergyManagementChartsHelper {
} }
static FlGridData gridData() { static FlGridData gridData() {
return FlGridData( return const FlGridData(
show: true, show: true,
drawVerticalLine: false, drawVerticalLine: false,
drawHorizontalLine: true, drawHorizontalLine: true,

View File

@ -11,7 +11,7 @@ class AnalyticsEnergyManagementView extends StatelessWidget {
@override @override
Widget build(BuildContext context) { Widget build(BuildContext context) {
return Padding( return Padding(
padding: const EdgeInsets.all(32), padding: const EdgeInsetsDirectional.all(32),
child: Row( child: Row(
spacing: 20, spacing: 20,
children: [ children: [
@ -30,7 +30,7 @@ class AnalyticsEnergyManagementView extends StatelessWidget {
decoration: subSectionContainerDecoration.copyWith( decoration: subSectionContainerDecoration.copyWith(
borderRadius: BorderRadius.circular(30), borderRadius: BorderRadius.circular(30),
), ),
padding: const EdgeInsets.all(32), padding: const EdgeInsetsDirectional.all(32),
child: const Column( child: const Column(
spacing: 10, spacing: 10,
children: [ children: [

View File

@ -20,7 +20,7 @@ class EnergyConsumptionPerDeviceDevicesList extends StatelessWidget {
Widget _buildDeviceCell(int index) { Widget _buildDeviceCell(int index) {
return Container( return Container(
padding: EdgeInsetsDirectional.symmetric( padding: const EdgeInsetsDirectional.symmetric(
vertical: 8, vertical: 8,
horizontal: 12, horizontal: 12,
), ),
@ -34,14 +34,14 @@ class EnergyConsumptionPerDeviceDevicesList extends StatelessWidget {
child: Row( child: Row(
spacing: 6, spacing: 6,
children: [ children: [
CircleAvatar( const CircleAvatar(
radius: 4, radius: 4,
backgroundColor: Colors.purple, backgroundColor: Colors.purple,
), ),
Text( Text(
'Device ${index + 1}', 'Device ${index + 1}',
textAlign: TextAlign.center, textAlign: TextAlign.center,
style: TextStyle( style: const TextStyle(
color: ColorsManager.blackColor, color: ColorsManager.blackColor,
fontWeight: FontWeight.w400, fontWeight: FontWeight.w400,
fontSize: 14, fontSize: 14,

View File

@ -52,7 +52,7 @@ class TotalEnergyConsumptionChart extends StatelessWidget {
) )
.toList(), .toList(),
color: ColorsManager.blueColor.withValues(alpha: 0.6), color: ColorsManager.blueColor.withValues(alpha: 0.6),
shadow: Shadow(color: Colors.black12), shadow: const Shadow(color: Colors.black12),
show: true, show: true,
isCurved: true, isCurved: true,
belowBarData: BarAreaData( belowBarData: BarAreaData(
@ -68,7 +68,7 @@ class TotalEnergyConsumptionChart extends StatelessWidget {
end: Alignment.bottomCenter, end: Alignment.bottomCenter,
), ),
), ),
dotData: FlDotData(show: false), dotData: const FlDotData(show: false),
isStrokeCapRound: true, isStrokeCapRound: true,
barWidth: 3, barWidth: 3,
), ),

View File

@ -41,8 +41,8 @@ class _TotalEnergyConsumptionChartBoxState
spacing: 20, spacing: 20,
crossAxisAlignment: CrossAxisAlignment.start, crossAxisAlignment: CrossAxisAlignment.start,
children: [ children: [
ChartTitle(title: Text('Total Energy Consumption')), const ChartTitle(title: Text('Total Energy Consumption')),
Divider(), const Divider(),
TotalEnergyConsumptionChart(chartData: state.chartData), TotalEnergyConsumptionChart(chartData: state.chartData),
], ],
), ),