diff --git a/lib/presentation/views/main_menu/statistics_view.dart b/lib/presentation/views/main_menu/statistics_view.dart index 13e9aae..02eab46 100644 --- a/lib/presentation/views/main_menu/statistics_view.dart +++ b/lib/presentation/views/main_menu/statistics_view.dart @@ -89,7 +89,7 @@ class _StatisticsViewState extends State { ), SizedBox(height: constraints.maxHeight * 0.02), StatisticsTile( - icon: Icons.casino, + icon: Icons.percent, title: 'Winrate per Player', width: constraints.maxWidth * 0.95, values: winRates, @@ -105,7 +105,6 @@ class _StatisticsViewState extends State { itemCount: 10, barColor: Colors.green, ), - SizedBox(height: MediaQuery.paddingOf(context).bottom), ], ), @@ -129,6 +128,7 @@ class _StatisticsViewState extends State { final winner = game.winner; if (winner != null) { final index = winCounts.indexWhere((entry) => entry.$1 == winner.id); + // -1 means winner not found in winCounts if (index != -1) { final current = winCounts[index].$2; winCounts[index] = (winner.id, current + 1); @@ -141,6 +141,7 @@ class _StatisticsViewState extends State { // Adding all players with zero wins for (var player in players) { final index = winCounts.indexWhere((entry) => entry.$1 == player.id); + // -1 means player not found in winCounts if (index == -1) { winCounts.add((player.id, 0)); } @@ -175,6 +176,7 @@ class _StatisticsViewState extends State { final members = game.group!.members.map((p) => p.id).toList(); for (var playerId in members) { final index = gameCounts.indexWhere((entry) => entry.$1 == playerId); + // -1 means player not found in gameCounts if (index != -1) { final current = gameCounts[index].$2; gameCounts[index] = (playerId, current + 1); @@ -187,6 +189,7 @@ class _StatisticsViewState extends State { final members = game.players!.map((p) => p.id).toList(); for (var playerId in members) { final index = gameCounts.indexWhere((entry) => entry.$1 == playerId); + // -1 means player not found in gameCounts if (index != -1) { final current = gameCounts[index].$2; gameCounts[index] = (playerId, current + 1); @@ -200,6 +203,7 @@ class _StatisticsViewState extends State { // Adding all players with zero games for (var player in players) { final index = gameCounts.indexWhere((entry) => entry.$1 == player.id); + // -1 means player not found in gameCounts if (index == -1) { gameCounts.add((player.id, 0)); } diff --git a/lib/presentation/widgets/tiles/statistics_tile.dart b/lib/presentation/widgets/tiles/statistics_tile.dart index 279c492..3692167 100644 --- a/lib/presentation/widgets/tiles/statistics_tile.dart +++ b/lib/presentation/widgets/tiles/statistics_tile.dart @@ -80,7 +80,9 @@ class StatisticsTile extends StatelessWidget { const Spacer(), Center( child: Text( - values[index].$2.toString(), + values[index].$2 <= 1 + ? values[index].$2.toStringAsFixed(2) + : values[index].$2.toString(), textAlign: TextAlign.center, style: const TextStyle( fontSize: 16,