|
|
|
|
@@ -89,7 +89,7 @@ class _StatisticsViewState extends State<StatisticsView> {
|
|
|
|
|
),
|
|
|
|
|
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<StatisticsView> {
|
|
|
|
|
itemCount: 10,
|
|
|
|
|
barColor: Colors.green,
|
|
|
|
|
),
|
|
|
|
|
|
|
|
|
|
SizedBox(height: MediaQuery.paddingOf(context).bottom),
|
|
|
|
|
],
|
|
|
|
|
),
|
|
|
|
|
@@ -129,6 +128,7 @@ class _StatisticsViewState extends State<StatisticsView> {
|
|
|
|
|
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<StatisticsView> {
|
|
|
|
|
// 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<StatisticsView> {
|
|
|
|
|
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<StatisticsView> {
|
|
|
|
|
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<StatisticsView> {
|
|
|
|
|
// 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));
|
|
|
|
|
}
|
|
|
|
|
|