diff --git a/.dart_tool/package_config.json b/.dart_tool/package_config.json index 551a3d9..039d79c 100644 --- a/.dart_tool/package_config.json +++ b/.dart_tool/package_config.json @@ -608,7 +608,7 @@ "languageVersion": "2.19" } ], - "generated": "2023-06-01T10:16:20.370625Z", + "generated": "2023-06-01T11:12:57.602326Z", "generator": "pub", "generatorVersion": "3.0.2" } diff --git a/.flutter-plugins-dependencies b/.flutter-plugins-dependencies index f75986b..2b7f1ca 100644 --- a/.flutter-plugins-dependencies +++ b/.flutter-plugins-dependencies @@ -1 +1 @@ -{"info":"This is a generated file; do not edit or check into version control.","plugins":{"ios":[{"name":"path_provider_foundation","path":"/Users/bogdan/.pub-cache/hosted/pub.dev/path_provider_foundation-2.2.2/","native_build":true,"dependencies":[]}],"android":[{"name":"path_provider_android","path":"/Users/bogdan/.pub-cache/hosted/pub.dev/path_provider_android-2.0.27/","native_build":true,"dependencies":[]}],"macos":[{"name":"path_provider_foundation","path":"/Users/bogdan/.pub-cache/hosted/pub.dev/path_provider_foundation-2.2.2/","native_build":true,"dependencies":[]}],"linux":[{"name":"path_provider_linux","path":"/Users/bogdan/.pub-cache/hosted/pub.dev/path_provider_linux-2.1.10/","native_build":false,"dependencies":[]}],"windows":[{"name":"path_provider_windows","path":"/Users/bogdan/.pub-cache/hosted/pub.dev/path_provider_windows-2.1.6/","native_build":false,"dependencies":[]}],"web":[]},"dependencyGraph":[{"name":"path_provider","dependencies":["path_provider_android","path_provider_foundation","path_provider_linux","path_provider_windows"]},{"name":"path_provider_android","dependencies":[]},{"name":"path_provider_foundation","dependencies":[]},{"name":"path_provider_linux","dependencies":[]},{"name":"path_provider_windows","dependencies":[]}],"date_created":"2023-05-31 22:57:37.224562","version":"3.7.9"} \ No newline at end of file +{"info":"This is a generated file; do not edit or check into version control.","plugins":{"ios":[{"name":"path_provider_foundation","path":"C:\\\\Users\\\\FUCHSLAU\\\\AppData\\\\Local\\\\Pub\\\\Cache\\\\hosted\\\\pub.dev\\\\path_provider_foundation-2.2.2\\\\","shared_darwin_source":true,"native_build":true,"dependencies":[]}],"android":[{"name":"path_provider_android","path":"C:\\\\Users\\\\FUCHSLAU\\\\AppData\\\\Local\\\\Pub\\\\Cache\\\\hosted\\\\pub.dev\\\\path_provider_android-2.0.27\\\\","native_build":true,"dependencies":[]}],"macos":[{"name":"path_provider_foundation","path":"C:\\\\Users\\\\FUCHSLAU\\\\AppData\\\\Local\\\\Pub\\\\Cache\\\\hosted\\\\pub.dev\\\\path_provider_foundation-2.2.2\\\\","shared_darwin_source":true,"native_build":true,"dependencies":[]}],"linux":[{"name":"path_provider_linux","path":"C:\\\\Users\\\\FUCHSLAU\\\\AppData\\\\Local\\\\Pub\\\\Cache\\\\hosted\\\\pub.dev\\\\path_provider_linux-2.1.10\\\\","native_build":false,"dependencies":[]}],"windows":[{"name":"path_provider_windows","path":"C:\\\\Users\\\\FUCHSLAU\\\\AppData\\\\Local\\\\Pub\\\\Cache\\\\hosted\\\\pub.dev\\\\path_provider_windows-2.1.6\\\\","native_build":false,"dependencies":[]}],"web":[]},"dependencyGraph":[{"name":"path_provider","dependencies":["path_provider_android","path_provider_foundation","path_provider_linux","path_provider_windows"]},{"name":"path_provider_android","dependencies":[]},{"name":"path_provider_foundation","dependencies":[]},{"name":"path_provider_linux","dependencies":[]},{"name":"path_provider_windows","dependencies":[]}],"date_created":"2023-06-01 13:16:00.226015","version":"3.10.2"} \ No newline at end of file diff --git a/lib/android/config/format_helper.dart b/lib/android/config/format_helper.dart index 18f5b2f..fc79dd8 100644 --- a/lib/android/config/format_helper.dart +++ b/lib/android/config/format_helper.dart @@ -7,7 +7,7 @@ String getFoodListStringByFood(String foodName, int count, int calories){ } String getWeeklyRankingString(String foodName){ - int maxWidth = 50; + int maxWidth = 45; String limitedText = foodName.length > maxWidth ? "${foodName.substring(0, maxWidth - 3)} ... " : foodName; return limitedText; } diff --git a/lib/android/config/statistics.dart b/lib/android/config/statistics.dart index 283de28..5790811 100644 --- a/lib/android/config/statistics.dart +++ b/lib/android/config/statistics.dart @@ -292,8 +292,7 @@ class StatisticsService { if(value > maxValue){ maxValue = value; } - - result[i][j] = (value * 175) ~/ 100; + result[i][j] = value; } } } @@ -313,8 +312,6 @@ class StatisticsService { color: Colors.green, toY: result[0][2].toDouble(), // Second segment color ),], - showingTooltipIndicators: [0], - groupVertically: true ), BarChartGroupData( x: 1, @@ -332,7 +329,6 @@ class StatisticsService { color: Colors.green, toY: result[1][2].toDouble(), // Second segment color ),], - showingTooltipIndicators: [0], ), BarChartGroupData( x: 2, @@ -349,7 +345,6 @@ class StatisticsService { color: Colors.green, toY: result[2][2].toDouble(), // Second segment color ),], - showingTooltipIndicators: [0], ), BarChartGroupData( x: 3, @@ -383,7 +378,6 @@ class StatisticsService { color: Colors.green, toY: result[4][2].toDouble(), // Second segment color ),], - showingTooltipIndicators: [0], ), BarChartGroupData( x: 5, @@ -399,7 +393,7 @@ class StatisticsService { width: 7.5, // Adjust the width of the bar if needed color: Colors.green, toY: result[5][2].toDouble(), // Second segment color - ),], showingTooltipIndicators: [0], + ),], ), BarChartGroupData( x: 6, diff --git a/lib/android/pages/nav_pages/progress_page.dart b/lib/android/pages/nav_pages/progress_page.dart index 89a673a..f2d5796 100644 --- a/lib/android/pages/nav_pages/progress_page.dart +++ b/lib/android/pages/nav_pages/progress_page.dart @@ -37,18 +37,15 @@ class ProgressPage extends StatelessWidget { return Container( height: 100, width: 400, - decoration: BoxDecoration( - border: Border.all(), - ), child: Column( crossAxisAlignment: CrossAxisAlignment.start, children: [ - const TitleComponent("Kalorien"), + const TitleComponent("Täglicher Durchschnitt (in kcal)"), const SizedBox( height: 10, ), const SecondaryTextComponent("Durchschnittlich"), - SecondaryBigTextComponent(value.toString()), + SecondaryBigTextComponent("${value.toString()} kcal/Tag"), ], ), ); @@ -58,24 +55,94 @@ class ProgressPage extends StatelessWidget { valueListenable: StatisticsService.instance.barChartData, builder: (context, value, child) { return SizedBox( - height: 205, + height: 325, child: Column( crossAxisAlignment: CrossAxisAlignment.start, children: [ SizedBox( - height: 200, - child: BarChart( - BarChartData( - barTouchData: barTouchData, - titlesData: titlesData, - borderData: borderData, - barGroups: value, - gridData: FlGridData(show: false), - alignment: BarChartAlignment.spaceAround, - maxY: 200, + height: 15, // Adjust the height of the legend as needed + child: Row( + mainAxisAlignment: MainAxisAlignment.center, + children: [ + Container( + margin: const EdgeInsets.symmetric(horizontal: 8.0), // Adjust the spacing between legend items + child: Row( + children: [ + Container( + width: 12, + height: 12, + decoration: const BoxDecoration( + color: Colors.red, // Use the color of the first bar rod for the legend item + shape: BoxShape.circle, + ), + ), + const SizedBox(width: 4.0), // Adjust the spacing between the color indicator and the legend label + const Text( + 'Frühstück', // Replace with your desired legend label + style: TextStyle(fontSize: 12), // Adjust the font size of the legend labels + ), + ], + ), + ), + Container( + margin: const EdgeInsets.symmetric(horizontal: 8.0), // Adjust the spacing between legend items + child: Row( + children: [ + Container( + width: 12, + height: 12, + decoration: const BoxDecoration( + color: Colors.green, // Use the color of the first bar rod for the legend item + shape: BoxShape.circle, + ), + ), + const SizedBox(width: 4.0), // Adjust the spacing between the color indicator and the legend label + const Text( + 'Mittagessen', // Replace with your desired legend label + style: TextStyle(fontSize: 12), // Adjust the font size of the legend labels + ), + ], + ), + ), + Container( + margin: const EdgeInsets.symmetric(horizontal: 8.0), // Adjust the spacing between legend items + child: Row( + children: [ + Container( + width: 12, + height: 12, + decoration: const BoxDecoration( + color: Colors.yellow, // Use the color of the first bar rod for the legend item + shape: BoxShape.circle, + ), + ), + const SizedBox(width: 4.0), // Adjust the spacing between the color indicator and the legend label + const Text( + 'Abendessen', // Replace with your desired legend label + style: TextStyle(fontSize: 12), // Adjust the font size of the legend labels + ), + ], + ), + ), + ], + ), + ), + Padding( + padding: const EdgeInsets.only(top:50.0), // Adjust the margin value as needed + child: SizedBox( + height: 250, + child: BarChart( + BarChartData( + barTouchData: barTouchData, + titlesData: titlesData, + borderData: borderData, + barGroups: value, + gridData: FlGridData(show: false), + alignment: BarChartAlignment.spaceAround, + ), ), ), - ) + ), ], ), ); @@ -124,7 +191,7 @@ class ProgressPage extends StatelessWidget { return BarTooltipItem( rod.toY.round().toString(), const TextStyle( - color: Colors.orange, + color: Colors.transparent, fontWeight: FontWeight.bold, ), ); @@ -134,7 +201,7 @@ class ProgressPage extends StatelessWidget { Widget getTitles(double value, TitleMeta meta) { const style = TextStyle( - color: Colors.red, + color: Colors.orange, fontWeight: FontWeight.bold, fontSize: 14, ); @@ -181,20 +248,48 @@ class ProgressPage extends StatelessWidget { getTitlesWidget: getTitles, ), ), - leftTitles: AxisTitles( - sideTitles: SideTitles(showTitles: false), - ), topTitles: AxisTitles( sideTitles: SideTitles(showTitles: false), ), rightTitles: AxisTitles( - sideTitles: SideTitles(showTitles: false), + sideTitles: SideTitles( + showTitles: false, + ), ), + leftTitles: AxisTitles( + sideTitles: SideTitles( + showTitles: true, + getTitlesWidget: (value, _) { + // Return a custom widget for each axis value + return Container( + constraints: BoxConstraints.tightFor(width: double.infinity), + child: Padding( + padding: const EdgeInsets.only(right: 3.0), // Adjust the margin value as needed + child: FittedBox( + fit: BoxFit.scaleDown, + alignment: Alignment.centerLeft, + child: Text( + value.toInt().toString(), + style: const TextStyle( + color: Colors.orange, + fontWeight: FontWeight.bold, + ), + ), + ), + ), + ); + }, + ), + ) ); FlBorderData get borderData => FlBorderData( - show: false, - ); - + show: true, // Set to true to display the chart border + border: const Border( + bottom: BorderSide(color: Colors.black, width: 1), + left: BorderSide(color: Colors.black, width: 1),// Hide the left border + ), + ); + } diff --git a/lib/main.dart b/lib/main.dart index d23209e..2ec1e7f 100644 --- a/lib/main.dart +++ b/lib/main.dart @@ -27,7 +27,7 @@ void main() async { await Hive.openBox(dotenv.env['STATISTICS_MAIN_BOX'] ?? 'STATISTICS_MAIN_BOX'); await Hive.openBox(dotenv.env['MEALPLAN_BOX'] ?? 'MEALPLAN'); await Hive.openBox('USER_BOX'); - + //Hive.deleteFromDisk(); setupTodayBox(); if (defaultTargetPlatform == TargetPlatform.android) {