import 'package:fl_chart/fl_chart.dart'; import 'package:flutter/material.dart'; import '../../../core/constants/colors.dart'; class EngagementChart extends StatelessWidget { const EngagementChart({super.key}); @override Widget build(BuildContext context) { return LineChart( LineChartData( gridData: const FlGridData(show: false), titlesData: FlTitlesData( bottomTitles: AxisTitles( sideTitles: SideTitles( showTitles: true, getTitlesWidget: (value, meta) { const style = TextStyle( color: Color(0xff68737d), fontWeight: FontWeight.bold, fontSize: 10, ); String text; switch (value.toInt()) { case 0: text = 'Mon'; break; case 3: text = 'Thu'; break; case 6: text = 'Sun'; break; default: return Container(); } return SideTitleWidget( axisSide: meta.axisSide, space: 8.0, child: Text(text, style: style), ); }, reservedSize: 22, ), ), leftTitles: const AxisTitles( sideTitles: SideTitles(showTitles: false), ), topTitles: const AxisTitles( sideTitles: SideTitles(showTitles: false), ), rightTitles: const AxisTitles( sideTitles: SideTitles(showTitles: false), ), ), borderData: FlBorderData(show: false), minX: 0, maxX: 6, minY: 0, maxY: 6, lineBarsData: [ LineChartBarData( spots: const [ FlSpot(0, 3), FlSpot(1, 1), FlSpot(2, 4), FlSpot(3, 2), FlSpot(4, 5), FlSpot(5, 3), FlSpot(6, 4), ], isCurved: true, color: AppColors.primary, barWidth: 3, isStrokeCapRound: true, dotData: const FlDotData(show: false), belowBarData: BarAreaData( show: true, color: AppColors.primary.withOpacity(0.1), ), ), LineChartBarData( spots: const [ FlSpot(0, 2), FlSpot(1, 3), FlSpot(2, 2.5), FlSpot(3, 4), FlSpot(4, 3.2), FlSpot(5, 5), FlSpot(6, 4.5), ], isCurved: true, color: AppColors.secondary, barWidth: 3, isStrokeCapRound: true, dotData: const FlDotData(show: false), belowBarData: BarAreaData( show: true, color: AppColors.secondary.withOpacity(0.1), ), ), ], ), ); } }