import 'package:flutter/material.dart'; import '../../../../helper/format_helper.dart'; import '../../../../services/statistics.dart'; import 'sub_components/chart.dart'; import '../../../shared_components/secondary_text.dart'; import '../../../shared_components/title.dart'; class StatisticsPage extends StatelessWidget { final String title; final Color backgroundColor = const Color(0xff47a44b); const StatisticsPage({Key? key, required this.title}) : super(key: key); String get getTitle => title; @override String toString({DiagnosticLevel minLevel = DiagnosticLevel.info}) { return getTitle; } @override Widget build(BuildContext context) { return Scaffold( body: SingleChildScrollView( child: Column( children: [ const ChartComponent(), Container( margin: const EdgeInsets.fromLTRB(0, 16, 0, 0), decoration: const BoxDecoration( color: Colors.white, borderRadius: BorderRadius.all(Radius.circular(8))), child: Padding( padding: const EdgeInsets.symmetric(vertical: 8, horizontal: 16), child: ValueListenableBuilder( valueListenable: DataService.instance.weeklyCaloryRanking, builder: (context, value, child) { return Column( children: [ const TitleComponent( "Lebensmittel mit dem höchsten Kaloriengehalt"), const SizedBox( height: 5, ), for (var item in value) Row( mainAxisAlignment: MainAxisAlignment.spaceBetween, children: [ SecondaryTextComponent( getWeeklyRankingString(item.name,context), value.indexOf(item)+1 ), SecondaryTextComponent( item.calories.toString(), null ), ], ), ], ); }, ), )) ], ), ), ); } }